Reduce uses of getRegClass

llvm-svn: 15968
This commit is contained in:
Chris Lattner 2004-08-21 19:51:17 +00:00
parent 7ead36e4a4
commit db3e26f50a
2 changed files with 6 additions and 8 deletions

View File

@ -238,9 +238,8 @@ void PPC32RegisterInfo::emitPrologue(MachineFunction &MF) const {
// Add the size of R1 to NumBytes size for the store of R1 to the bottom
// of the stack and round the size to a multiple of the alignment.
unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
unsigned R1Size = getRegClass(PPC::R1)->getSize();
unsigned R31Size = getRegClass(PPC::R31)->getSize();
unsigned Size = (hasFP(MF)) ? R1Size + R31Size : R1Size;
unsigned GPRSize = getSpillSize(PPC::R1);
unsigned Size = hasFP(MF) ? GPRSize + GPRSize : GPRSize;
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
// Update frame info to pretend that this is part of the stack...
@ -262,7 +261,7 @@ void PPC32RegisterInfo::emitPrologue(MachineFunction &MF) const {
}
if (hasFP(MF)) {
MI = BuildMI(PPC::STW, 3).addReg(PPC::R31).addSImm(R1Size).addReg(PPC::R1);
MI = BuildMI(PPC::STW, 3).addReg(PPC::R31).addSImm(GPRSize).addReg(PPC::R1);
MBB.insert(MBBI, MI);
MI = BuildMI(PPC::OR, 2, PPC::R31).addReg(PPC::R1).addReg(PPC::R1);
MBB.insert(MBBI, MI);

View File

@ -240,9 +240,8 @@ void PPC64RegisterInfo::emitPrologue(MachineFunction &MF) const {
// Add the size of R1 to NumBytes size for the store of R1 to the bottom
// of the stack and round the size to a multiple of the alignment.
unsigned Align = MF.getTarget().getFrameInfo()->getStackAlignment();
unsigned R1Size = getRegClass(PPC::R1)->getSize();
unsigned R31Size = getRegClass(PPC::R31)->getSize();
unsigned Size = (hasFP(MF)) ? R1Size + R31Size : R1Size;
unsigned GPRSize = getSpillSize(PPC::R1);
unsigned Size = hasFP(MF) ? GPRSize + GPRSize : GPRSize;
NumBytes = (NumBytes+Size+Align-1)/Align*Align;
// Update frame info to pretend that this is part of the stack...
@ -264,7 +263,7 @@ void PPC64RegisterInfo::emitPrologue(MachineFunction &MF) const {
}
if (hasFP(MF)) {
MI = BuildMI(PPC::STD, 3).addReg(PPC::R31).addSImm(R1Size).addReg(PPC::R1);
MI = BuildMI(PPC::STD, 3).addReg(PPC::R31).addSImm(GPRSize).addReg(PPC::R1);
MBB.insert(MBBI, MI);
MI = BuildMI(PPC::OR, 2, PPC::R31).addReg(PPC::R1).addReg(PPC::R1);
MBB.insert(MBBI, MI);