mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-24 08:24:33 +00:00
Revert r140924 "Attempt to fix dynamic stack realignment for thumb1 functions."
to appease nightly testers. Not quite there yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140953 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -155,27 +155,6 @@ void Thumb1FrameLowering::emitPrologue(MachineFunction &MF) const {
|
||||
AFI->setGPRCalleeSavedArea2Size(GPRCS2Size);
|
||||
AFI->setDPRCalleeSavedAreaSize(DPRCSSize);
|
||||
|
||||
if (RegInfo->needsStackRealignment(MF)) {
|
||||
// We cannot use sp as source/dest register here, thus we're emitting the
|
||||
// following sequence:
|
||||
// mov r4, sp
|
||||
// lsrs r4, r4, Log2MaxAlign
|
||||
// lsls r4, r4, Log2MaxAlign
|
||||
// mov sp, r4
|
||||
unsigned MaxAlign = MFI->getMaxAlignment();
|
||||
unsigned Log2MaxAlign = Log2_32(MaxAlign);
|
||||
AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::R4)
|
||||
.addReg(ARM::SP, RegState::Kill));
|
||||
AddDefaultPred(AddDefaultT1CC(BuildMI(MBB, MBBI, dl, TII.get(ARM::tLSRri), ARM::R4))
|
||||
.addReg(ARM::R4, RegState::Kill)
|
||||
.addImm(Log2MaxAlign));
|
||||
AddDefaultPred(AddDefaultT1CC(BuildMI(MBB, MBBI, dl, TII.get(ARM::tLSLri), ARM::R4))
|
||||
.addReg(ARM::R4, RegState::Kill)
|
||||
.addImm(Log2MaxAlign));
|
||||
AddDefaultPred(BuildMI(MBB, MBBI, dl, TII.get(ARM::tMOVr), ARM::SP)
|
||||
.addReg(ARM::R4, RegState::Kill));
|
||||
}
|
||||
|
||||
// If we need a base pointer, set it up here. It's whatever the value
|
||||
// of the stack pointer is at this point. Any variable size objects
|
||||
// will be allocated after this, so we can still use the base pointer
|
||||
|
Reference in New Issue
Block a user