diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-03-06 17:58:04 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-03-06 17:58:04 +0000 |
| commit | 6af7ef8da874635f5f060ad19afb19811452b447 (patch) | |
| tree | a456d4c917669830d67f058bf44d24406700ac63 /lib/CodeGen | |
| parent | adc5e5c85fdf188166690084675a971aa5e9f188 (diff) | |
update file comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26573 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
| -rw-r--r-- | lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp index dfd46b7d01..4d44d2d9b0 100644 --- a/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp +++ b/lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp @@ -7,9 +7,14 @@ // //===----------------------------------------------------------------------===// // -// This implements a simple two pass scheduler. The first pass attempts to push -// backward any lengthy instructions and critical paths. The second pass packs -// instructions into semi-optimal time slots. +// This implements bottom-up and top-down list schedulers, using standard +// algorithms. The basic approach uses a priority queue of available nodes to +// schedule. One at a time, nodes are taken from the priority queue (thus in +// priority order), checked for legality to schedule, and emitted if legal. +// +// Nodes may not be legal to schedule either due to structural hazards (e.g. +// pipeline or resource constraints) or because an input to the instruction has +// not completed execution. // //===----------------------------------------------------------------------===// |
