diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-06-19 04:56:29 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-06-19 04:56:29 +0000 |
commit | fb4605d9d5f3d6414cd312fc1fa40bf339d8b83e (patch) | |
tree | 810ee1aed2b80f25b3c097f7ebeddf7d9f0b3672 /test/Transforms/JumpThreading | |
parent | 378ea83369226a5742bd3a61fccc18167ff9f299 (diff) | |
download | external_llvm-fb4605d9d5f3d6414cd312fc1fa40bf339d8b83e.zip external_llvm-fb4605d9d5f3d6414cd312fc1fa40bf339d8b83e.tar.gz external_llvm-fb4605d9d5f3d6414cd312fc1fa40bf339d8b83e.tar.bz2 |
Teach jump threading to look at comparisons between phi nodes and non-constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73755 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/JumpThreading')
-rw-r--r-- | test/Transforms/JumpThreading/branch-no-const.ll | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/Transforms/JumpThreading/branch-no-const.ll b/test/Transforms/JumpThreading/branch-no-const.ll new file mode 100644 index 0000000..0ea2431 --- /dev/null +++ b/test/Transforms/JumpThreading/branch-no-const.ll @@ -0,0 +1,21 @@ +; RUN: llvm-as < %s | opt -jump-threading | llvm-dis | not grep phi + +declare i8 @mcguffin() + +define i32 @test(i1 %foo, i8 %b) { +entry: + %a = call i8 @mcguffin() + br i1 %foo, label %bb1, label %bb2 +bb1: + br label %jt +bb2: + br label %jt +jt: + %x = phi i8 [%a, %bb1], [%b, %bb2] + %A = icmp eq i8 %x, %a + br i1 %A, label %rt, label %rf +rt: + ret i32 7 +rf: + ret i32 8 +} |