diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2011-12-19 20:06:03 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2011-12-19 20:06:03 +0000 |
commit | 5bb6826fdc7830ee3d6fb2c67285bbdee2679a1c (patch) | |
tree | c1b286b14e4e57da47d3403669df2650be02bf77 | |
parent | 9e1d369e3c6a122a5e5f0dc65f10cde655b6f928 (diff) | |
download | bcm5719-llvm-5bb6826fdc7830ee3d6fb2c67285bbdee2679a1c.tar.gz bcm5719-llvm-5bb6826fdc7830ee3d6fb2c67285bbdee2679a1c.zip |
Attempt to fix PR11607 by shuffling around which class defines which methods.
llvm-svn: 146897
-rw-r--r-- | llvm/include/llvm/Target/TargetInstrInfo.h | 9 | ||||
-rw-r--r-- | llvm/lib/CodeGen/TargetInstrInfoImpl.cpp | 10 |
2 files changed, 12 insertions, 7 deletions
diff --git a/llvm/include/llvm/Target/TargetInstrInfo.h b/llvm/include/llvm/Target/TargetInstrInfo.h index 84092297a62..fc7c51af857 100644 --- a/llvm/include/llvm/Target/TargetInstrInfo.h +++ b/llvm/include/llvm/Target/TargetInstrInfo.h @@ -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; diff --git a/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp b/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp index 7ed9455cdc7..018b5e5e319 100644 --- a/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp +++ b/llvm/lib/CodeGen/TargetInstrInfoImpl.cpp @@ -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; |