summaryrefslogtreecommitdiffstats
path: root/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll')
-rw-r--r--test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll b/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll
new file mode 100644
index 0000000..c1e5f73
--- /dev/null
+++ b/test/Transforms/TailDup/2004-04-01-DemoteRegToStack.ll
@@ -0,0 +1,20 @@
+; RUN: opt < %s -tailduplicate -disable-output
+
+define void @interpret() {
+entry:
+ br label %retry
+retry: ; preds = %endif.4, %entry
+ %tmp.8 = call i32 @interp( ) ; <i32> [#uses=3]
+ switch i32 0, label %endif.4 [
+ i32 -25, label %return
+ i32 -16, label %return
+ ]
+endif.4: ; preds = %retry
+ br i1 false, label %return, label %retry
+return: ; preds = %endif.4, %retry, %retry
+ %result.0 = phi i32 [ %tmp.8, %retry ], [ %tmp.8, %retry ], [ %tmp.8, %endif.4 ] ; <i32> [#uses=0]
+ ret void
+}
+
+declare i32 @interp()
+