Lines Matching defs:IM

88 void declareInstExpansion(CodeExpansions &CE, const InstructionMatcher &IM,
90 CE.declare(Name, "State.MIs[" + to_string(IM.getInsnVarID()) + "]");
683 /// Adds a matcher \p P to \p IM, expanding its code using \p CE.
731 InstructionMatcher *IM,
764 InstructionMatcher &IM, const CodeGenInstructionPattern &P,
1032 auto &IM = *std::prev(M.insnmatchers().end());
1041 IM->addPredicate<GenericInstructionPredicateMatcher>(
1497 InstructionMatcher &IM = M.addInstructionMatcher(IP.getName());
1498 declareInstExpansion(CE, IM, IP.getName());
1507 if (!emitCodeGenInstructionMatchPattern(CE, Alts, M, IM, *CGP, SeenPats,
1516 if (!emitPatFragMatchPattern(CE, Alts, M, &IM, *PFP, SeenPats))
1535 if (!emitPatFragMatchPattern(CE, Alts, M, /*IM*/ nullptr,
1573 InstructionMatcher &IM = M.addInstructionMatcher(AOP.getName());
1574 declareInstExpansion(CE, IM, AOP.getName());
1577 assert(IM.getInsnVarID() == 0);
1579 IM.addPredicate<InstructionOpcodeMatcher>(CGI);
1593 if (!emitPatFragMatchPattern(CE, Alts, M, /*IM*/ nullptr,
1631 InstructionMatcher *IM, const PatFragPattern &PFP,
1641 if (!IM) {
1642 // When we don't have an IM, this means this PatFrag isn't reachable from
1650 // When an IM is provided, this is reachable from the root, and we're
1732 PatFragCEs, Alts, RM, *IM, *cast<CodeGenInstructionPattern>(Def),
2117 InstructionMatcher &IM, const CodeGenInstructionPattern &P,
2127 IM.addPredicate<InstructionOpcodeMatcher>(&P.getInst());
2128 declareInstExpansion(CE, IM, P.getName());
2133 OperandMatcher &OM = IM.addOperand(P.getNumInstDefs(), "$intrinsic_id",
2143 IM.addPredicate<MIFlagsInstructionPredicateMatcher>(SetF.getArrayRef());
2145 IM.addPredicate<MIFlagsInstructionPredicateMatcher>(UnsetF.getArrayRef(),
2154 // operand names (in IM.addOperand). CodeExpansions and OperandTable lookups
2174 IM.addOperand(RealIdx, OpName, AllocatedTemporariesBaseID++);
2239 auto &IM = (*InstOpM)->getInsnMatcher();
2241 if (!emitCodeGenInstructionMatchPattern(CE, Alts, M, IM, *CGIDef,
2249 if (!emitPatFragMatchPattern(CE, Alts, M, &IM, *PFPDef, SeenPats))