summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen/ScheduleDAG.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-03-05 21:08:06 +0000
committerChris Lattner <sabre@nondot.org>2006-03-05 21:08:06 +0000
commit20614b956257d8702736ede13762385972cf4e43 (patch)
tree98cb66ad385587e657f578b991374f8421b9f91b /include/llvm/CodeGen/ScheduleDAG.h
parent41f5ea06659026f149915009217f7caeb463cc53 (diff)
downloadllvm-20614b956257d8702736ede13762385972cf4e43.tar.gz
llvm-20614b956257d8702736ede13762385972cf4e43.tar.bz2
llvm-20614b956257d8702736ede13762385972cf4e43.tar.xz
Add a new scheduling type. This is, of course, a hack. Proper factoring
will come later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26551 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen/ScheduleDAG.h')
-rw-r--r--include/llvm/CodeGen/ScheduleDAG.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/llvm/CodeGen/ScheduleDAG.h b/include/llvm/CodeGen/ScheduleDAG.h
index 5bc51e8582..b99e429ab1 100644
--- a/include/llvm/CodeGen/ScheduleDAG.h
+++ b/include/llvm/CodeGen/ScheduleDAG.h
@@ -34,17 +34,16 @@ 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 breath 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.
+ listSchedulingBURR, // Bottom up reg reduction list scheduling.
+ listSchedulingG5 // G5-specific scheduler. FIXME: parameterize better
};
-
//===--------------------------------------------------------------------===//
///
/// Node group - This struct is used to manage flagged node groups.
@@ -359,6 +358,12 @@ namespace llvm {
/// reduction list scheduler.
ScheduleDAG* createBURRListDAGScheduler(SelectionDAG &DAG,
MachineBasicBlock *BB);
+
+ /// createTDG5ListDAGScheduler - This creates a top-down list scheduler for
+ /// the PowerPC G5. FIXME: pull the priority function out into the PPC
+ /// backend!
+ ScheduleDAG* createTDG5ListDAGScheduler(SelectionDAG &DAG,
+ MachineBasicBlock *BB);
}
#endif