mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 21:00:29 +00:00
Move XCore from getRegClassForInlineAsmConstraint to
getRegForInlineAsmConstraint. Part of rdar://9643582 llvm-svn: 134080
This commit is contained in:
parent
3cd31a95dd
commit
ef4ee8ac18
@ -1591,21 +1591,18 @@ XCoreTargetLowering::isLegalAddressingMode(const AddrMode &AM,
|
||||
// XCore Inline Assembly Support
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
std::vector<unsigned> XCoreTargetLowering::
|
||||
getRegClassForInlineAsmConstraint(const std::string &Constraint,
|
||||
EVT VT) const
|
||||
{
|
||||
if (Constraint.size() != 1)
|
||||
return std::vector<unsigned>();
|
||||
|
||||
std::pair<unsigned, const TargetRegisterClass*>
|
||||
XCoreTargetLowering::
|
||||
getRegForInlineAsmConstraint(const std::string &Constraint,
|
||||
EVT VT) const {
|
||||
if (Constraint.size() == 1) {
|
||||
switch (Constraint[0]) {
|
||||
default : break;
|
||||
case 'r':
|
||||
return make_vector<unsigned>(XCore::R0, XCore::R1, XCore::R2,
|
||||
XCore::R3, XCore::R4, XCore::R5,
|
||||
XCore::R6, XCore::R7, XCore::R8,
|
||||
XCore::R9, XCore::R10, XCore::R11, 0);
|
||||
break;
|
||||
return std::make_pair(0U, XCore::GRRegsRegisterClass);
|
||||
}
|
||||
return std::vector<unsigned>();
|
||||
}
|
||||
// Use the default implementation in TargetLowering to convert the register
|
||||
// constraint into a member of a register class.
|
||||
return TargetLowering::getRegForInlineAsmConstraint(Constraint, VT);
|
||||
}
|
||||
|
@ -148,8 +148,8 @@ namespace llvm {
|
||||
SDValue LowerTRAMPOLINE(SDValue Op, SelectionDAG &DAG) const;
|
||||
|
||||
// Inline asm support
|
||||
std::vector<unsigned>
|
||||
getRegClassForInlineAsmConstraint(const std::string &Constraint,
|
||||
std::pair<unsigned, const TargetRegisterClass*>
|
||||
getRegForInlineAsmConstraint(const std::string &Constraint,
|
||||
EVT VT) const;
|
||||
|
||||
// Expand specifics
|
||||
|
Loading…
Reference in New Issue
Block a user