After we make the adjustment, we can assume that for local allocas, but
not for stack parameters, the return address, or any other fixed stack
object (which has a negative offset and therefore lies prior to the
adjusted SP).
Fixes PR26662.
Paths
| Differential D18471
[CodeGen] Don't assume that fixed stack objects are aligned in a stack-realigned function. ClosedPublic Authored by cdavis5x on Mar 24 2016, 11:07 PM.
Details Summary After we make the adjustment, we can assume that for local allocas, but Fixes PR26662.
Diff Detail Event TimelineComment Actions lgtm
This revision is now accepted and ready to land.Apr 5 2016, 11:43 AM Closed by commit rL265886: [CodeGen] Don't assume that fixed stack objects are aligned in a stack… (authored by cdavis). · Explain WhyApr 9 2016, 4:40 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 51630 include/llvm/CodeGen/MachineFrameInfo.h
lib/CodeGen/MachineFunction.cpp
test/CodeGen/X86/stack-align.ll
|
As a separate issue, I noticed that StackRealignable and RealignOpt are redundant. We can get by with just StackRealignable, and making that be STI->getFrameLowering()->isStackRealignable() && F->hasFnAttribute("no-realign-stack").