Lines Matching refs:MatchableInfo
379 struct MatchableInfo { struct
543 MatchableInfo(const CodeGenInstruction &CGI) in MatchableInfo() function
548 MatchableInfo(std::unique_ptr<const CodeGenInstAlias> Alias) in MatchableInfo() function
558 MatchableInfo(const MatchableInfo &RHS) in MatchableInfo() argument
569 ~MatchableInfo() { in ~MatchableInfo() argument
614 bool operator<(const MatchableInfo &RHS) const { in operator <() argument
655 bool couldMatchAmbiguouslyWith(const MatchableInfo &RHS) const { in couldMatchAmbiguouslyWith() argument
705 const MatchableInfo* MI;
708 static OperandMatchEntry create(const MatchableInfo *mi, ClassInfo *ci, in create()
733 std::vector<std::unique_ptr<MatchableInfo>> Matchables;
772 void buildInstructionOperandReference(MatchableInfo *II, StringRef OpName,
774 void buildAliasOperandReference(MatchableInfo *II, StringRef OpName,
775 MatchableInfo::AsmOperand &Op);
810 LLVM_DUMP_METHOD void MatchableInfo::dump() const { in dump()
846 void MatchableInfo::formTwoOperandAlias(StringRef Constraint) { in formTwoOperandAlias()
892 extractSingletonRegisterForAsmOperand(MatchableInfo::AsmOperand &Op, in extractSingletonRegisterForAsmOperand()
920 void MatchableInfo::initialize(const AsmMatcherInfo &Info, in initialize()
956 for (MatchableInfo::AsmOperand &Op : AsmOperands) { in initialize()
971 void MatchableInfo::addAsmOperand(StringRef Token, bool IsIsolatedToken) { in addAsmOperand()
976 void MatchableInfo::tokenizeAsmString(const AsmMatcherInfo &Info, in tokenizeAsmString()
1060 bool MatchableInfo::validate(StringRef CommentDelimiter, bool IsAlias) const { in validate()
1458 const MatchableInfo::AsmOperand &Op = MI->AsmOperands[i]; in buildOperandMatchInfo()
1525 auto II = std::make_unique<MatchableInfo>(*CGI); in buildInfo()
1555 auto II = std::make_unique<MatchableInfo>(std::move(Alias)); in buildInfo()
1574 std::vector<std::unique_ptr<MatchableInfo>> NewMatchables; in buildInfo()
1580 MatchableInfo::AsmOperand &Op = II->AsmOperands[i]; in buildInfo()
1624 auto AliasII = std::make_unique<MatchableInfo>(*II); in buildInfo()
1675 buildInstructionOperandReference(MatchableInfo *II, in buildInstructionOperandReference()
1680 MatchableInfo::AsmOperand *Op = &II->AsmOperands[AsmOpIdx]; in buildInstructionOperandReference()
1699 MatchableInfo::AsmOperand NewAsmOp(/*IsIsolatedToken=*/true, Token); in buildInstructionOperandReference()
1738 void AsmMatcherInfo::buildAliasOperandReference(MatchableInfo *II, in buildAliasOperandReference()
1740 MatchableInfo::AsmOperand &Op) { in buildAliasOperandReference()
1764 void MatchableInfo::buildInstructionResultOperands() { in buildInstructionResultOperands()
1813 void MatchableInfo::buildAliasResultOperands(bool AliasConstraintsAreChecked) { in buildAliasResultOperands()
1940 std::vector<std::unique_ptr<MatchableInfo>> &Infos, in emitConvertFuncs()
2084 const MatchableInfo::ResOperand &OpInfo = II->ResOperands[i]; in emitConvertFuncs()
2088 case MatchableInfo::ResOperand::RenderAsmOperand: { in emitConvertFuncs()
2090 const MatchableInfo::AsmOperand &Op = in emitConvertFuncs()
2159 case MatchableInfo::ResOperand::TiedOperand: { in emitConvertFuncs()
2183 case MatchableInfo::ResOperand::ImmOperand: { in emitConvertFuncs()
2211 case MatchableInfo::ResOperand::RegOperand: { in emitConvertFuncs()
2887 const MatchableInfo &II = *OMI.MI; in emitCustomOperandParsing()
3206 [](const std::unique_ptr<MatchableInfo> &a, in run()
3207 const std::unique_ptr<MatchableInfo> &b) { return *a < *b; }); in run()
3230 const MatchableInfo &A = **I; in run()
3231 const MatchableInfo &B = **J; in run()
3525 for (const MatchableInfo::AsmOperand &Op : MI->AsmOperands) in run()