forked from OSchip/llvm-project
[Sparc] LEON erratum fix - Delay Slot Filler modification.
This code should have been with the previous check-in (r270417) and prevents the DelaySlotFiller pass being utilized in functions where the erratum fix has been applied as this will break the run-time code. llvm-svn: 270418
This commit is contained in:
parent
4f7cac3674
commit
6bc3e13133
|
@ -273,6 +273,15 @@ bool Filler::delayHasHazard(MachineBasicBlock::iterator candidate,
|
|||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned Opcode = candidate->getOpcode();
|
||||
// LD and LDD may have NOPs inserted afterwards in the case of some LEON
|
||||
// processors, so we can't use the delay slot if this feature is switched-on.
|
||||
if (Subtarget->insertNOPLoad()
|
||||
&&
|
||||
Opcode >= SP::LDDArr && Opcode <= SP::LDrr)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue