diff options
Diffstat (limited to 'test/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll')
-rw-r--r-- | test/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll b/test/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll new file mode 100644 index 0000000..055386b --- /dev/null +++ b/test/Transforms/SimplifyCFG/2002-05-21-PHIElimination.ll @@ -0,0 +1,19 @@ +; CFG Simplification is making a loop dead, then changing the add into: +; +; %V1 = add int %V1, 1 +; +; Which is not valid SSA +; +; RUN: opt < %s -simplifycfg | llvm-dis + +define void @test() { +; <label>:0 + br i1 true, label %end, label %Loop +Loop: ; preds = %Loop, %0 + %V = phi i32 [ 0, %0 ], [ %V1, %Loop ] ; <i32> [#uses=1] + %V1 = add i32 %V, 1 ; <i32> [#uses=1] + br label %Loop +end: ; preds = %0 + ret void +} + |