aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll
diff options
context:
space:
mode:
Diffstat (limited to 'test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll')
-rw-r--r--test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll b/test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll
new file mode 100644
index 000000000000..70445fb8f8c1
--- /dev/null
+++ b/test/Transforms/LoopSimplify/2003-04-25-AssertFail.ll
@@ -0,0 +1,20 @@
+; This testcase exposed a problem with the loop identification pass (LoopInfo).
+; Basically, it was incorrectly calculating the loop nesting information.
+;
+; RUN: llvm-as < %s | opt -loopsimplify
+
+define i32 @yylex() {
+ br label %loopentry.0
+loopentry.0: ; preds = %else.4, %0
+ br label %loopexit.2
+loopexit.2: ; preds = %else.4, %loopexit.2, %loopentry.0
+ br i1 false, label %loopexit.2, label %else.4
+yy_find_action: ; preds = %else.4
+ br label %else.4
+else.4: ; preds = %yy_find_action, %loopexit.2
+ switch i32 0, label %loopexit.2 [
+ i32 2, label %yy_find_action
+ i32 0, label %loopentry.0
+ ]
+}
+