mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-06 06:33:24 +00:00
Unbreak the stuff, this is ugly, but we cannot do better for now with 'plain' C calling conv.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78232 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f49a23d7a7
commit
14d9495403
@ -1460,13 +1460,12 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
TargetRegisterClass *RC;
|
TargetRegisterClass *RC;
|
||||||
bool IsHardFloatCC = (CallConv == CallingConv::ARM_AAPCS_VFP);
|
|
||||||
|
|
||||||
if (IsHardFloatCC && RegVT == MVT::f32)
|
if (FloatABIType == FloatABI::Hard && RegVT == MVT::f32)
|
||||||
RC = ARM::SPRRegisterClass;
|
RC = ARM::SPRRegisterClass;
|
||||||
else if (IsHardFloatCC && RegVT == MVT::f64)
|
else if (FloatABIType == FloatABI::Hard && RegVT == MVT::f64)
|
||||||
RC = ARM::DPRRegisterClass;
|
RC = ARM::DPRRegisterClass;
|
||||||
else if (IsHardFloatCC && RegVT == MVT::v2f64)
|
else if (FloatABIType == FloatABI::Hard && RegVT == MVT::v2f64)
|
||||||
RC = ARM::QPRRegisterClass;
|
RC = ARM::QPRRegisterClass;
|
||||||
else if (AFI->isThumb1OnlyFunction())
|
else if (AFI->isThumb1OnlyFunction())
|
||||||
RC = ARM::tGPRRegisterClass;
|
RC = ARM::tGPRRegisterClass;
|
||||||
@ -1474,7 +1473,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
|||||||
RC = ARM::GPRRegisterClass;
|
RC = ARM::GPRRegisterClass;
|
||||||
|
|
||||||
assert((RegVT == MVT::i32 || RegVT == MVT::f32 ||
|
assert((RegVT == MVT::i32 || RegVT == MVT::f32 ||
|
||||||
(IsHardFloatCC &&
|
(FloatABIType == FloatABI::Hard &&
|
||||||
((RegVT == MVT::f64) || (RegVT == MVT::v2f64)))) &&
|
((RegVT == MVT::f64) || (RegVT == MVT::v2f64)))) &&
|
||||||
"RegVT not supported by FORMAL_ARGUMENTS Lowering");
|
"RegVT not supported by FORMAL_ARGUMENTS Lowering");
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user