[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