summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2011-12-14 20:00:08 +0000
committerEvan Cheng <evan.cheng@apple.com>2011-12-14 20:00:08 +0000
commitda103bf9ecfcdeb4292b2920c908a416a8b105b4 (patch)
tree6893e2dff2a6d73ca233197c24b623aa1a945d0d /llvm/lib/Target/ARM/ARMBaseInstrInfo.h
parent93237e4808f8779b71bccc727338312bb0ef9d50 (diff)
downloadbcm5719-llvm-da103bf9ecfcdeb4292b2920c908a416a8b105b4.tar.gz
bcm5719-llvm-da103bf9ecfcdeb4292b2920c908a416a8b105b4.zip
Model ARM predicated write as read-mod-write. e.g.
r0 = mov #0 r0 = moveq #1 Then the second instruction has an implicit data dependency on the first instruction. Sadly I have yet to come up with a small test case that demonstrate the post-ra scheduler taking advantage of this. llvm-svn: 146583
Diffstat (limited to 'llvm/lib/Target/ARM/ARMBaseInstrInfo.h')
-rw-r--r--llvm/lib/Target/ARM/ARMBaseInstrInfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseInstrInfo.h b/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
index 4ce74617629..68e8208eedd 100644
--- a/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
+++ b/llvm/lib/Target/ARM/ARMBaseInstrInfo.h
@@ -210,6 +210,10 @@ public:
SDNode *DefNode, unsigned DefIdx,
SDNode *UseNode, unsigned UseIdx) const;
+ virtual unsigned getOutputLatency(const InstrItineraryData *ItinData,
+ const MachineInstr *DefMI, unsigned DefIdx,
+ const MachineInstr *DepMI) const;
+
/// VFP/NEON execution domains.
std::pair<uint16_t, uint16_t>
getExecutionDomain(const MachineInstr *MI) const;
OpenPOWER on IntegriCloud