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 | 9683f181746c2312c8828c79b6e25a07fb441d57 (patch) | |
tree | 810ee1aed2b80f25b3c097f7ebeddf7d9f0b3672 /test/Transforms | |
parent | aace4b1a2c6504c6451fdf7ab841de2afbdf0017 (diff) | |
download | external_llvm-9683f181746c2312c8828c79b6e25a07fb441d57.zip external_llvm-9683f181746c2312c8828c79b6e25a07fb441d57.tar.gz external_llvm-9683f181746c2312c8828c79b6e25a07fb441d57.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')
-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 +} |