[PATCH] D42356: [AArch64] Implement dynamic stack probing for windows
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 12 05:23:55 PST 2018
mstorsjo updated this revision to Diff 133838.
mstorsjo edited the summary of this revision.
mstorsjo added a comment.
Structured the code to easier allow adding a darwin specific version of stack probing without conflicting with the windows specific parts here. Added a "return false" in GlobalISel for windows for alloca, to make sure we invoke the proper codegen for this.
On ARM and X86, the implementation of stack probing uses a custom opcode like WIN__CHKSTK - that would allow to more directly emit exactly the intended machine code for this call. Doing it via SelectionDAG is less code but ends up less elegant at -O0 - a compromise I think is ok.
https://reviews.llvm.org/D42356
Files:
lib/CodeGen/GlobalISel/IRTranslator.cpp
lib/Target/AArch64/AArch64CallingConvention.td
lib/Target/AArch64/AArch64ISelLowering.cpp
lib/Target/AArch64/AArch64ISelLowering.h
lib/Target/AArch64/AArch64RegisterInfo.cpp
lib/Target/AArch64/AArch64RegisterInfo.h
test/CodeGen/AArch64/win-alloca.ll
test/CodeGen/AArch64/win64_vararg.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D42356.133838.patch
Type: text/x-patch
Size: 8439 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180212/7781e29f/attachment.bin>
More information about the llvm-commits
mailing list