diff options
Diffstat (limited to 'llvm/test/Instrumentation/AddressSanitizer/basic.ll')
| -rw-r--r-- | llvm/test/Instrumentation/AddressSanitizer/basic.ll | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/test/Instrumentation/AddressSanitizer/basic.ll b/llvm/test/Instrumentation/AddressSanitizer/basic.ll index e80cfeef12a..183cddcb5ca 100644 --- a/llvm/test/Instrumentation/AddressSanitizer/basic.ll +++ b/llvm/test/Instrumentation/AddressSanitizer/basic.ll @@ -20,6 +20,10 @@ define i32 @test_load(i32* %a) address_safety { ; to the end of the function. ; CHECK: %tmp1 = load i32* %a ; CHECK: ret i32 %tmp1 + +; The crash block reports the error. +; CHECK: call void @__asan_report_load4(i64 %[[LOAD_ADDR]]) noreturn +; CHECK: unreachable ; ; First instrumentation block refines the shadow test. ; CHECK: and i64 %[[LOAD_ADDR]], 7 @@ -28,9 +32,6 @@ define i32 @test_load(i32* %a) address_safety { ; CHECK: icmp sge i8 %{{.*}}, %[[LOAD_SHADOW]] ; CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}} ; -; Final instrumentation block reports the error. -; CHECK: call void @__asan_report_load4(i64 %[[LOAD_ADDR]]) noreturn -; CHECK: unreachable entry: %tmp1 = load i32* %a @@ -53,6 +54,10 @@ define void @test_store(i32* %a) address_safety { ; CHECK: store i32 42, i32* %a ; CHECK: ret void ; +; The crash block reports the error. +; CHECK: call void @__asan_report_store4(i64 %[[STORE_ADDR]]) noreturn +; CHECK: unreachable +; ; First instrumentation block refines the shadow test. ; CHECK: and i64 %[[STORE_ADDR]], 7 ; CHECK: add i64 %{{.*}}, 3 @@ -60,9 +65,6 @@ define void @test_store(i32* %a) address_safety { ; CHECK: icmp sge i8 %{{.*}}, %[[STORE_SHADOW]] ; CHECK: br i1 %{{.*}}, label %{{.*}}, label %{{.*}} ; -; Final instrumentation block reports the error. -; CHECK: call void @__asan_report_store4(i64 %[[STORE_ADDR]]) noreturn -; CHECK: unreachable entry: store i32 42, i32* %a |

