mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-14 07:31:47 +00:00
Remove an errant outer loop that contains nothing but an inner loop over exactly the same elements. While no functionality is change intended (and hence there are no changes to tests), you don't want to skip this revision if bisecting for errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216864 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5581563457
commit
7ba4e0705e
@ -1,4 +1,4 @@
|
||||
//===- ScalarEvolution.cpp - Scalar Evolution Analysis ----------*- C++ -*-===//
|
||||
//===- ScalarEvolution.cpp - Scalar Evolution Analysis --------------------===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
@ -2061,11 +2061,6 @@ const SCEV *ScalarEvolution::getMulExpr(SmallVectorImpl<const SCEV *> &Ops,
|
||||
// Okay, if there weren't any loop invariants to be folded, check to see if
|
||||
// there are multiple AddRec's with the same loop induction variable being
|
||||
// multiplied together. If so, we can fold them.
|
||||
for (unsigned OtherIdx = Idx+1;
|
||||
OtherIdx < Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]);
|
||||
++OtherIdx) {
|
||||
if (AddRecLoop != cast<SCEVAddRecExpr>(Ops[OtherIdx])->getLoop())
|
||||
continue;
|
||||
|
||||
// {A1,+,A2,+,...,+,An}<L> * {B1,+,B2,+,...,+,Bn}<L>
|
||||
// = {x=1 in [ sum y=x..2x [ sum z=max(y-x, y-n)..min(x,n) [
|
||||
@ -2078,7 +2073,8 @@ const SCEV *ScalarEvolution::getMulExpr(SmallVectorImpl<const SCEV *> &Ops,
|
||||
// addrec's are of different length (mathematically, it's equivalent to
|
||||
// an infinite stream of zeros on the right).
|
||||
bool OpsModified = false;
|
||||
for (; OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]);
|
||||
for (unsigned OtherIdx = Idx+1;
|
||||
OtherIdx != Ops.size() && isa<SCEVAddRecExpr>(Ops[OtherIdx]);
|
||||
++OtherIdx) {
|
||||
const SCEVAddRecExpr *OtherAddRec =
|
||||
dyn_cast<SCEVAddRecExpr>(Ops[OtherIdx]);
|
||||
@ -2125,7 +2121,6 @@ const SCEV *ScalarEvolution::getMulExpr(SmallVectorImpl<const SCEV *> &Ops,
|
||||
}
|
||||
if (OpsModified)
|
||||
return getMulExpr(Ops);
|
||||
}
|
||||
|
||||
// Otherwise couldn't fold anything into this recurrence. Move onto the
|
||||
// next one.
|
||||
|
Loading…
Reference in New Issue
Block a user