[PATCH] D66678: [GlobalISel] Replace hard coded dynamic alloca handling with G_DYN_STACKALLOC
Amara Emerson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 23 12:46:59 PDT 2019
aemerson created this revision.
aemerson added reviewers: paquette, arsenm, dsanders, Petar.Avramovic.
Herald added subscribers: volkan, hiraditya, javed.absar, rovka, wdng.
Herald added a project: LLVM.
aemerson added a parent revision: D66677: [GlobalISel] Introduce a G_DYN_STACKALLOC opcode to represent dynamic allocas.
This change moves the actual stack pointer manipulation into the legalizer, available to targets via lower(). The codegen is slightly different because we're using explicit masks instead of G_PTRMASK, and using G_SUB rather than adding a negative amount via G_GEP.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D66678
Files:
llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
llvm/test/CodeGen/AArch64/GlobalISel/dynamic-alloca.ll
llvm/test/CodeGen/AArch64/GlobalISel/legalize-dyn-alloca.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66678.216929.patch
Type: text/x-patch
Size: 18315 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190823/d130aa8d/attachment.bin>
More information about the llvm-commits
mailing list