]> granicus.if.org Git - clang/commit
[ARM] Fix AAPCS regression caused by r211898
authorOliver Stannard <oliver.stannard@arm.com>
Fri, 18 Jul 2014 09:09:31 +0000 (09:09 +0000)
committerOliver Stannard <oliver.stannard@arm.com>
Fri, 18 Jul 2014 09:09:31 +0000 (09:09 +0000)
commit2ef74c10861df06eede5554187a9742df1786ca4
tree607f1432ea8b3bc9973f974b7d5ce0267bfc16c4
parent27b4c37d4a34875969fb2afe855bafafdf6dd2d4
[ARM] Fix AAPCS regression caused by r211898

r211898 introduced a regression where a large struct, which would
normally be passed ByVal, was causing padding to be inserted to
prevent the backend from using some GPRs, in order to follow the
AAPCS. However, the type of the argument was not being set correctly,
so the backend cannot align 8-byte aligned struct types on the stack.

The fix is to not insert the padding arguments when the argument is
being passed ByVal.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213359 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TargetInfo.cpp
test/CodeGen/arm-aapcs-vfp.c