mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
[LFTR] Stylistic cleanup as suggested in last review comment of D62939 [NFC]
(Resumbit of r363292 which was reverted along w/an earlier patch) llvm-svn: 363877
This commit is contained in:
parent
495c7b3f90
commit
54a13158b2
@ -2388,12 +2388,15 @@ bool IndVarSimplify::
|
||||
linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB,
|
||||
const SCEV *ExitCount,
|
||||
PHINode *IndVar, SCEVExpander &Rewriter) {
|
||||
assert(L->getLoopLatch() && "Loop no longer in simplified form?");
|
||||
assert(isLoopCounter(IndVar, L, SE));
|
||||
Instruction * const IncVar =
|
||||
cast<Instruction>(IndVar->getIncomingValueForBlock(L->getLoopLatch()));
|
||||
|
||||
// Initialize CmpIndVar and IVCount to their preincremented values.
|
||||
Value *CmpIndVar = IndVar;
|
||||
const SCEV *IVCount = ExitCount;
|
||||
|
||||
assert(L->getLoopLatch() && "Loop no longer in simplified form?");
|
||||
|
||||
// If the exiting block is the same as the backedge block, we prefer to
|
||||
// compare against the post-incremented value, otherwise we must compare
|
||||
// against the preincremented value.
|
||||
@ -2404,14 +2407,12 @@ linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB,
|
||||
// to add a potentially UB introducing use. We need to either a) show
|
||||
// the loop test we're modifying is already in post-inc form, or b) show
|
||||
// that adding a use must not introduce UB.
|
||||
Instruction *Inc =
|
||||
cast<Instruction>(IndVar->getIncomingValueForBlock(L->getLoopLatch()));
|
||||
if (ICmpInst *LoopTest = getLoopTest(L, ExitingBB))
|
||||
SafeToPostInc = LoopTest->getOperand(0) == Inc ||
|
||||
LoopTest->getOperand(1) == Inc;
|
||||
SafeToPostInc = LoopTest->getOperand(0) == IncVar ||
|
||||
LoopTest->getOperand(1) == IncVar;
|
||||
if (!SafeToPostInc)
|
||||
SafeToPostInc =
|
||||
mustExecuteUBIfPoisonOnPathTo(Inc, ExitingBB->getTerminator(), DT);
|
||||
mustExecuteUBIfPoisonOnPathTo(IncVar, ExitingBB->getTerminator(), DT);
|
||||
}
|
||||
if (SafeToPostInc) {
|
||||
// Add one to the "backedge-taken" count to get the trip count.
|
||||
@ -2422,7 +2423,7 @@ linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB,
|
||||
// The BackedgeTaken expression contains the number of times that the
|
||||
// backedge branches to the loop header. This is one less than the
|
||||
// number of times the loop executes, so use the incremented indvar.
|
||||
CmpIndVar = IndVar->getIncomingValueForBlock(ExitingBB);
|
||||
CmpIndVar = IncVar;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2438,7 +2439,6 @@ linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB,
|
||||
// dynamically dead IV that wraps on the first loop iteration only, which is
|
||||
// not covered by the post-inc addrec. (If the new IV was not dynamically
|
||||
// dead, it could not be poison on the first iteration in the first place.)
|
||||
Value *IncVar = IndVar->getIncomingValueForBlock(L->getLoopLatch());
|
||||
if (auto *BO = dyn_cast<BinaryOperator>(IncVar)) {
|
||||
const SCEVAddRecExpr *AR = cast<SCEVAddRecExpr>(SE->getSCEV(IncVar));
|
||||
if (BO->hasNoUnsignedWrap())
|
||||
|
Loading…
Reference in New Issue
Block a user