summaryrefslogtreecommitdiff
path: root/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
commit020f4106f820648fd7e91956859844a80de13974 (patch)
treecdf6a36ab7bed9a0c468813406c2d3403997e886 /lib/Target/ARM/ARMBaseInstrInfo.h
parente90ac9bce9aa6de288568df9bf6133c08534ae2f (diff)
downloadllvm-020f4106f820648fd7e91956859844a80de13974.tar.gz
llvm-020f4106f820648fd7e91956859844a80de13974.tar.bz2
llvm-020f4106f820648fd7e91956859844a80de13974.tar.xz
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146583 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMBaseInstrInfo.h')
-rw-r--r--lib/Target/ARM/ARMBaseInstrInfo.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMBaseInstrInfo.h b/lib/Target/ARM/ARMBaseInstrInfo.h
index 4ce7461762..68e8208eed 100644
--- a/lib/Target/ARM/ARMBaseInstrInfo.h
+++ b/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;