Add an ILP scheduler. This is a register pressure aware scheduler that's
authorEvan Cheng <evan.cheng@apple.com>
Sat, 24 Jul 2010 00:39:05 +0000 (00:39 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 24 Jul 2010 00:39:05 +0000 (00:39 +0000)
commit70017e44cdba1946cc478ce1856a3e855a767e28
treeef5e6bbd2fb805590c74cb63fa6205b11a56a928
parent3c8e1bee6399e829eda801a32158c1f52d2733ad
Add an ILP scheduler. This is a register pressure aware scheduler that's
appropriate for targets without detailed instruction iterineries.
The scheduler schedules for increased instruction level parallelism in
low register pressure situation; it schedules to reduce register pressure
when the register pressure becomes high.

On x86_64, this is a win for all tests in CFP2000. It also sped up 256.bzip2
by 16%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109300 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SchedulerRegistry.h
include/llvm/Target/TargetMachine.h
lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h