OSDN Git Service

[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)
commit0aa64f381a88d08757708d283b550e049807c962
tree250e3023dcb4c97e82e15db1a2bede3bacc03fc0
parent2ef4cb9ee0736736daca369d3a3e7da292e0dd54
[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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304132 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMCallLowering.cpp
lib/Target/ARM/ARMCallLowering.h
test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
test/CodeGen/ARM/GlobalISel/arm-unsupported.ll