diff options
| author | Michael Zolotukhin <mzolotukhin@apple.com> | 2018-04-17 04:45:22 +0000 |
|---|---|---|
| committer | Michael Zolotukhin <mzolotukhin@apple.com> | 2018-04-17 04:45:22 +0000 |
| commit | 3f5fd1b1290277c6ff5c0e035b53e2b0f37a038b (patch) | |
| tree | 869d517ab53a95537dd0ab0f6279d6225f90664b /llvm/test/Transforms/JumpThreading/removed-use.ll | |
| parent | 2bdf2565a0da36ae802f18a6d87c270619b1f52d (diff) | |
| download | bcm5719-llvm-3f5fd1b1290277c6ff5c0e035b53e2b0f37a038b.tar.gz bcm5719-llvm-3f5fd1b1290277c6ff5c0e035b53e2b0f37a038b.zip | |
Reapply "[PR16756] Use SSAUpdaterBulk in JumpThreading." again.
One more, hopefully the last, bug is fixed: when forming UsesToRewrite
we should ignore phi operands coming from edges that we want to delete.
This reverts r329910.
llvm-svn: 330175
Diffstat (limited to 'llvm/test/Transforms/JumpThreading/removed-use.ll')
| -rw-r--r-- | llvm/test/Transforms/JumpThreading/removed-use.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/Transforms/JumpThreading/removed-use.ll b/llvm/test/Transforms/JumpThreading/removed-use.ll new file mode 100644 index 00000000000..d2c6836fc28 --- /dev/null +++ b/llvm/test/Transforms/JumpThreading/removed-use.ll @@ -0,0 +1,28 @@ +; RUN: opt -S < %s -jump-threading | FileCheck %s +; CHECK-LABEL: @foo +; CHECK: bb6: +; CHECK-NEXT: ret void +; CHECK: bb3: +; CHECK: br label %bb3 +define void @foo() { +entry: + br i1 true, label %bb6, label %bb3 + +bb3: + %x0 = phi i32 [ undef, %entry ], [ %x1, %bb5 ] + %y = and i64 undef, 1 + %p = icmp ne i64 %y, 0 + br i1 %p, label %bb4, label %bb5 + +bb4: + br label %bb5 + +bb5: + %x1 = phi i32 [ %x0, %bb3 ], [ %x0, %bb4 ] + %z = phi i32 [ 0, %bb3 ], [ 1, %bb4 ] + %q = icmp eq i32 %z, 0 + br i1 %q, label %bb3, label %bb6 + +bb6: + ret void +} |

