|
@@ -22,6 +22,10 @@ define i32 @sanitize_memory_callee(i32 %i) sanitize_memory {
|
|
|
ret i32 %i
|
|
|
}
|
|
|
|
|
|
+define i32 @sanitize_memtag_callee(i32 %i) sanitize_memtag {
|
|
|
+ ret i32 %i
|
|
|
+}
|
|
|
+
|
|
|
define i32 @safestack_callee(i32 %i) safestack {
|
|
|
ret i32 %i
|
|
|
}
|
|
@@ -50,6 +54,10 @@ define i32 @alwaysinline_sanitize_memory_callee(i32 %i) alwaysinline sanitize_me
|
|
|
ret i32 %i
|
|
|
}
|
|
|
|
|
|
+define i32 @alwaysinline_sanitize_memtag_callee(i32 %i) alwaysinline sanitize_memtag {
|
|
|
+ ret i32 %i
|
|
|
+}
|
|
|
+
|
|
|
define i32 @alwaysinline_safestack_callee(i32 %i) alwaysinline safestack {
|
|
|
ret i32 %i
|
|
|
}
|
|
@@ -104,6 +112,17 @@ define i32 @test_no_sanitize_thread(i32 %arg) {
|
|
|
; CHECK-NEXT: ret i32
|
|
|
}
|
|
|
|
|
|
+define i32 @test_no_sanitize_memtag(i32 %arg) {
|
|
|
+ %x1 = call i32 @noattr_callee(i32 %arg)
|
|
|
+ %x2 = call i32 @sanitize_memtag_callee(i32 %x1)
|
|
|
+ %x3 = call i32 @alwaysinline_callee(i32 %x2)
|
|
|
+ %x4 = call i32 @alwaysinline_sanitize_memtag_callee(i32 %x3)
|
|
|
+ ret i32 %x4
|
|
|
+; CHECK-LABEL: @test_no_sanitize_memtag(
|
|
|
+; CHECK-NEXT: @sanitize_memtag_callee
|
|
|
+; CHECK-NEXT: ret i32
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
; Check that:
|
|
|
; * noattr callee is not inlined into sanitize_(address|memory|thread) caller,
|
|
@@ -154,6 +173,17 @@ define i32 @test_sanitize_thread(i32 %arg) sanitize_thread {
|
|
|
; CHECK-NEXT: ret i32
|
|
|
}
|
|
|
|
|
|
+define i32 @test_sanitize_memtag(i32 %arg) sanitize_memtag {
|
|
|
+ %x1 = call i32 @noattr_callee(i32 %arg)
|
|
|
+ %x2 = call i32 @sanitize_memtag_callee(i32 %x1)
|
|
|
+ %x3 = call i32 @alwaysinline_callee(i32 %x2)
|
|
|
+ %x4 = call i32 @alwaysinline_sanitize_memtag_callee(i32 %x3)
|
|
|
+ ret i32 %x4
|
|
|
+; CHECK-LABEL: @test_sanitize_memtag(
|
|
|
+; CHECK-NEXT: @noattr_callee
|
|
|
+; CHECK-NEXT: ret i32
|
|
|
+}
|
|
|
+
|
|
|
define i32 @test_safestack(i32 %arg) safestack {
|
|
|
%x1 = call i32 @noattr_callee(i32 %arg)
|
|
|
%x2 = call i32 @safestack_callee(i32 %x1)
|