aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/TargetInstrInfo.h
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2012-02-01 22:13:57 +0000
committerAndrew Trick <atrick@apple.com>2012-02-01 22:13:57 +0000
commitee498d3254b86bceb4f441741e9f442990647ce6 (patch)
treef2319c428f9e572162a0ca172a573da5ea39bcdf /include/llvm/Target/TargetInstrInfo.h
parentf18a9a2314542ad3b7a601b86969073519e19b0d (diff)
downloadexternal_llvm-ee498d3254b86bceb4f441741e9f442990647ce6.zip
external_llvm-ee498d3254b86bceb4f441741e9f442990647ce6.tar.gz
external_llvm-ee498d3254b86bceb4f441741e9f442990647ce6.tar.bz2
VLIW specific scheduler framework that utilizes deterministic finite automaton (DFA).
This new scheduler plugs into the existing selection DAG scheduling framework. It is a top-down critical path scheduler that tracks register pressure and uses a DFA for pipeline modeling. Patch by Sergei Larin! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149547 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/TargetInstrInfo.h')
-rw-r--r--include/llvm/Target/TargetInstrInfo.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h
index f41ee41..fb902d4 100644
--- a/include/llvm/Target/TargetInstrInfo.h
+++ b/include/llvm/Target/TargetInstrInfo.h
@@ -15,6 +15,7 @@
#define LLVM_TARGET_TARGETINSTRINFO_H
#include "llvm/MC/MCInstrInfo.h"
+#include "llvm/CodeGen/DFAPacketizer.h"
#include "llvm/CodeGen/MachineFunction.h"
namespace llvm {
@@ -811,6 +812,12 @@ public:
breakPartialRegDependency(MachineBasicBlock::iterator MI, unsigned OpNum,
const TargetRegisterInfo *TRI) const {}
+ /// Create machine specific model for scheduling.
+ virtual DFAPacketizer*
+ CreateTargetScheduleState(const TargetMachine*, const ScheduleDAG*) const {
+ return NULL;
+ }
+
private:
int CallFrameSetupOpcode, CallFrameDestroyOpcode;
};