mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-21 23:17:16 +00:00
- Change MachineInstr::findRegisterDefOperandIdx so it can also look for defs
that are aliases of the specified register. - Rename modifiesRegister to definesRegister since it's looking a def of the specific register or one of its super-registers. It's not looking for def of a sub-register or alias that could change the specified register. - Added modifiesRegister to look for defs of aliases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104377 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -197,13 +197,13 @@ static bool isSchedulingBoundary(const MachineInstr *MI,
|
||||
if (MI->getDesc().isTerminator() || MI->isLabel())
|
||||
return true;
|
||||
|
||||
// Don't attempt to schedule around any instruction that modifies
|
||||
// Don't attempt to schedule around any instruction that defines
|
||||
// a stack-oriented pointer, as it's unlikely to be profitable. This
|
||||
// saves compile time, because it doesn't require every single
|
||||
// stack slot reference to depend on the instruction that does the
|
||||
// modification.
|
||||
const TargetLowering &TLI = *MF.getTarget().getTargetLowering();
|
||||
if (MI->modifiesRegister(TLI.getStackPointerRegisterToSaveRestore()))
|
||||
if (MI->definesRegister(TLI.getStackPointerRegisterToSaveRestore()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user