Lines Matching refs:OM
940 void defineOperand(StringRef SymbolicName, OperandMatcher &OM);
942 void definePhysRegOperand(Record *Reg, OperandMatcher &OM);
2338 OperandMatcher *OM = new OperandMatcher(*this, OpIdx, "", TempOpIdx); in addPhysRegInput() local
2339 Operands.emplace_back(OM); in addPhysRegInput()
2340 Rule.definePhysRegOperand(Reg, *OM); in addPhysRegInput()
2342 return *OM; in addPhysRegInput()
2538 for (auto &OM : Operands) in optimize() local
2539 for (auto &OP : OM->predicates()) in optimize()
2542 OM->eraseNullPredicates(); in optimize()
2553 for (auto &OM : Operands) { in optimize() local
2554 for (auto &OP : OM->predicates()) in optimize()
2557 OM->eraseNullPredicates(); in optimize()
3087 const OperandMatcher &OM = Rule.getOperandMatcher(Copy->getSymbolicName()); in canMutate() local
3088 if (Insn != &OM.getInstructionMatcher() || in canMutate()
3089 OM.getOpIdx() != Renderer.index()) in canMutate()
3313 void RuleMatcher::defineOperand(StringRef SymbolicName, OperandMatcher &OM) { in defineOperand() argument
3315 DefinedOperands[SymbolicName] = &OM; in defineOperand()
3321 OM.addPredicate<SameOperandMatcher>( in defineOperand()
3322 OM.getSymbolicName(), getOperandMatcher(OM.getSymbolicName()).getOpIdx()); in defineOperand()
3325 void RuleMatcher::definePhysRegOperand(Record *Reg, OperandMatcher &OM) { in definePhysRegOperand() argument
3327 PhysRegOperands[Reg] = &OM; in definePhysRegOperand()
3619 Error importComplexPatternOperandMatcher(OperandMatcher &OM, Record *R,
4010 OperandMatcher &OM = InsnMatcher.addOperand(OpIdx++, "", TempOpIdx); in createAndImportSelDAGMatcher() local
4011 if (auto Error = OM.addTypeCheckPredicate(VTy, false /* OperandIsAPointer */)) in createAndImportSelDAGMatcher()
4074 OperandMatcher &OM = in createAndImportSelDAGMatcher() local
4076 OM.addPredicate<LiteralIntOperandMatcher>(SrcIntInit->getValue()); in createAndImportSelDAGMatcher()
4107 OperandMatcher &OM = in createAndImportSelDAGMatcher() local
4113 OM.addPredicate<CmpPredicateOperandMatcher>(std::string(PredType)); in createAndImportSelDAGMatcher()
4171 OperandMatcher &OM = in createAndImportSelDAGMatcher() local
4173 OM.addPredicate<IntrinsicIDOperandMatcher>(II); in createAndImportSelDAGMatcher()
4196 OperandMatcher &OM, Record *R, unsigned &TempOpIdx) const { in importComplexPatternOperandMatcher() argument
4202 OM.addPredicate<ComplexPatternOperandMatcher>(OM, *ComplexPattern->second); in importComplexPatternOperandMatcher()
4244 OperandMatcher &OM = in importChildMatcher() local
4247 if (OM.isSameAsAnotherOperand()) in importChildMatcher()
4259 OM.addPredicate<MBBOperandMatcher>(); in importChildMatcher()
4263 OM.addPredicate<ImmOperandMatcher>(); in importChildMatcher()
4271 OM.addPredicate<OperandImmPredicateMatcher>(Predicate); in importChildMatcher()
4284 OM.addTypeCheckPredicate(ChildTypes.front(), OperandIsAPointer)) in importChildMatcher()
4298 OM, SrcChild->getOperator(), TempOpIdx)) in importChildMatcher()
4314 auto MaybeInsnOperand = OM.addPredicate<InstructionOperandMatcher>( in importChildMatcher()
4340 OM.addPredicate<LiteralIntOperandMatcher>(ChildInt->getValue()); in importChildMatcher()
4343 OM.addPredicate<ConstantIntOperandMatcher>(ChildInt->getValue()); in importChildMatcher()
4355 OM.addPredicate<RecordNamedOperandMatcher>(StoreIdxForName[Name], Name); in importChildMatcher()
4362 OM.addPredicate<RegisterBankOperandMatcher>( in importChildMatcher()
4377 OM.addPredicate<RegisterBankOperandMatcher>(*RC); in importChildMatcher()
4390 return importComplexPatternOperandMatcher(OM, ChildRec, TempOpIdx); in importChildMatcher()
4403 auto MaybeInsnOperand = OM.addPredicate<InstructionOperandMatcher>( in importChildMatcher()
4422 OperandMatcher &OM = in importChildMatcher() local
4425 OM.addTypeCheckPredicate(VTy, false /* OperandIsAPointer */)) in importChildMatcher()
4576 const OperandMatcher &OM = Rule.getOperandMatcher(DstChild->getName()); in importExplicitUseRenderer() local
4579 OM.getAllocatedTemporariesBaseID()); in importExplicitUseRenderer()
5304 OperandMatcher &OM = InsnMatcher.getOperand(OpIdx); in runOnPattern() local
5305 OM.setSymbolicName(DstIOperand.Name); in runOnPattern()
5306 M.defineOperand(OM.getSymbolicName(), OM); in runOnPattern()
5307 OM.addPredicate<RegisterBankOperandMatcher>(**MaybeSuperClass); in runOnPattern()
5315 OperandMatcher &OM = InsnMatcher.getOperand(OpIdx); in runOnPattern() local
5316 OM.setSymbolicName(DstIOperand.Name); in runOnPattern()
5317 M.defineOperand(OM.getSymbolicName(), OM); in runOnPattern()
5318 OM.addPredicate<RegisterBankOperandMatcher>(**MaybeRegClass); in runOnPattern()
5327 OperandMatcher &OM = InsnMatcher.getOperand(OpIdx); in runOnPattern() local
5328 OM.setSymbolicName(DstIOperand.Name); in runOnPattern()
5329 M.defineOperand(OM.getSymbolicName(), OM); in runOnPattern()
5330 OM.addPredicate<RegisterBankOperandMatcher>( in runOnPattern()
6016 for (auto &OM : InsnMatcher.operands()) { in optimize() local
6023 for (auto &OP : OM->predicates()) in optimize()
6026 OM->eraseNullPredicates(); in optimize()
6043 for (auto &OM : Matcher.operands()) in hasFirstCondition() local
6044 for (auto &OP : OM->predicates()) in hasFirstCondition()
6059 for (auto &OM : Matcher.operands()) in getFirstCondition() local
6060 for (auto &OP : OM->predicates()) in getFirstCondition()
6077 for (auto &OM : Matcher.operands()) in popFirstCondition() local
6078 for (auto &OP : OM->predicates()) in popFirstCondition()
6081 OM->eraseNullPredicates(); in popFirstCondition()