aboutsummaryrefslogtreecommitdiffstats
path: root/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/LICM/2003-12-11-SinkingToPHI.ll')
-rw-r--r--test/Transforms/LICM/2003-12-11-SinkingToPHI.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll b/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll
new file mode 100644
index 0000000..67c3951
--- /dev/null
+++ b/test/Transforms/LICM/2003-12-11-SinkingToPHI.ll
@@ -0,0 +1,16 @@
+; RUN: opt < %s -licm | lli
+
+define i32 @main() {
+entry:
+ br label %Loop
+Loop: ; preds = %LoopCont, %entry
+ br i1 true, label %LoopCont, label %Out
+LoopCont: ; preds = %Loop
+ %X = add i32 1, 0 ; <i32> [#uses=1]
+ br i1 true, label %Out, label %Loop
+Out: ; preds = %LoopCont, %Loop
+ %V = phi i32 [ 2, %Loop ], [ %X, %LoopCont ] ; <i32> [#uses=1]
+ %V2 = sub i32 %V, 1 ; <i32> [#uses=1]
+ ret i32 %V2
+}
+