[PATCH] D27803: [ARM] GlobalISel: Load i1, i8 and i16 args from stack
Diana Picus via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 15 06:26:27 PST 2016
rovka created this revision.
rovka added reviewers: ab, qcolombet, t.p.northover.
rovka added subscribers: llvm-commits, rengolin, dsanders.
Herald added subscribers: dberris, vkalintiris, aemerson.
Add support for loading i1, i8 and i16 arguments from the stack, with or without
the ABI extension flags.
When the ABI extension flags are present, we load a 4-byte value, otherwise we
just generate a G_LOAD and let the instruction selector replace it with a
LDRB/LDRH. This generates the same thing as DAGISel (it's not entirely clear to
me which calling conventions and in what circumstances may be lacking the ext
flags, feel free to point it out).
https://reviews.llvm.org/D27803
Files:
lib/Target/ARM/ARMCallLowering.cpp
lib/Target/ARM/ARMInstructionSelector.cpp
lib/Target/ARM/ARMLegalizerInfo.cpp
test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
test/CodeGen/ARM/GlobalISel/arm-isel.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27803.81569.patch
Type: text/x-patch
Size: 10117 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161215/25102fa2/attachment.bin>
More information about the llvm-commits
mailing list