forked from OSchip/llvm-project
Attempt to fix PR11607 by shuffling around which class defines which methods.
llvm-svn: 146897
This commit is contained in:
parent
9e1d369e3c
commit
5bb6826fdc
|
@ -646,7 +646,7 @@ public:
|
|||
|
||||
virtual int getOperandLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *DefNode, unsigned DefIdx,
|
||||
SDNode *UseNode, unsigned UseIdx) const;
|
||||
SDNode *UseNode, unsigned UseIdx) const = 0;
|
||||
|
||||
/// getOutputLatency - Compute and return the output dependency latency of a
|
||||
/// a given pair of defs which both target the same register. This is usually
|
||||
|
@ -665,7 +665,7 @@ public:
|
|||
unsigned *PredCost = 0) const;
|
||||
|
||||
virtual int getInstrLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *Node) const;
|
||||
SDNode *Node) const = 0;
|
||||
|
||||
/// isHighLatencyDef - Return true if this opcode has high latency to its
|
||||
/// result.
|
||||
|
@ -839,6 +839,11 @@ public:
|
|||
virtual bool isSchedulingBoundary(const MachineInstr *MI,
|
||||
const MachineBasicBlock *MBB,
|
||||
const MachineFunction &MF) const;
|
||||
virtual int getOperandLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *DefNode, unsigned DefIdx,
|
||||
SDNode *UseNode, unsigned UseIdx) const;
|
||||
virtual int getInstrLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *Node) const;
|
||||
|
||||
bool usePreRAHazardRecognizer() const;
|
||||
|
||||
|
|
|
@ -513,9 +513,9 @@ CreateTargetPostRAHazardRecognizer(const InstrItineraryData *II,
|
|||
}
|
||||
|
||||
int
|
||||
TargetInstrInfo::getOperandLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *DefNode, unsigned DefIdx,
|
||||
SDNode *UseNode, unsigned UseIdx) const {
|
||||
TargetInstrInfoImpl::getOperandLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *DefNode, unsigned DefIdx,
|
||||
SDNode *UseNode, unsigned UseIdx) const {
|
||||
if (!ItinData || ItinData->isEmpty())
|
||||
return -1;
|
||||
|
||||
|
@ -529,8 +529,8 @@ TargetInstrInfo::getOperandLatency(const InstrItineraryData *ItinData,
|
|||
return ItinData->getOperandLatency(DefClass, DefIdx, UseClass, UseIdx);
|
||||
}
|
||||
|
||||
int TargetInstrInfo::getInstrLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *N) const {
|
||||
int TargetInstrInfoImpl::getInstrLatency(const InstrItineraryData *ItinData,
|
||||
SDNode *N) const {
|
||||
if (!ItinData || ItinData->isEmpty())
|
||||
return 1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue