summaryrefslogtreecommitdiffstats
path: root/llvm/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
commit1b42e64280efdf821f97db40c1c50e0e54097df8 (patch)
tree249811907761f895989e6cc0400fee34740f1405 /llvm/lib/Target
parentffa2c1a48e886342cbd76f2ff74881937f952dd6 (diff)
downloadbcm5719-llvm-1b42e64280efdf821f97db40c1c50e0e54097df8.tar.gz
bcm5719-llvm-1b42e64280efdf821f97db40c1c50e0e54097df8.zip
Use base AAPCS for varargs functions even for AAPCS-VFP CC
llvm-svn: 149194
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 3e8f2b011f5..2f78f7a5ae8 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/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:
OpenPOWER on IntegriCloud