[ARM] GlobalISel: Make struct arguments fail elegantly
authorDiana Picus <diana.picus@linaro.org>
Fri, 21 Apr 2017 11:53:01 +0000 (11:53 +0000)
committerDiana Picus <diana.picus@linaro.org>
Fri, 21 Apr 2017 11:53:01 +0000 (11:53 +0000)
commitf941ec0ecc2d177f54a94ad429278947556a3ea9
tree2c5b7b4dd6b0ab9fb9669863c20256ba692b9553
parent0cd1b539bcff45a94a5e1e8b71985d0f1a4dc455
[ARM] GlobalISel: Make struct arguments fail elegantly

The condition in isSupportedType didn't handle struct/array arguments
properly. Fix the check and add a test to make sure we use the fallback
path in this kind of situation. The test deals with some common cases
where the call lowering should error out. There are still some issues
here that need to be addressed (tail calls come to mind), but they can
be addressed in other patches.

llvm-svn: 300967
llvm/lib/Target/ARM/ARMCallLowering.cpp
llvm/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll [new file with mode: 0644]