aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/StackSlotColoring.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2009-11-03 23:52:08 +0000
committerLang Hames <lhames@gmail.com>2009-11-03 23:52:08 +0000
commitd6a717cba117dae9a90a373698f691d9452c9c49 (patch)
tree85451aa736c6b83933b5646d0b81dac7f8145a8c /lib/CodeGen/StackSlotColoring.cpp
parent24a1825a08acd458d350140f0706f3cbc5bf6a2e (diff)
downloadexternal_llvm-d6a717cba117dae9a90a373698f691d9452c9c49.zip
external_llvm-d6a717cba117dae9a90a373698f691d9452c9c49.tar.gz
external_llvm-d6a717cba117dae9a90a373698f691d9452c9c49.tar.bz2
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
Diffstat (limited to 'lib/CodeGen/StackSlotColoring.cpp')
-rw-r--r--lib/CodeGen/StackSlotColoring.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/CodeGen/StackSlotColoring.cpp b/lib/CodeGen/StackSlotColoring.cpp
index eed2daa..c299192 100644
--- a/lib/CodeGen/StackSlotColoring.cpp
+++ b/lib/CodeGen/StackSlotColoring.cpp
@@ -98,6 +98,8 @@ namespace {
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesCFG();
+ AU.addRequired<SlotIndexes>();
+ AU.addPreserved<SlotIndexes>();
AU.addRequired<LiveStacks>();
AU.addRequired<VirtRegMap>();
AU.addPreserved<VirtRegMap>();