aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll b/test/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll
new file mode 100644
index 0000000000..0eb922d3b7
--- /dev/null
+++ b/test/Transforms/LICM/2003-02-27-NestedLoopExitBlocks.ll
@@ -0,0 +1,22 @@
+; Exit blocks need to be updated for all nested loops...
+
+; RUN: as < %s | opt -preheaders
+
+implementation ; Functions:
+
+int %yyparse() {
+bb0: ; No predecessors!
+ br bool false, label %UnifiedExitNode, label %bb19
+
+bb19: ; preds = %bb28, %bb0
+ br bool false, label %bb28, label %UnifiedExitNode
+
+bb28: ; preds = %bb32, %bb19
+ br bool false, label %bb32, label %bb19
+
+bb32: ; preds = %bb28
+ br bool false, label %UnifiedExitNode, label %bb28
+
+UnifiedExitNode: ; preds = %bb32, %bb19, %bb0
+ ret int 0
+}