aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen
diff options
context:
space:
mode:
authorManman Ren <mren@apple.com>2012-08-10 20:42:31 +0000
committerManman Ren <mren@apple.com>2012-08-10 20:42:31 +0000
commit16ba7c8498933781cff103058612e76e8045c798 (patch)
tree7522403adaebe9d46c27f21acb7ee3809ef2f4c7 /lib/CodeGen
parentdbd6945b7f4397f44fe6a1f1acf62ab6671e84f5 (diff)
ARM: enable struct byval for AAPCS.
rdar://9877866 PR://13350 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161694 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r--lib/CodeGen/TargetInfo.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp
index 4aa98d2fd8..752228e2a3 100644
--- a/lib/CodeGen/TargetInfo.cpp
+++ b/lib/CodeGen/TargetInfo.cpp
@@ -2757,9 +2757,7 @@ ABIArgInfo ARMABIInfo::classifyArgumentType(QualType Ty) const {
}
}
- // FIXME: byval for AAPCS is not yet supported; we need it for performance
- // and to support large alignment.
- if (getABIKind() == ARMABIInfo::APCS) {
+ if (getABIKind() == ARMABIInfo::APCS || getABIKind() == ARMABIInfo::AAPCS) {
if (getContext().getTypeSizeInChars(Ty) > CharUnits::fromQuantity(64) ||
getContext().getTypeAlign(Ty) > 64) {
return ABIArgInfo::getIndirect(0, /*ByVal=*/true);