diff options
author | Chris Lattner <sabre@nondot.org> | 2009-11-11 00:22:30 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-11-11 00:22:30 +0000 |
commit | 741c94c719981551486bb06a48d3c2c9158fa324 (patch) | |
tree | bdd3048d8c3922c0711362e13ee4050bea9013f3 /llvm/test/Transforms/JumpThreading/basic.ll | |
parent | 3a2ae908fe89355afef66aea67f0322a59eddc38 (diff) | |
download | bcm5719-llvm-741c94c719981551486bb06a48d3c2c9158fa324.tar.gz bcm5719-llvm-741c94c719981551486bb06a48d3c2c9158fa324.zip |
Stub out a new lazy value info pass, which will eventually
vend value constraint information to the optimizer.
llvm-svn: 86767
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/basic.ll')
-rw-r--r-- | llvm/test/Transforms/JumpThreading/basic.ll | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/llvm/test/Transforms/JumpThreading/basic.ll b/llvm/test/Transforms/JumpThreading/basic.ll index c161a772f2c..a2a97127546 100644 --- a/llvm/test/Transforms/JumpThreading/basic.ll +++ b/llvm/test/Transforms/JumpThreading/basic.ll @@ -284,3 +284,29 @@ F2: } + + +;;; Duplicate condition to avoid xor of cond. +define i32 @test10(i1 %cond, i1 %cond2) { +Entry: +; CHECK: @test10 + %v1 = call i32 @f1() + br i1 %cond, label %Merge, label %F1 + +F1: + br label %Merge + +Merge: + %B = phi i1 [true, %Entry], [%cond2, %F1] + %M = icmp eq i32 %v1, 192 + %N = xor i1 %B, %M + br i1 %N, label %T2, label %F2 + +T2: + ret i32 123 + +F2: + ret i32 %v1 +} + + |