mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Don't try to split a loop when the controlling icmp instruction
doesn't have an IV-based operand. This fixes PR4471. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74399 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -258,6 +258,9 @@ bool LoopIndexSplit::runOnLoop(Loop *IncomingLoop, LPPassManager &LPM_Ref) {
|
||||
IVExitValue = ExitCondition->getOperand(0);
|
||||
if (!L->isLoopInvariant(IVExitValue))
|
||||
return false;
|
||||
if (!IVBasedValues.count(
|
||||
ExitCondition->getOperand(IVExitValue == ExitCondition->getOperand(0))))
|
||||
return false;
|
||||
|
||||
// If start value is more then exit value where induction variable
|
||||
// increments by 1 then we are potentially dealing with an infinite loop.
|
||||
|
Reference in New Issue
Block a user