diff options
-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 0000000000..d5f5077994 --- /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: as < %s | opt -simplifycfg | dis + +void "test"() { + br bool true, label %end, label %Loop + +Loop: + %V = phi int [0, %0], [%V1, %Loop] + %V1 = add int %V, 1 + + br label %Loop +end: + ret void +} |