Eliminate a redundant FoldingSet lookup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106872 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman
2010-06-25 18:47:08 +00:00
parent 57bb394803
commit 420ab9102c

View File

@ -845,9 +845,9 @@ const SCEV *ScalarEvolution::getTruncateExpr(const SCEV *Op,
return getAddRecExpr(Operands, AddRec->getLoop()); return getAddRecExpr(Operands, AddRec->getLoop());
} }
// The cast wasn't folded; create an explicit cast node. // The cast wasn't folded; create an explicit cast node. We can reuse
// Recompute the insert position, as it may have been invalidated. // the existing insert position since if we get here, we won't have
if (const SCEV *S = UniqueSCEVs.FindNodeOrInsertPos(ID, IP)) return S; // made any changes which would invalidate it.
SCEV *S = new (SCEVAllocator) SCEVTruncateExpr(ID.Intern(SCEVAllocator), SCEV *S = new (SCEVAllocator) SCEVTruncateExpr(ID.Intern(SCEVAllocator),
Op, Ty); Op, Ty);
UniqueSCEVs.InsertNode(S, IP); UniqueSCEVs.InsertNode(S, IP);