aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll b/test/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll
new file mode 100644
index 0000000000..45648645b1
--- /dev/null
+++ b/test/Transforms/LoopSimplify/2004-04-01-IncorrectDomUpdate.ll
@@ -0,0 +1,24 @@
+; RUN: llvm-as < %s | opt -loopsimplify -licm -disable-output
+
+; This is PR306
+
+void %NormalizeCoeffsVecFFE() {
+entry:
+ br label %loopentry.0
+
+loopentry.0: ; preds = %entry, %no_exit.0
+ br bool false, label %loopentry.1, label %no_exit.0
+
+no_exit.0: ; preds = %loopentry.0
+ br bool false, label %loopentry.0, label %loopentry.1
+
+loopentry.1: ; preds = %loopentry.0, %no_exit.0, %no_exit.1
+ br bool false, label %no_exit.1, label %loopexit.1
+
+no_exit.1: ; preds = %loopentry.1
+ %tmp.43 = seteq ushort 0, 0 ; <bool> [#uses=1]
+ br bool %tmp.43, label %loopentry.1, label %loopexit.1
+
+loopexit.1: ; preds = %loopentry.1, %no_exit.1
+ ret void
+}