Index: tests_lit/asan_tests/multiple_returns.ll |
diff --git a/tests_lit/asan_tests/multiple_returns.ll b/tests_lit/asan_tests/multiple_returns.ll |
index a49e26f5dae5a0df9367fd5313ebe7ab0c3e6ee3..ec5ed6ade27a236fb4bcab369fee95daab25515f 100644 |
--- a/tests_lit/asan_tests/multiple_returns.ll |
+++ b/tests_lit/asan_tests/multiple_returns.ll |
@@ -16,27 +16,38 @@ no: |
ret void |
} |
-; DUMP-LABEL: ================ Instrumented CFG ================ |
+; DUMP-LABEL:================ Instrumented CFG ================ |
; DUMP-NEXT: define internal void @ret_twice(i32 %condarg) { |
; DUMP-NEXT: __0: |
+; DUMP-NEXT: %__$rz0 = alloca i8, i32 32, align 8 |
; DUMP-NEXT: %local1 = alloca i8, i32 64, align 8 |
; DUMP-NEXT: %local2 = alloca i8, i32 64, align 8 |
-; DUMP-NEXT: %__$rz2 = alloca i8, i32 32, align 8 |
-; DUMP-NEXT: call void @__asan_poison(i32 %__$rz2, i32 32, i32 -1) |
-; DUMP-NEXT: %__$rz0 = add i32 %local1, 4 |
-; DUMP-NEXT: call void @__asan_poison(i32 %__$rz0, i32 60, i32 -1) |
-; DUMP-NEXT: %__$rz1 = add i32 %local2, 4 |
-; DUMP-NEXT: call void @__asan_poison(i32 %__$rz1, i32 60, i32 -1) |
+; DUMP-NEXT: %shadowIndex = lshr i32 %__$rz0, 3 |
+; DUMP-NEXT: %firstShadowLoc = add i32 %shadowIndex, 53687091 |
+; DUMP-NEXT: %__7 = add i32 %firstShadowLoc, 0 |
+; DUMP-NEXT: store i32 -1, i32* %__7, align 1 |
+; DUMP-NEXT: %__8 = add i32 %firstShadowLoc, 4 |
+; DUMP-NEXT: store i32 -252, i32* %__8, align 1 |
+; DUMP-NEXT: %__9 = add i32 %firstShadowLoc, 8 |
+; DUMP-NEXT: store i32 -1, i32* %__9, align 1 |
+; DUMP-NEXT: %__10 = add i32 %firstShadowLoc, 12 |
+; DUMP-NEXT: store i32 -252, i32* %__10, align 1 |
+; DUMP-NEXT: %__11 = add i32 %firstShadowLoc, 16 |
+; DUMP-NEXT: store i32 -1, i32* %__11, align 1 |
; DUMP-NEXT: %cond = icmp ne i32 %condarg, 0 |
; DUMP-NEXT: br i1 %cond, label %yes, label %no |
; DUMP-NEXT: yes: |
-; DUMP-NEXT: call void @__asan_unpoison(i32 %__$rz0, i32 60) |
-; DUMP-NEXT: call void @__asan_unpoison(i32 %__$rz1, i32 60) |
-; DUMP-NEXT: call void @__asan_unpoison(i32 %__$rz2, i32 32) |
+; DUMP-NEXT: store i32 0, i32* %__7, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__8, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__9, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__10, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__11, align 1 |
; DUMP-NEXT: ret void |
; DUMP-NEXT: no: |
-; DUMP-NEXT: call void @__asan_unpoison(i32 %__$rz0, i32 60) |
-; DUMP-NEXT: call void @__asan_unpoison(i32 %__$rz1, i32 60) |
-; DUMP-NEXT: call void @__asan_unpoison(i32 %__$rz2, i32 32) |
+; DUMP-NEXT: store i32 0, i32* %__7, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__8, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__9, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__10, align 1 |
+; DUMP-NEXT: store i32 0, i32* %__11, align 1 |
; DUMP-NEXT: ret void |
-; DUMP-NEXT: } |
+; DUMP-NEXT: } |