mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-08 20:30:50 +00:00
Check the local frame alignment for determining whether dynamic stack
alignment should be performed. Otherwise dynamic realignment may trigger when the register allocator has already used the frame pointer as a general purpose register. That is, we need to make sure that the list of reserved registers doesn't change after register allocation. llvm-svn: 112986
This commit is contained in:
parent
1ebe0e2667
commit
40b6970f7d
@ -639,7 +639,7 @@ needsStackRealignment(const MachineFunction &MF) const {
|
||||
const Function *F = MF.getFunction();
|
||||
const ARMFunctionInfo *AFI = MF.getInfo<ARMFunctionInfo>();
|
||||
unsigned StackAlign = MF.getTarget().getFrameInfo()->getStackAlignment();
|
||||
bool requiresRealignment = ((MFI->getMaxAlignment() > StackAlign) ||
|
||||
bool requiresRealignment = ((MFI->getLocalFrameMaxAlign() > StackAlign) ||
|
||||
F->hasFnAttr(Attribute::StackAlignment));
|
||||
|
||||
// FIXME: Currently we don't support stack realignment for functions with
|
||||
|
Loading…
Reference in New Issue
Block a user