aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2012-01-29 09:06:09 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2012-01-29 09:06:09 +0000
commitf349cb8f33665bf854b4d0a05012d958072febd4 (patch)
tree504022fbf02e15e16ab6116166773d660180f45f /lib/Target
parent9f946a24d9e69559d1e0aeb6d128c2fa19846c92 (diff)
downloadexternal_llvm-f349cb8f33665bf854b4d0a05012d958072febd4.zip
external_llvm-f349cb8f33665bf854b4d0a05012d958072febd4.tar.gz
external_llvm-f349cb8f33665bf854b4d0a05012d958072febd4.tar.bz2
Use base AAPCS for varargs functions even for AAPCS-VFP CC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149194 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target')
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
index 3e8f2b0..2f78f7a 100644
--- a/lib/Target/ARM/ARMISelLowering.cpp
+++ b/lib/Target/ARM/ARMISelLowering.cpp
@@ -1127,7 +1127,9 @@ CCAssignFn *ARMTargetLowering::CCAssignFnForNode(CallingConv::ID CC,
return (Return ? RetCC_ARM_AAPCS : CC_ARM_AAPCS);
}
case CallingConv::ARM_AAPCS_VFP:
- return (Return ? RetCC_ARM_AAPCS_VFP : CC_ARM_AAPCS_VFP);
+ if (!isVarArg)
+ return (Return ? RetCC_ARM_AAPCS_VFP : CC_ARM_AAPCS_VFP);
+ // Fallthrough
case CallingConv::ARM_AAPCS:
return (Return ? RetCC_ARM_AAPCS : CC_ARM_AAPCS);
case CallingConv::ARM_APCS: