comparison lib/Target/Mips/MipsFrameLowering.cpp @ 100:7d135dc70f03 LLVM 3.9

LLVM 3.9
author Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
date Tue, 26 Jan 2016 22:53:40 +0900
parents afa8332a0e37
children 1172e4bd9c6f
comparison
equal deleted inserted replaced
96:6418606d0ead 100:7d135dc70f03
120 Offset = std::max(Offset, -MFI->getObjectOffset(I)); 120 Offset = std::max(Offset, -MFI->getObjectOffset(I));
121 121
122 // Conservatively assume all callee-saved registers will be saved. 122 // Conservatively assume all callee-saved registers will be saved.
123 for (const MCPhysReg *R = TRI.getCalleeSavedRegs(&MF); *R; ++R) { 123 for (const MCPhysReg *R = TRI.getCalleeSavedRegs(&MF); *R; ++R) {
124 unsigned Size = TRI.getMinimalPhysRegClass(*R)->getSize(); 124 unsigned Size = TRI.getMinimalPhysRegClass(*R)->getSize();
125 Offset = RoundUpToAlignment(Offset + Size, Size); 125 Offset = alignTo(Offset + Size, Size);
126 } 126 }
127 127
128 unsigned MaxAlign = MFI->getMaxAlignment(); 128 unsigned MaxAlign = MFI->getMaxAlignment();
129 129
130 // Check that MaxAlign is not zero if there is a stack object that is not a 130 // Check that MaxAlign is not zero if there is a stack object that is not a
131 // callee-saved spill. 131 // callee-saved spill.
132 assert(!MFI->getObjectIndexEnd() || MaxAlign); 132 assert(!MFI->getObjectIndexEnd() || MaxAlign);
133 133
134 // Iterate over other objects. 134 // Iterate over other objects.
135 for (unsigned I = 0, E = MFI->getObjectIndexEnd(); I != E; ++I) 135 for (unsigned I = 0, E = MFI->getObjectIndexEnd(); I != E; ++I)
136 Offset = RoundUpToAlignment(Offset + MFI->getObjectSize(I), MaxAlign); 136 Offset = alignTo(Offset + MFI->getObjectSize(I), MaxAlign);
137 137
138 // Call frame. 138 // Call frame.
139 if (MFI->adjustsStack() && hasReservedCallFrame(MF)) 139 if (MFI->adjustsStack() && hasReservedCallFrame(MF))
140 Offset = RoundUpToAlignment(Offset + MFI->getMaxCallFrameSize(), 140 Offset = alignTo(Offset + MFI->getMaxCallFrameSize(),
141 std::max(MaxAlign, getStackAlignment())); 141 std::max(MaxAlign, getStackAlignment()));
142 142
143 return RoundUpToAlignment(Offset, getStackAlignment()); 143 return alignTo(Offset, getStackAlignment());
144 } 144 }
145 145
146 // Eliminate ADJCALLSTACKDOWN, ADJCALLSTACKUP pseudo instructions 146 // Eliminate ADJCALLSTACKDOWN, ADJCALLSTACKUP pseudo instructions
147 void MipsFrameLowering:: 147 void MipsFrameLowering::
148 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB, 148 eliminateCallFramePseudoInstr(MachineFunction &MF, MachineBasicBlock &MBB,