diff options
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/compare.ll')
-rw-r--r-- | llvm/test/Transforms/JumpThreading/compare.ll | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/llvm/test/Transforms/JumpThreading/compare.ll b/llvm/test/Transforms/JumpThreading/compare.ll new file mode 100644 index 00000000000..9b05b4496b0 --- /dev/null +++ b/llvm/test/Transforms/JumpThreading/compare.ll @@ -0,0 +1,30 @@ +; There should be no phi nodes left. +; RUN: opt < %s -jump-threading -S | not grep "phi i32" + +declare i32 @f1() +declare i32 @f2() +declare void @f3() + +define i32 @test(i1 %cond) { + br i1 %cond, label %T1, label %F1 + +T1: + %v1 = call i32 @f1() + br label %Merge + +F1: + %v2 = call i32 @f2() + br label %Merge + +Merge: + %B = phi i32 [%v1, %T1], [12, %F1] + %A = icmp ne i32 %B, 42 + br i1 %A, label %T2, label %F2 + +T2: + call void @f3() + ret i32 1 + +F2: + ret i32 0 +} |