Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/llvm
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2018-11-08 21:51:07 +0300
committerImran Hameed <imhameed@microsoft.com>2021-06-03 00:02:30 +0300
commit4c9f365a4819594a68aee7022e20d2dd6706d698 (patch)
treea5ba8d729c535660df79436df710cfcf74e22e15 /llvm
parent0d5d5a5eab43f458fad11c98ae2529b043fd8448 (diff)
Merge pull request #17 from lewurm/armv5-fix
[mono] respect FloatABIType, so it will work on armv5
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/ARM/ARMISelLowering.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/Target/ARM/ARMISelLowering.cpp b/llvm/lib/Target/ARM/ARMISelLowering.cpp
index 1d99f8c0e72f..32167233bd51 100644
--- a/llvm/lib/Target/ARM/ARMISelLowering.cpp
+++ b/llvm/lib/Target/ARM/ARMISelLowering.cpp
@@ -2038,13 +2038,14 @@ CCAssignFn *ARMTargetLowering::CCAssignFnForNode(CallingConv::ID CC,
if (Return) {
return CCAssignFnForNode(CallingConv::C, true, isVarArg);
} else {
- if (Subtarget->isAAPCS_ABI()) {
- if (Subtarget->hasVFP2() && !Subtarget->isThumb1Only() && !isVarArg)
- return CC_ARM_Mono_AAPCS_VFP;
- else
- return CC_ARM_Mono_AAPCS;
- } else
- return CC_ARM_Mono_APCS;
+ if (!Subtarget->isAAPCS_ABI())
+ return CC_ARM_Mono_APCS;
+ else if (Subtarget->hasVFP2() && !Subtarget->isThumb1Only() &&
+ getTargetMachine().Options.FloatABIType == FloatABI::Hard &&
+ !isVarArg)
+ return CC_ARM_Mono_AAPCS_VFP;
+ else
+ return CC_ARM_Mono_AAPCS;
}
}
}