mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-12 07:21:56 +00:00
Simplify the interface to the schedulers, to not pass the selected heuristic
in. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26691 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2f5806c2b3
commit
37cb415eec
@ -34,16 +34,6 @@ namespace llvm {
|
||||
typedef std::vector<NodeInfoPtr> NIVector;
|
||||
typedef std::vector<NodeInfoPtr>::iterator NIIterator;
|
||||
|
||||
// Scheduling heuristics
|
||||
enum SchedHeuristics {
|
||||
defaultScheduling, // Let the target specify its preference.
|
||||
noScheduling, // No scheduling, emit breadth first sequence.
|
||||
simpleScheduling, // Two pass, min. critical path, max. utilization.
|
||||
simpleNoItinScheduling, // Same as above exact using generic latency.
|
||||
listSchedulingBURR, // Bottom up reg reduction list scheduling.
|
||||
listSchedulingTD // Top-down list scheduler.
|
||||
};
|
||||
|
||||
/// HazardRecognizer - This determines whether or not an instruction can be
|
||||
/// issued this cycle, and whether or not a noop needs to be inserted to handle
|
||||
/// the hazard.
|
||||
@ -296,8 +286,7 @@ namespace llvm {
|
||||
const TargetMachine &tm)
|
||||
: DAG(dag), BB(bb), TM(tm) {}
|
||||
|
||||
virtual ~ScheduleDAG() {
|
||||
};
|
||||
virtual ~ScheduleDAG() {}
|
||||
|
||||
/// Run - perform scheduling.
|
||||
///
|
||||
@ -337,10 +326,11 @@ namespace llvm {
|
||||
std::map<SDNode*, unsigned> &VRBaseMap);
|
||||
};
|
||||
|
||||
ScheduleDAG *createBFS_DAGScheduler(SelectionDAG &DAG, MachineBasicBlock *BB);
|
||||
|
||||
/// createSimpleDAGScheduler - This creates a simple two pass instruction
|
||||
/// scheduler.
|
||||
ScheduleDAG* createSimpleDAGScheduler(SchedHeuristics Heuristic,
|
||||
SelectionDAG &DAG,
|
||||
ScheduleDAG* createSimpleDAGScheduler(bool NoItins, SelectionDAG &DAG,
|
||||
MachineBasicBlock *BB);
|
||||
|
||||
/// createBURRListDAGScheduler - This creates a bottom up register usage
|
||||
|
Loading…
x
Reference in New Issue
Block a user