summaryrefslogtreecommitdiffstats
path: root/include/llvm/Target
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-09-17 22:18:58 +0000
committerAndrew Trick <atrick@apple.com>2012-09-17 22:18:58 +0000
commit021ba269b241e9394d652293d327813eb7766923 (patch)
treed2f66b09a225dd0630623c49214c21c0939d486f /include/llvm/Target
parentdb7afac4575168c239ac9c570cb7897808f12e30 (diff)
downloadexternal_llvm-021ba269b241e9394d652293d327813eb7766923.zip
external_llvm-021ba269b241e9394d652293d327813eb7766923.tar.gz
external_llvm-021ba269b241e9394d652293d327813eb7766923.tar.bz2
TableGen subtarget emitter. Generate resolveSchedClass generated hook for resolving instruction variants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164062 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r--include/llvm/Target/TargetSubtargetInfo.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetSubtargetInfo.h b/include/llvm/Target/TargetSubtargetInfo.h
index bc357ac..8fcefcb 100644
--- a/include/llvm/Target/TargetSubtargetInfo.h
+++ b/include/llvm/Target/TargetSubtargetInfo.h
@@ -53,6 +53,15 @@ public:
SchedModel.init(*getSchedModel(), this, TII);
}
+ /// Resolve a SchedClass at runtime, where SchedClass identifies an
+ /// MCSchedClassDesc with the isVariant property. This may return the ID of
+ /// another variant SchedClass, but repeated invocation must quickly terminate
+ /// in a nonvariant SchedClass.
+ virtual unsigned resolveSchedClass(unsigned SchedClass, const MachineInstr *MI,
+ const TargetSchedModel* SchedModel) const {
+ return 0;
+ }
+
/// getSpecialAddressLatency - For targets where it is beneficial to
/// backschedule instructions that compute addresses, return a value
/// indicating the number of scheduling cycles of backscheduling that