mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 18:06:49 +00:00
Fix ARMBaseInstrInfo::getInstrLatency for calls.
Calls always clobber CPSR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150831 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d9f0ff56a1
commit
8c3b87cf19
@ -2849,7 +2849,7 @@ int ARMBaseInstrInfo::getInstrLatency(const InstrItineraryData *ItinData,
|
||||
const MCInstrDesc &MCID = MI->getDesc();
|
||||
unsigned Class = MCID.getSchedClass();
|
||||
unsigned UOps = ItinData->Itineraries[Class].NumMicroOps;
|
||||
if (PredCost && MCID.hasImplicitDefOfPhysReg(ARM::CPSR))
|
||||
if (PredCost && (MCID.isCall() || MCID.hasImplicitDefOfPhysReg(ARM::CPSR)))
|
||||
// When predicated, CPSR is an additional source operand for CPSR updating
|
||||
// instructions, this apparently increases their latencies.
|
||||
*PredCost = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user