summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2011-09-06 21:42:18 +0000
committerNick Lewycky <nicholas@mxc.ca>2011-09-06 21:42:18 +0000
commite0aa54bb98526b5732c59f7359c66e6cce1ff6f7 (patch)
tree6f1fc9e24c2bc5f68bd7215150f9a24d383ced6a /llvm/test/Analysis
parente0e9630e0776d4692aadda33b3d23bef470efa56 (diff)
downloadbcm5719-llvm-e0aa54bb98526b5732c59f7359c66e6cce1ff6f7.tar.gz
bcm5719-llvm-e0aa54bb98526b5732c59f7359c66e6cce1ff6f7.zip
This transform only handles two-operand AddRec's. Prevent it from trying to
handle anything more complex. Fixes PR10383 again! llvm-svn: 139186
Diffstat (limited to 'llvm/test/Analysis')
-rw-r--r--llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll21
1 files changed, 20 insertions, 1 deletions
diff --git a/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll b/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
index 2c4ef16d2e3..06f1b6fe33a 100644
--- a/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
+++ b/llvm/test/Analysis/ScalarEvolution/SolveQuadraticEquation.ll
@@ -35,7 +35,7 @@ return: ; preds = %bb5
; PR10383
-; This used to crash.
+; These next two used to crash.
define void @test2(i1 %cmp, i64 %n) {
entry:
@@ -61,3 +61,22 @@ end:
ret void
}
; CHECK: Determining loop execution counts for: @test2
+
+define i32 @test3() {
+if.then466:
+ br i1 undef, label %for.cond539.preheader, label %for.inc479
+
+for.inc479:
+ %a2.07 = phi i32 [ %add495, %for.inc479 ], [ 0, %if.then466 ]
+ %j.36 = phi i32 [ %inc497, %for.inc479 ], [ undef, %if.then466 ]
+ %mul484 = mul nsw i32 %j.36, %j.36
+ %mul491 = mul i32 %j.36, %j.36
+ %mul493 = mul i32 %mul491, %mul484
+ %add495 = add nsw i32 %mul493, %a2.07
+ %inc497 = add nsw i32 %j.36, 1
+ br i1 undef, label %for.cond539.preheader, label %for.inc479
+
+for.cond539.preheader:
+ unreachable
+}
+; CHECK: Determining loop execution counts for: @test3
OpenPOWER on IntegriCloud