mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-09-27 16:17:17 +00:00
Remove getRegClassForInlineAsmConstraint from the ARM port.
Part of rdar://9643582 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134095 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -7556,47 +7556,6 @@ ARMTargetLowering::getRegForInlineAsmConstraint(const std::string &Constraint,
|
|||||||
return TargetLowering::getRegForInlineAsmConstraint(Constraint, VT);
|
return TargetLowering::getRegForInlineAsmConstraint(Constraint, VT);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<unsigned> ARMTargetLowering::
|
|
||||||
getRegClassForInlineAsmConstraint(const std::string &Constraint,
|
|
||||||
EVT VT) const {
|
|
||||||
if (Constraint.size() != 1)
|
|
||||||
return std::vector<unsigned>();
|
|
||||||
|
|
||||||
switch (Constraint[0]) { // GCC ARM Constraint Letters
|
|
||||||
default: break;
|
|
||||||
case 'l':
|
|
||||||
return make_vector<unsigned>(ARM::R0, ARM::R1, ARM::R2, ARM::R3,
|
|
||||||
ARM::R4, ARM::R5, ARM::R6, ARM::R7,
|
|
||||||
0);
|
|
||||||
case 'r':
|
|
||||||
return make_vector<unsigned>(ARM::R0, ARM::R1, ARM::R2, ARM::R3,
|
|
||||||
ARM::R4, ARM::R5, ARM::R6, ARM::R7,
|
|
||||||
ARM::R8, ARM::R9, ARM::R10, ARM::R11,
|
|
||||||
ARM::R12, ARM::LR, 0);
|
|
||||||
case 'w':
|
|
||||||
if (VT == MVT::f32)
|
|
||||||
return make_vector<unsigned>(ARM::S0, ARM::S1, ARM::S2, ARM::S3,
|
|
||||||
ARM::S4, ARM::S5, ARM::S6, ARM::S7,
|
|
||||||
ARM::S8, ARM::S9, ARM::S10, ARM::S11,
|
|
||||||
ARM::S12,ARM::S13,ARM::S14,ARM::S15,
|
|
||||||
ARM::S16,ARM::S17,ARM::S18,ARM::S19,
|
|
||||||
ARM::S20,ARM::S21,ARM::S22,ARM::S23,
|
|
||||||
ARM::S24,ARM::S25,ARM::S26,ARM::S27,
|
|
||||||
ARM::S28,ARM::S29,ARM::S30,ARM::S31, 0);
|
|
||||||
if (VT.getSizeInBits() == 64)
|
|
||||||
return make_vector<unsigned>(ARM::D0, ARM::D1, ARM::D2, ARM::D3,
|
|
||||||
ARM::D4, ARM::D5, ARM::D6, ARM::D7,
|
|
||||||
ARM::D8, ARM::D9, ARM::D10,ARM::D11,
|
|
||||||
ARM::D12,ARM::D13,ARM::D14,ARM::D15, 0);
|
|
||||||
if (VT.getSizeInBits() == 128)
|
|
||||||
return make_vector<unsigned>(ARM::Q0, ARM::Q1, ARM::Q2, ARM::Q3,
|
|
||||||
ARM::Q4, ARM::Q5, ARM::Q6, ARM::Q7, 0);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return std::vector<unsigned>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// LowerAsmOperandForConstraint - Lower the specified operand into the Ops
|
/// LowerAsmOperandForConstraint - Lower the specified operand into the Ops
|
||||||
/// vector. If it is invalid, don't add anything to Ops.
|
/// vector. If it is invalid, don't add anything to Ops.
|
||||||
void ARMTargetLowering::LowerAsmOperandForConstraint(SDValue Op,
|
void ARMTargetLowering::LowerAsmOperandForConstraint(SDValue Op,
|
||||||
|
@@ -306,9 +306,6 @@ namespace llvm {
|
|||||||
std::pair<unsigned, const TargetRegisterClass*>
|
std::pair<unsigned, const TargetRegisterClass*>
|
||||||
getRegForInlineAsmConstraint(const std::string &Constraint,
|
getRegForInlineAsmConstraint(const std::string &Constraint,
|
||||||
EVT VT) const;
|
EVT VT) const;
|
||||||
std::vector<unsigned>
|
|
||||||
getRegClassForInlineAsmConstraint(const std::string &Constraint,
|
|
||||||
EVT VT) const;
|
|
||||||
|
|
||||||
/// LowerAsmOperandForConstraint - Lower the specified operand into the Ops
|
/// LowerAsmOperandForConstraint - Lower the specified operand into the Ops
|
||||||
/// vector. If it is invalid, don't add anything to Ops. If hasMemory is
|
/// vector. If it is invalid, don't add anything to Ops. If hasMemory is
|
||||||
|
Reference in New Issue
Block a user