[ARM] GlobalISel: Support array parameters/arguments
authorDiana Picus <diana.picus@linaro.org>
Mon, 29 May 2017 07:01:52 +0000 (07:01 +0000)
committerDiana Picus <diana.picus@linaro.org>
Mon, 29 May 2017 07:01:52 +0000 (07:01 +0000)
commit8cca8cb0ce05298b117f2b020a359cd5dd34b6ca
treeec7266037316b3fe66c69514e313b57c1a5755bc
parentbae0a1d43c60c5cb69446fd98baa68ac501e396a
[ARM] GlobalISel: Support array parameters/arguments

Clang coerces structs into arrays, so it's a good idea to support them.
Most of the support boils down to getting the splitToValueTypes helper
to actually split types. We then use G_INSERT/G_EXTRACT to deal with the
parts.

llvm-svn: 304132
llvm/lib/Target/ARM/ARMCallLowering.cpp
llvm/lib/Target/ARM/ARMCallLowering.h
llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
llvm/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll