diff options
Diffstat (limited to 'test/Transforms/SCCP/apint-ipsccp1.ll')
-rw-r--r-- | test/Transforms/SCCP/apint-ipsccp1.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Transforms/SCCP/apint-ipsccp1.ll b/test/Transforms/SCCP/apint-ipsccp1.ll new file mode 100644 index 0000000..fda40f5 --- /dev/null +++ b/test/Transforms/SCCP/apint-ipsccp1.ll @@ -0,0 +1,24 @@ +; RUN: opt < %s -ipsccp -S | grep -v {ret i512 undef} | \ +; RUN: grep {ret i8 2} + +define internal i512 @test(i1 %B) { + br i1 %B, label %BB1, label %BB2 +BB1: + %Val = add i512 0, 1 + br label %BB3 +BB2: + br label %BB3 +BB3: + %Ret = phi i512 [%Val, %BB1], [2, %BB2] + ret i512 %Ret +} + +define i8 @caller() +{ + %t1 = and i2 2, 1 + %t11 = trunc i2 %t1 to i1 + %t2 = call i512 @test(i1 %t11) + %t3 = trunc i512 %t2 to i8 + ret i8 %t3 +} + |