[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)
commite022851f3b253f421eced5fb0f8f5654771a35a1
treede0900534dafd45df27b6ec167df53b453609357
parent12817862f10b9f3e9da7cd3e3dfc5dad86cd8cb8
[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.

llvm-svn: 213359
clang/lib/CodeGen/TargetInfo.cpp
clang/test/CodeGen/arm-aapcs-vfp.c