Lines Matching refs:MatchableInfo
378 struct MatchableInfo { struct
542 MatchableInfo(const CodeGenInstruction &CGI) in MatchableInfo() function
547 MatchableInfo(std::unique_ptr<const CodeGenInstAlias> Alias) in MatchableInfo() function
557 MatchableInfo(const MatchableInfo &RHS) in MatchableInfo() argument
568 ~MatchableInfo() { in ~MatchableInfo() argument
613 bool operator<(const MatchableInfo &RHS) const { in operator <() argument
645 bool couldMatchAmbiguouslyWith(const MatchableInfo &RHS) const { in couldMatchAmbiguouslyWith() argument
695 const MatchableInfo* MI;
698 static OperandMatchEntry create(const MatchableInfo *mi, ClassInfo *ci, in create()
723 std::vector<std::unique_ptr<MatchableInfo>> Matchables;
762 void buildInstructionOperandReference(MatchableInfo *II, StringRef OpName,
764 void buildAliasOperandReference(MatchableInfo *II, StringRef OpName,
765 MatchableInfo::AsmOperand &Op);
800 LLVM_DUMP_METHOD void MatchableInfo::dump() const { in dump()
836 void MatchableInfo::formTwoOperandAlias(StringRef Constraint) { in formTwoOperandAlias()
882 extractSingletonRegisterForAsmOperand(MatchableInfo::AsmOperand &Op, in extractSingletonRegisterForAsmOperand()
910 void MatchableInfo::initialize(const AsmMatcherInfo &Info, in initialize()
946 for (MatchableInfo::AsmOperand &Op : AsmOperands) { in initialize()
961 void MatchableInfo::addAsmOperand(StringRef Token, bool IsIsolatedToken) { in addAsmOperand()
966 void MatchableInfo::tokenizeAsmString(const AsmMatcherInfo &Info, in tokenizeAsmString()
1050 bool MatchableInfo::validate(StringRef CommentDelimiter, bool IsAlias) const { in validate()
1448 const MatchableInfo::AsmOperand &Op = MI->AsmOperands[i]; in buildOperandMatchInfo()
1515 auto II = std::make_unique<MatchableInfo>(*CGI); in buildInfo()
1545 auto II = std::make_unique<MatchableInfo>(std::move(Alias)); in buildInfo()
1564 std::vector<std::unique_ptr<MatchableInfo>> NewMatchables; in buildInfo()
1570 MatchableInfo::AsmOperand &Op = II->AsmOperands[i]; in buildInfo()
1614 auto AliasII = std::make_unique<MatchableInfo>(*II); in buildInfo()
1665 buildInstructionOperandReference(MatchableInfo *II, in buildInstructionOperandReference()
1670 MatchableInfo::AsmOperand *Op = &II->AsmOperands[AsmOpIdx]; in buildInstructionOperandReference()
1689 MatchableInfo::AsmOperand NewAsmOp(/*IsIsolatedToken=*/true, Token); in buildInstructionOperandReference()
1728 void AsmMatcherInfo::buildAliasOperandReference(MatchableInfo *II, in buildAliasOperandReference()
1730 MatchableInfo::AsmOperand &Op) { in buildAliasOperandReference()
1754 void MatchableInfo::buildInstructionResultOperands() { in buildInstructionResultOperands()
1803 void MatchableInfo::buildAliasResultOperands(bool AliasConstraintsAreChecked) { in buildAliasResultOperands()
1930 std::vector<std::unique_ptr<MatchableInfo>> &Infos, in emitConvertFuncs()
2074 const MatchableInfo::ResOperand &OpInfo = II->ResOperands[i]; in emitConvertFuncs()
2078 case MatchableInfo::ResOperand::RenderAsmOperand: { in emitConvertFuncs()
2080 const MatchableInfo::AsmOperand &Op = in emitConvertFuncs()
2149 case MatchableInfo::ResOperand::TiedOperand: { in emitConvertFuncs()
2173 case MatchableInfo::ResOperand::ImmOperand: { in emitConvertFuncs()
2201 case MatchableInfo::ResOperand::RegOperand: { in emitConvertFuncs()
2877 const MatchableInfo &II = *OMI.MI; in emitCustomOperandParsing()
3196 [](const std::unique_ptr<MatchableInfo> &a, in run()
3197 const std::unique_ptr<MatchableInfo> &b) { return *a < *b; }); in run()
3220 const MatchableInfo &A = **I; in run()
3221 const MatchableInfo &B = **J; in run()
3515 for (const MatchableInfo::AsmOperand &Op : MI->AsmOperands) in run()