mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-16 14:31:59 +00:00
Minor rewrite per review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60442 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
546d7b5c4a
commit
fb10cd4901
@ -996,9 +996,14 @@ RemoveCommonExpressionsFromUseBases(std::vector<BasedUser> &Uses,
|
||||
|
||||
// Otherwise, remove all of the CSE's we found from each of the base values.
|
||||
for (unsigned i = 0; i != NumUses; ++i) {
|
||||
// For this purpose, consider only uses that are inside the loop.
|
||||
if (!L->contains(Uses[i].Inst->getParent()))
|
||||
// Uses outside the loop don't necessarily include the common base, but
|
||||
// the final IV value coming into those uses does. Instead of trying to
|
||||
// remove the pieces of the common base, which might not be there,
|
||||
// subtract off the base to compensate for this.
|
||||
if (!L->contains(Uses[i].Inst->getParent())) {
|
||||
Uses[i].Base = SE->getMinusSCEV(Uses[i].Base, Result);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Split the expression into subexprs.
|
||||
SeparateSubExprs(SubExprs, Uses[i].Base, SE);
|
||||
@ -1476,12 +1481,6 @@ void LoopStrengthReduce::StrengthReduceStridedIVUsers(const SCEVHandle &Stride,
|
||||
// Add BaseV to the PHI value if needed.
|
||||
RewriteExpr = SE->getAddExpr(RewriteExpr, SE->getUnknown(BaseV));
|
||||
|
||||
// If this reference is not in the loop and we have a Common base,
|
||||
// that has been added into the induction variable and must be
|
||||
// subtracted off here.
|
||||
if (HaveCommonExprs && !L->contains(User.Inst->getParent()))
|
||||
RewriteExpr = SE->getMinusSCEV(RewriteExpr, CommonExprs);
|
||||
|
||||
User.RewriteInstructionToUseNewBase(RewriteExpr, NewBasePt,
|
||||
Rewriter, L, this,
|
||||
DeadInsts);
|
||||
|
Loading…
x
Reference in New Issue
Block a user