aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/NewGVN/pr31594.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/NewGVN/pr31594.ll')
-rw-r--r--test/Transforms/NewGVN/pr31594.ll9
1 files changed, 6 insertions, 3 deletions
diff --git a/test/Transforms/NewGVN/pr31594.ll b/test/Transforms/NewGVN/pr31594.ll
index 0cdac1a7fff4..8ef8aa66df1f 100644
--- a/test/Transforms/NewGVN/pr31594.ll
+++ b/test/Transforms/NewGVN/pr31594.ll
@@ -3,7 +3,7 @@
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
-define void @patatino(i8* %blah, i32 %choice) {
+define i1 @patatino(i8* %blah, i32 %choice) {
; CHECK-LABEL: @patatino(
; CHECK-NEXT: entry:
; CHECK-NEXT: br label [[WHILE_COND:%.*]]
@@ -19,8 +19,10 @@ define void @patatino(i8* %blah, i32 %choice) {
; CHECK-NEXT: br label [[WHILE_COND]]
; CHECK: while.end:
; CHECK-NEXT: store i8 0, i8* [[FOO]], align 1
+; CHECK-NEXT: [[TMP0:%.*]] = load i8, i8* [[BLAH]], align 1
+; CHECK-NEXT: [[LOADED:%.*]] = icmp eq i8 [[TMP0]], 0
; CHECK-NEXT: store i8 0, i8* [[BLAH]], align 1
-; CHECK-NEXT: ret void
+; CHECK-NEXT: ret i1 [[LOADED]]
;
entry:
br label %while.cond
@@ -48,7 +50,7 @@ while.end:
%0 = load i8, i8* %blah, align 1
%loaded = icmp eq i8 %0, 0
store i8 0, i8* %blah, align 1
- ret void
+ ret i1 %loaded
}
@@ -75,6 +77,7 @@ define void @foo(i8* %arg) {
; CHECK-NEXT: i8 6, label [[BB8:%.*]]
; CHECK-NEXT: ]
; CHECK: bb8:
+; CHECK-NEXT: store i8 undef, i8* null
; CHECK-NEXT: br label [[BB4]]
; CHECK: bb9:
; CHECK-NEXT: store i8 0, i8* [[ARG]], !g !0