[PATCH] D14147: Hanlding of aligned allocas on a target that does not align stack pointer.
Jonas Paulsson via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 28 07:05:36 PDT 2015
jonpa created this revision.
jonpa added subscribers: llvm-commits, uweigand.
This patch implements dynamic realignment of stack objects with greater
alignment than stack alignment.
SystemZ maintains normal SP alignment always, and instead dynamically
realigns stack objects when needed.
The patch changes the behaviour in FunctionLoweringInfo, so that for a
target that has a non-realignable stack, aligned static allocas are
considered to be variable-sized objects and are handled with a
DYNAMIC_STACKALLOC node.
It would be good to group aligned allocas into a single big alloca,
but this is yet todo.
New SystemZ tests: alloca-03.ll for aligned allocas, and alloca-04.ll for
"no-realign-stack" attribute on functions.
http://reviews.llvm.org/D14147
Files:
include/llvm/CodeGen/MachineFrameInfo.h
lib/CodeGen/MachineFunction.cpp
lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
lib/Target/SystemZ/SystemZFrameLowering.cpp
lib/Target/SystemZ/SystemZISelLowering.cpp
test/CodeGen/SystemZ/alloca-03.ll
test/CodeGen/SystemZ/alloca-04.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14147.38654.patch
Type: text/x-patch
Size: 12646 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151028/2b2fe5d8/attachment.bin>
More information about the llvm-commits
mailing list