diff options
author | Evan Cheng <evan.cheng@apple.com> | 2008-06-23 21:03:19 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2008-06-23 21:03:19 +0000 |
commit | 99ec779a93cf7a09ac336b63d2d67818960343a1 (patch) | |
tree | 4907ac39f8d6716842d4c2b6fdab0ad1d9ef12b1 /lib/CodeGen | |
parent | 300c6c5167d2869d1568d783d0e3e48bf4b03a6c (diff) | |
download | external_llvm-99ec779a93cf7a09ac336b63d2d67818960343a1.zip external_llvm-99ec779a93cf7a09ac336b63d2d67818960343a1.tar.gz external_llvm-99ec779a93cf7a09ac336b63d2d67818960343a1.tar.bz2 |
Instead of adding an isSS field to LiveInterval to denote stack slot. Use top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52639 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/LiveInterval.cpp | 4 | ||||
-rw-r--r-- | lib/CodeGen/StackSlotColoring.cpp | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp index 24081b9..0f5de92 100644 --- a/lib/CodeGen/LiveInterval.cpp +++ b/lib/CodeGen/LiveInterval.cpp @@ -678,8 +678,8 @@ void LiveRange::dump() const { void LiveInterval::print(std::ostream &OS, const TargetRegisterInfo *TRI) const { - if (isSS) - OS << "SS#" << reg; + if (isStackSlot()) + OS << "SS#" << getStackSlotIndex(); else if (TRI && TargetRegisterInfo::isPhysicalRegister(reg)) OS << TRI->getName(reg); else diff --git a/lib/CodeGen/StackSlotColoring.cpp b/lib/CodeGen/StackSlotColoring.cpp index 24bd028..b6a043c 100644 --- a/lib/CodeGen/StackSlotColoring.cpp +++ b/lib/CodeGen/StackSlotColoring.cpp @@ -1,4 +1,4 @@ -//===-- StackSlotColoring.cpp - Sinking for machine instructions ----------===// +//===-- StackSlotColoring.cpp - Stack slot coloring pass. -----------------===// // // The LLVM Compiler Infrastructure // @@ -12,9 +12,9 @@ //===----------------------------------------------------------------------===// #define DEBUG_TYPE "stackcoloring" +#include "llvm/CodeGen/Passes.h" #include "llvm/CodeGen/LiveStackAnalysis.h" #include "llvm/CodeGen/MachineFrameInfo.h" -#include "llvm/CodeGen/Passes.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Compiler.h" #include "llvm/Support/Debug.h" @@ -201,7 +201,6 @@ int StackSlotColoring::ColorSlot(LiveInterval *li) { bool StackSlotColoring::ColorSlots(MachineFunction &MF) { unsigned NumObjs = MFI->getObjectIndexEnd(); std::vector<int> SlotMapping(NumObjs, -1); - SlotMapping.resize(NumObjs, -1); bool Changed = false; for (unsigned i = 0, e = SSIntervals.size(); i != e; ++i) { |