Experimental post-pass scheduling support. Post-pass scheduling
authorDan Gohman <gohman@apple.com>
Wed, 19 Nov 2008 23:18:57 +0000 (23:18 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 19 Nov 2008 23:18:57 +0000 (23:18 +0000)
commit343f0c046702831a4a6aec951b6a297a23241a55
tree2f3b2796fd768abcb439099629af7cf407a61693
parent7d1cd3f21d68179f4ebf4ee18fb7a0ddca9c5a37
Experimental post-pass scheduling support. Post-pass scheduling
is currently off by default, and can be enabled with
-disable-post-RA-scheduler=false.

This doesn't have a significant impact on most code yet because it doesn't
yet do anything to address anti-dependencies and it doesn't attempt to
disambiguate memory references. Also, several popular targets
don't have pipeline descriptions yet.

The majority of the changes here are splitting the SelectionDAG-specific
code out of ScheduleDAG, so that ScheduleDAG can be moved to
libLLVMCodeGen.a. The interface between ScheduleDAG-using code and
the rest of the scheduling code is somewhat rough and will evolve.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59676 91177308-0d34-0410-b5e6-96231b3b80d8
26 files changed:
include/llvm/CodeGen/LatencyPriorityQueue.h [new file with mode: 0644]
include/llvm/CodeGen/LinkAllCodegenComponents.h
include/llvm/CodeGen/ScheduleDAG.h
include/llvm/CodeGen/ScheduleDAGInstrs.h [new file with mode: 0644]
include/llvm/CodeGen/ScheduleDAGSDNodes.h [new file with mode: 0644]
lib/CodeGen/CMakeLists.txt
lib/CodeGen/LatencyPriorityQueue.cpp [new file with mode: 0644]
lib/CodeGen/PostRASchedulerList.cpp
lib/CodeGen/ScheduleDAG.cpp [new file with mode: 0644]
lib/CodeGen/ScheduleDAGEmit.cpp [new file with mode: 0644]
lib/CodeGen/ScheduleDAGInstrs.cpp [new file with mode: 0644]
lib/CodeGen/ScheduleDAGPrinter.cpp [new file with mode: 0644]
lib/CodeGen/SelectionDAG/CMakeLists.txt
lib/CodeGen/SelectionDAG/LatencyPriorityQueue.cpp [deleted file]
lib/CodeGen/SelectionDAG/LatencyPriorityQueue.h [deleted file]
lib/CodeGen/SelectionDAG/ScheduleDAG.cpp [deleted file]
lib/CodeGen/SelectionDAG/ScheduleDAGEmit.cpp [deleted file]
lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp [new file with mode: 0644]
lib/CodeGen/SelectionDAG/ScheduleDAGSDNodesEmit.cpp [new file with mode: 0644]
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp
lib/Target/CellSPU/SPUHazardRecognizers.h
lib/Target/PowerPC/PPCHazardRecognizers.h