diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2011-09-06 21:42:18 +0000 |
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2011-09-06 21:42:18 +0000 |
| commit | e0aa54bb98526b5732c59f7359c66e6cce1ff6f7 (patch) | |
| tree | 6f1fc9e24c2bc5f68bd7215150f9a24d383ced6a /llvm/test/Analysis | |
| parent | e0e9630e0776d4692aadda33b3d23bef470efa56 (diff) | |
| download | bcm5719-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.ll | 21 |
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 |

