mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-13 10:32:06 +00:00
Remember that the induction variable is always a PHINode and
use getIncomingValueForBlock instead of LoopInfo::getCanonicalInductionVariableIncrement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108865 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
e8950977a5
commit
43ef3fbae1
@ -102,7 +102,7 @@ namespace {
|
||||
void RewriteNonIntegerIVs(Loop *L);
|
||||
|
||||
ICmpInst *LinearFunctionTestReplace(Loop *L, const SCEV *BackedgeTakenCount,
|
||||
Value *IndVar,
|
||||
PHINode *IndVar,
|
||||
BasicBlock *ExitingBlock,
|
||||
BranchInst *BI,
|
||||
SCEVExpander &Rewriter);
|
||||
@ -131,7 +131,7 @@ Pass *llvm::createIndVarSimplifyPass() {
|
||||
/// is actually a much broader range than just linear tests.
|
||||
ICmpInst *IndVarSimplify::LinearFunctionTestReplace(Loop *L,
|
||||
const SCEV *BackedgeTakenCount,
|
||||
Value *IndVar,
|
||||
PHINode *IndVar,
|
||||
BasicBlock *ExitingBlock,
|
||||
BranchInst *BI,
|
||||
SCEVExpander &Rewriter) {
|
||||
@ -181,7 +181,7 @@ ICmpInst *IndVarSimplify::LinearFunctionTestReplace(Loop *L,
|
||||
// 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 = L->getCanonicalInductionVariableIncrement();
|
||||
CmpIndVar = IndVar->getIncomingValueForBlock(ExitingBlock);
|
||||
} else {
|
||||
// We have to use the preincremented value...
|
||||
RHS = SE->getTruncateOrZeroExtend(BackedgeTakenCount,
|
||||
@ -534,7 +534,7 @@ bool IndVarSimplify::runOnLoop(Loop *L, LPPassManager &LPM) {
|
||||
|
||||
// Now that we know the largest of the induction variable expressions
|
||||
// in this loop, insert a canonical induction variable of the largest size.
|
||||
Value *IndVar = 0;
|
||||
PHINode *IndVar = 0;
|
||||
if (NeedCannIV) {
|
||||
// Check to see if the loop already has any canonical-looking induction
|
||||
// variables. If any are present and wider than the planned canonical
|
||||
|
Loading…
x
Reference in New Issue
Block a user