#ifdef GET_ASSEMBLER_HEADER
#undef GET_ASSEMBLER_HEADER
FeatureBitset ComputeAvailableFeatures(const FeatureBitset &FB) const;
void convertToMCInst(unsigned Kind, MCInst &Inst, unsigned Opcode,
const OperandVector &Operands);
void convertToMapAndConstraints(unsigned Kind,
const OperandVector &Operands) override;
unsigned MatchInstructionImpl(const OperandVector &Operands,
MCInst &Inst,
uint64_t &ErrorInfo,
FeatureBitset &MissingFeatures,
bool matchingInlineAsm,
unsigned VariantID = …MissingFeatures;
return MatchInstructionImpl(Operands, Inst, ErrorInfo, MissingFeatures,
matchingInlineAsm, VariantID);
}
#endif
#ifdef GET_OPERAND_DIAGNOSTIC_TYPES
#undef GET_OPERAND_DIAGNOSTIC_TYPES
#endif
#ifdef GET_REGISTER_MATCHER
#undef GET_REGISTER_MATCHER
enum SubtargetFeatureBits : uint8_t { … } MSP430::R7;
case '8':
return MSP430::R8;
case '9':
return MSP430::R9;
}
break;
case 3:
if (memcmp(Name.data()+0, "r1", 2) != 0)
break;
switch (Name[2]) { … }
default: break;
case '0':
return MSP430::R10;
case '1':
return MSP430::R11;
case '2':
return MSP430::R12;
case '3':
return MSP430::R13;
case '4':
return MSP430::R14;
case '5':
return MSP430::R15;
}
break;
}
return MSP430::NoRegister;
}
static MCRegister MatchRegisterAltName(StringRef Name) { … }
switch (Name.size()) { … }
default: break;
case 2:
switch (Name[0]) { … }
default: break;
case 'c':
if (Name[1] != 'g')
break;
return MSP430::CG;
case 'f':
if (Name[1] != 'p')
break;
return MSP430::R4;
case 'p':
if (Name[1] != 'c')
break;
return MSP430::PC;
case 's':
switch (Name[1]) { … }
default: break;
case 'p':
return MSP430::SP;
case 'r':
return MSP430::SR;
}
break;
}
break;
}
return MSP430::NoRegister;
}
#endif
#ifdef GET_SUBTARGET_FEATURE_NAME
#undef GET_SUBTARGET_FEATURE_NAME
static const char *getSubtargetFeatureName(uint64_t Val) { … }
return "(unknown)";
}
#endif
#ifdef GET_MATCHER_IMPLEMENTATION
#undef GET_MATCHER_IMPLEMENTATION
enum { … }
Tie0_1_1,
Tie1_1_1,
};
static const uint8_t TiedAsmOperandTable[][3] = …