aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/PrologEpilogInserter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/CodeGen/PrologEpilogInserter.cpp')
-rw-r--r--lib/CodeGen/PrologEpilogInserter.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp
index 95932207a5..b3bf88d689 100644
--- a/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/lib/CodeGen/PrologEpilogInserter.cpp
@@ -258,7 +258,7 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
MachineFrameInfo *FFI = Fn.getFrameInfo();
unsigned StackAlignment = TFI.getStackAlignment();
- unsigned MaxAlign = StackAlignment;
+ unsigned MaxAlign = 0;
// Start at the beginning of the local area.
// The Offset is the distance from the stack top in the direction
@@ -318,11 +318,10 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
// Set the final value of the stack pointer...
FFI->setStackSize(Offset+TFI.getOffsetOfLocalArea());
- // If we have a new stack alignment, set the preferred stack alignment so that
- // the targets can do the appropriate thing to properly align the stack above
- // the default alignment.
- if (MaxAlign > StackAlignment)
- FFI->setMaxAlignment(MaxAlign);
+
+ // Remember the required stack alignment in case targets need it to perform
+ // dynamic stack alignment.
+ FFI->setMaxAlignment(MaxAlign);
}