// Loop over all of the stack objects, assigning sequential addresses...
MachineFrameInfo *FFI = Fn.getFrameInfo();
- unsigned StackAlign = TFI.getStackAlignment();
+ unsigned StackAlignment = TFI.getStackAlignment();
// Start at the beginning of the local area...
int Offset = TFI.getOffsetOfLocalArea();
Offset += FFI->getObjectSize(i); // Allocate Size bytes...
unsigned Align = FFI->getObjectAlignment(i);
- assert(Align < StackAlign && "Cannot align stack object to higher "
+ assert(Align <= StackAlignment && "Cannot align stack object to higher "
"alignment boundary than the stack itself!");
Offset = (Offset+Align-1)/Align*Align; // Adjust to Alignment boundary...
const TargetInstrInfo &TII = Fn.getTarget().getInstrInfo();
for (MachineFunction::iterator I = Fn.begin(), E = Fn.end(); I != E; ++I) {
// If last instruction is a return instruction, add an epilogue
- if (TII.isReturn(I->back()->getOpcode()))
+ if (!I->empty() && TII.isReturn(I->back()->getOpcode()))
Fn.getTarget().getRegisterInfo()->emitEpilogue(Fn, *I);
}
}