llvm/lib/CodeGen
Alkis Evlogimenos 84f5bcb013 Change the way we choose a free register: instead of picking the first
free allocatable register, we prefer the a free one with the most uses
of inactive intervals. This causes less spills and performes a bit
better compared to gcc:

Program                 | GCC/LLC (Before)| GCC/LLC (After)
164.gzip/164.gzip       | 0.59            | 0.60
175.vpr/175.vpr         | 0.57            | 0.58
176.gcc/176.gcc         | 0.59            | 0.61
181.mcf/181.mcf         | 0.94            | 0.95
186.crafty/186.crafty   | 0.62            | 0.62
197.parser/197.parser   | 0.89            | 0.88
252.eon/252.eon         | 0.61            | 0.66
253.perlbmk/253.perlbmk | 0.79            | 0.84
254.gap/254.gap         | 0.81            | 0.81
255.vortex/255.vortex   | 0.92            | 0.93
256.bzip2/256.bzip2     | 0.69            | 0.69
300.twolf/300.twolf     | 0.91            | 0.90


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16147 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-02 21:23:32 +00:00
..
InstrSched Changes For Bug 352 2004-09-01 22:55:40 +00:00
ModuloScheduling Changes For Bug 352 2004-09-01 22:55:40 +00:00
SelectionDAG
AsmPrinter.cpp Do not use .xword and friends to emit zeros on V9. Apparently there are issues 2004-08-24 00:26:11 +00:00
BranchFolding.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
IntrinsicLowering.cpp
LiveInterval.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
LiveInterval.h
LiveIntervalAnalysis.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
LiveIntervalAnalysis.h Use newly added API in MRegisterInfo. 2004-08-26 22:22:38 +00:00
LiveVariables.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
MachineBasicBlock.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
MachineCodeEmitter.cpp
MachineFunction.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
MachineInstr.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
Makefile Adding ModuloScheduling so that it compiles for everyone. 2004-08-01 19:00:17 +00:00
Passes.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
PHIElimination.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
PhysRegTracker.h
PrologEpilogInserter.cpp Put this change back in after testing from Reid proved its innocence. getSpillSize now returns value in bits 2004-08-29 22:00:24 +00:00
RegAllocIterativeScan.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
RegAllocLinearScan.cpp Change the way we choose a free register: instead of picking the first 2004-09-02 21:23:32 +00:00
RegAllocLocal.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
RegAllocSimple.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
TwoAddressInstructionPass.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
UnreachableBlockElim.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
VirtRegMap.cpp Changes For Bug 352 2004-09-01 22:55:40 +00:00
VirtRegMap.h Changes For Bug 352 2004-09-01 22:55:40 +00:00