mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-24 12:29:33 +00:00
Rename the MIPS routine abiUsesSoftFloat -> useSoftFloat to match
some incoming changes and the general scheme used by features (use/has). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236794 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a534f7be2b
commit
330497fc95
@ -434,7 +434,7 @@ public:
|
|||||||
return STI.getFeatureBits() & Mips::FeatureMips16;
|
return STI.getFeatureBits() & Mips::FeatureMips16;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool abiUsesSoftFloat() const {
|
bool useSoftFloat() const {
|
||||||
return (STI.getFeatureBits() & Mips::FeatureSoftFloat);
|
return (STI.getFeatureBits() & Mips::FeatureSoftFloat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ public:
|
|||||||
|
|
||||||
template <class PredicateLibrary>
|
template <class PredicateLibrary>
|
||||||
void setCPR1SizeFromPredicates(const PredicateLibrary &P) {
|
void setCPR1SizeFromPredicates(const PredicateLibrary &P) {
|
||||||
if (P.abiUsesSoftFloat())
|
if (P.useSoftFloat())
|
||||||
CPR1Size = Mips::AFL_REG_NONE;
|
CPR1Size = Mips::AFL_REG_NONE;
|
||||||
else if (P.hasMSA())
|
else if (P.hasMSA())
|
||||||
CPR1Size = Mips::AFL_REG_128;
|
CPR1Size = Mips::AFL_REG_128;
|
||||||
@ -159,7 +159,7 @@ public:
|
|||||||
Is32BitABI = P.isABI_O32();
|
Is32BitABI = P.isABI_O32();
|
||||||
|
|
||||||
FpABI = FpABIKind::ANY;
|
FpABI = FpABIKind::ANY;
|
||||||
if (P.abiUsesSoftFloat())
|
if (P.useSoftFloat())
|
||||||
FpABI = FpABIKind::SOFT;
|
FpABI = FpABIKind::SOFT;
|
||||||
else if (P.isABI_N32() || P.isABI_N64())
|
else if (P.isABI_N32() || P.isABI_N64())
|
||||||
FpABI = FpABIKind::S64;
|
FpABI = FpABIKind::S64;
|
||||||
|
@ -127,7 +127,7 @@ Mips16TargetLowering::Mips16TargetLowering(const MipsTargetMachine &TM,
|
|||||||
// Set up the register classes
|
// Set up the register classes
|
||||||
addRegisterClass(MVT::i32, &Mips::CPU16RegsRegClass);
|
addRegisterClass(MVT::i32, &Mips::CPU16RegsRegClass);
|
||||||
|
|
||||||
if (!Subtarget.abiUsesSoftFloat())
|
if (!Subtarget.useSoftFloat())
|
||||||
setMips16HardFloatLibCalls();
|
setMips16HardFloatLibCalls();
|
||||||
|
|
||||||
setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Expand);
|
setOperationAction(ISD::ATOMIC_FENCE, MVT::Other, Expand);
|
||||||
|
@ -64,9 +64,9 @@ def RetCC_F128HardFloat : CallingConv<[
|
|||||||
// Handle F128 specially since we can't identify the original type during the
|
// Handle F128 specially since we can't identify the original type during the
|
||||||
// tablegen-erated code.
|
// tablegen-erated code.
|
||||||
def RetCC_F128 : CallingConv<[
|
def RetCC_F128 : CallingConv<[
|
||||||
CCIfSubtarget<"abiUsesSoftFloat()",
|
CCIfSubtarget<"useSoftFloat()",
|
||||||
CCIfType<[i64], CCDelegateTo<RetCC_F128SoftFloat>>>,
|
CCIfType<[i64], CCDelegateTo<RetCC_F128SoftFloat>>>,
|
||||||
CCIfSubtargetNot<"abiUsesSoftFloat()",
|
CCIfSubtargetNot<"useSoftFloat()",
|
||||||
CCIfType<[i64], CCDelegateTo<RetCC_F128HardFloat>>>
|
CCIfType<[i64], CCDelegateTo<RetCC_F128HardFloat>>>
|
||||||
]>;
|
]>;
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ def CC_MipsN : CallingConv<[
|
|||||||
CCIfType<[i8, i16, i32], CCIfOrigArgWasNotFloat<CCPromoteToType<i64>>>,
|
CCIfType<[i8, i16, i32], CCIfOrigArgWasNotFloat<CCPromoteToType<i64>>>,
|
||||||
|
|
||||||
// The only i32's we have left are soft-float arguments.
|
// The only i32's we have left are soft-float arguments.
|
||||||
CCIfSubtarget<"abiUsesSoftFloat()", CCIfType<[i32], CCDelegateTo<CC_MipsN_SoftFloat>>>,
|
CCIfSubtarget<"useSoftFloat()", CCIfType<[i32], CCDelegateTo<CC_MipsN_SoftFloat>>>,
|
||||||
|
|
||||||
// Integer arguments are passed in integer registers.
|
// Integer arguments are passed in integer registers.
|
||||||
CCIfType<[i64], CCAssignToRegWithShadow<[A0_64, A1_64, A2_64, A3_64,
|
CCIfType<[i64], CCAssignToRegWithShadow<[A0_64, A1_64, A2_64, A3_64,
|
||||||
@ -372,7 +372,7 @@ def CC_Mips_FixedArg : CallingConv<[
|
|||||||
// f128 should only occur for the N64 ABI where long double is 128-bit. On
|
// f128 should only occur for the N64 ABI where long double is 128-bit. On
|
||||||
// N32, long double is equivalent to double.
|
// N32, long double is equivalent to double.
|
||||||
CCIfType<[i64],
|
CCIfType<[i64],
|
||||||
CCIfSubtargetNot<"abiUsesSoftFloat()",
|
CCIfSubtargetNot<"useSoftFloat()",
|
||||||
CCIfOrigArgWasF128<CCBitConvertToType<f64>>>>,
|
CCIfOrigArgWasF128<CCBitConvertToType<f64>>>>,
|
||||||
|
|
||||||
CCIfCC<"CallingConv::Fast", CCDelegateTo<CC_Mips_FastCC>>,
|
CCIfCC<"CallingConv::Fast", CCDelegateTo<CC_Mips_FastCC>>,
|
||||||
|
@ -3017,7 +3017,7 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
|
|||||||
// when allocating floating point values to integer registers.
|
// when allocating floating point values to integer registers.
|
||||||
// This shouldn't influence how we load the value into registers unless
|
// This shouldn't influence how we load the value into registers unless
|
||||||
// we are targetting softfloat.
|
// we are targetting softfloat.
|
||||||
if (VA.getValVT().isFloatingPoint() && !Subtarget.abiUsesSoftFloat())
|
if (VA.getValVT().isFloatingPoint() && !Subtarget.useSoftFloat())
|
||||||
LocVT = VA.getValVT();
|
LocVT = VA.getValVT();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3087,7 +3087,7 @@ MipsTargetLowering::CanLowerReturn(CallingConv::ID CallConv,
|
|||||||
|
|
||||||
bool
|
bool
|
||||||
MipsTargetLowering::shouldSignExtendTypeInLibCall(EVT Type, bool IsSigned) const {
|
MipsTargetLowering::shouldSignExtendTypeInLibCall(EVT Type, bool IsSigned) const {
|
||||||
if (Subtarget.hasMips3() && Subtarget.abiUsesSoftFloat()) {
|
if (Subtarget.hasMips3() && Subtarget.useSoftFloat()) {
|
||||||
if (Type == MVT::i32)
|
if (Type == MVT::i32)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,7 @@ def IsSingleFloat : Predicate<"Subtarget->isSingleFloat()">,
|
|||||||
AssemblerPredicate<"FeatureSingleFloat">;
|
AssemblerPredicate<"FeatureSingleFloat">;
|
||||||
def IsNotSingleFloat : Predicate<"!Subtarget->isSingleFloat()">,
|
def IsNotSingleFloat : Predicate<"!Subtarget->isSingleFloat()">,
|
||||||
AssemblerPredicate<"!FeatureSingleFloat">;
|
AssemblerPredicate<"!FeatureSingleFloat">;
|
||||||
def IsNotSoftFloat : Predicate<"!Subtarget->abiUsesSoftFloat()">,
|
def IsNotSoftFloat : Predicate<"!Subtarget->useSoftFloat()">,
|
||||||
AssemblerPredicate<"!FeatureSoftFloat">;
|
AssemblerPredicate<"!FeatureSoftFloat">;
|
||||||
|
|
||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
@ -99,7 +99,7 @@ MipsSETargetLowering::MipsSETargetLowering(const MipsTargetMachine &TM,
|
|||||||
setTargetDAGCombine(ISD::XOR);
|
setTargetDAGCombine(ISD::XOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Subtarget.abiUsesSoftFloat()) {
|
if (!Subtarget.useSoftFloat()) {
|
||||||
addRegisterClass(MVT::f32, &Mips::FGR32RegClass);
|
addRegisterClass(MVT::f32, &Mips::FGR32RegClass);
|
||||||
|
|
||||||
// When dealing with single precision only, use libcalls
|
// When dealing with single precision only, use libcalls
|
||||||
|
@ -236,9 +236,7 @@ public:
|
|||||||
|
|
||||||
bool hasStandardEncoding() const { return !inMips16Mode(); }
|
bool hasStandardEncoding() const { return !inMips16Mode(); }
|
||||||
|
|
||||||
bool abiUsesSoftFloat() const {
|
bool useSoftFloat() const { return IsSoftFloat && !InMips16HardFloat; }
|
||||||
return IsSoftFloat && !InMips16HardFloat;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool enableLongBranchPass() const {
|
bool enableLongBranchPass() const {
|
||||||
return hasStandardEncoding() || allowMixed16_32();
|
return hasStandardEncoding() || allowMixed16_32();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user