The Indexes Patch.
authorLang Hames <lhames@gmail.com>
Tue, 3 Nov 2009 23:52:08 +0000 (23:52 +0000)
committerLang Hames <lhames@gmail.com>
Tue, 3 Nov 2009 23:52:08 +0000 (23:52 +0000)
commit233a60ec40b41027ff429e2f2c27fa2be762f2e9
tree85451aa736c6b83933b5646d0b81dac7f8145a8c
parent888acc35a3e271d092f9b1efc7c32b94ff17fbf7
The Indexes Patch.

This introduces a new pass, SlotIndexes, which is responsible for numbering
instructions for register allocation (and other clients). SlotIndexes numbering
is designed to match the existing scheme, so this patch should not cause any
changes in the generated code.

For consistency, and to avoid naming confusion, LiveIndex has been renamed
SlotIndex.

The processImplicitDefs method of the LiveIntervals analysis has been moved
into its own pass so that it can be run prior to SlotIndexes. This was
necessary to match the existing numbering scheme.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85979 91177308-0d34-0410-b5e6-96231b3b80d8
20 files changed:
include/llvm/CodeGen/LiveInterval.h
include/llvm/CodeGen/LiveIntervalAnalysis.h
include/llvm/CodeGen/LiveStackAnalysis.h
include/llvm/CodeGen/ProcessImplicitDefs.h [new file with mode: 0644]
include/llvm/CodeGen/SlotIndexes.h [new file with mode: 0644]
lib/CodeGen/LiveInterval.cpp
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/LiveStackAnalysis.cpp
lib/CodeGen/PreAllocSplitting.cpp
lib/CodeGen/ProcessImplicitDefs.cpp [new file with mode: 0644]
lib/CodeGen/RegAllocLinearScan.cpp
lib/CodeGen/RegAllocPBQP.cpp
lib/CodeGen/SimpleRegisterCoalescing.cpp
lib/CodeGen/SimpleRegisterCoalescing.h
lib/CodeGen/SlotIndexes.cpp [new file with mode: 0644]
lib/CodeGen/Spiller.cpp
lib/CodeGen/StackSlotColoring.cpp
lib/CodeGen/StrongPHIElimination.cpp
lib/CodeGen/VirtRegMap.cpp
lib/CodeGen/VirtRegMap.h