diff options
author | Chris Lattner <sabre@nondot.org> | 2005-09-30 17:19:22 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2005-09-30 17:19:22 +0000 |
commit | 2e794c919816c762b74afa793bf95fa12a24a12f (patch) | |
tree | 8b0e4749ad0a70e0e92c3d35e5043131f0f11b03 /llvm/lib | |
parent | 88025e17c59aa0434aae1d44b2f86ff7b3050b88 (diff) | |
download | bcm5719-llvm-2e794c919816c762b74afa793bf95fa12a24a12f.tar.gz bcm5719-llvm-2e794c919816c762b74afa793bf95fa12a24a12f.zip |
now that we have a reg class to spill with, get this info from the regclass
llvm-svn: 23559
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/CodeGen/PrologEpilogInserter.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp index 6fcf423f7c8..e38c740e8dd 100644 --- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp +++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp @@ -165,6 +165,7 @@ void PEI::calculateCallerSavedRegisters(MachineFunction &Fn) { // stack slots for them. for (unsigned i = 0, e = RegsToSave.size(); i != e; ++i) { unsigned Reg = RegsToSave[i].first; + const TargetRegisterClass *RC = RegsToSave[i].second; // Check to see if this physreg must be spilled to a particular stack slot // on this target. @@ -176,12 +177,10 @@ void PEI::calculateCallerSavedRegisters(MachineFunction &Fn) { int FrameIdx; if (FixedSlot == FixedSpillSlots+NumFixedSpillSlots) { // Nope, just spill it anywhere convenient. - FrameIdx = FFI->CreateStackObject(RegInfo->getSpillSize(Reg)/8, - RegInfo->getSpillAlignment(Reg)/8); + FrameIdx = FFI->CreateStackObject(RC->getSize(), RC->getAlignment()); } else { // Spill it to the stack where we must. - FrameIdx = FFI->CreateFixedObject(RegInfo->getSpillSize(Reg)/8, - FixedSlot->second); + FrameIdx = FFI->CreateFixedObject(RC->getSize(), FixedSlot->second); } StackSlots.push_back(FrameIdx); } |