Add a new "fast" scheduler. This is currently basically just a
authorDan Gohman <gohman@apple.com>
Thu, 18 Sep 2008 16:26:26 +0000 (16:26 +0000)
committerDan Gohman <gohman@apple.com>
Thu, 18 Sep 2008 16:26:26 +0000 (16:26 +0000)
commitee2e4035450a2d0d6159831e9b9cfa3ffd8da8bc
treed60a7b09fcdce911ed3b71b5fe150bfb4ee6c61e
parentbc4707a2554ac04ba006bf70035e7bc7270236a9
Add a new "fast" scheduler. This is currently basically just a
copy of the BURRList scheduler, but with several parts ripped
out, such as backtracking, online topological sort maintenance
(needed by backtracking), the priority queue, and Sethi-Ullman
number computation and maintenance (needed by the priority
queue). As a result of all this, it generates somewhat lower
quality code, but that's its tradeoff for running about 30%
faster than list-burr in -fast mode in many cases.

This is somewhat experimental. Moving forward, major pieces of
this can be refactored with pieces in common with
ScheduleDAGRRList.cpp.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56307 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LinkAllCodegenComponents.h
include/llvm/CodeGen/ScheduleDAG.h
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp [new file with mode: 0644]