Lines Matching refs:InsnMatcher
906 unsigned getInsnVarID(InstructionMatcher &InsnMatcher) const;
928 void reserveInsnMatcherForMutation(InstructionMatcher *InsnMatcher) { in reserveInsnMatcherForMutation() argument
929 bool R = MutatableInsns.erase(InsnMatcher); in reserveInsnMatcherForMutation()
2434 InstructionMatcher &InsnMatcher = *Matchers.front(); in getFirstConditionAsRootType() local
2435 if (!InsnMatcher.predicates_empty()) in getFirstConditionAsRootType()
2437 dyn_cast<LLTOperandMatcher>(&**InsnMatcher.predicates_begin())) in getFirstConditionAsRootType()
2454 std::unique_ptr<InstructionMatcher> InsnMatcher; member in __anon612774070111::InstructionOperandMatcher
2461 InsnMatcher(new InstructionMatcher(Rule, SymbolicName, NumOpsCheck)) {} in InstructionOperandMatcher()
2467 InstructionMatcher &getInsnMatcher() const { return *InsnMatcher; } in getInsnMatcher()
2470 const unsigned NewInsnVarID = InsnMatcher->getInsnVarID(); in emitCaptureOpcodes()
2483 InsnMatcher->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2494 if (InsnMatcher->isHigherPriorityThan(*BP->InsnMatcher)) in isHigherPriorityThan()
2694 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes() local
2695 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2725 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes() local
2726 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2969 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes() local
2970 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
3279 unsigned RuleMatcher::getInsnVarID(InstructionMatcher &InsnMatcher) const { in getInsnVarID()
3280 const auto &I = InsnVariableIDs.find(&InsnMatcher); in getInsnVarID()
3589 InstructionMatcher &InsnMatcher,
3593 Error importChildMatcher(RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3599 RuleMatcher &M, InstructionMatcher &InsnMatcher,
3681 InstructionMatcher &InsnMatcher, bool &HasAddedMatcher);
3803 InstructionMatcher &InsnMatcher, bool &HasAddedMatcher) { in addBuiltinPredicates() argument
3816 InsnMatcher.addPredicate<MemoryAddressSpacePredicateMatcher>( in addBuiltinPredicates()
3823 InsnMatcher.addPredicate<MemoryAlignmentPredicateMatcher>(0, MinAlign); in addBuiltinPredicates()
3828 InsnMatcher.addPredicate<MemoryVsLLTSizePredicateMatcher>( in addBuiltinPredicates()
3830 return InsnMatcher; in addBuiltinPredicates()
3833 InsnMatcher.addPredicate<MemoryVsLLTSizePredicateMatcher>( in addBuiltinPredicates()
3835 return InsnMatcher; in addBuiltinPredicates()
3846 InsnMatcher.addPredicate<MemorySizePredicateMatcher>(0, *MemSizeInBits / in addBuiltinPredicates()
3849 InsnMatcher.addPredicate<MemoryVsLLTSizePredicateMatcher>( in addBuiltinPredicates()
3852 return InsnMatcher; in addBuiltinPredicates()
3857 InsnMatcher.addPredicate<MemoryVsLLTSizePredicateMatcher>( in addBuiltinPredicates()
3865 return InsnMatcher; in addBuiltinPredicates()
3870 return InsnMatcher; in addBuiltinPredicates()
3874 return InsnMatcher; in addBuiltinPredicates()
3882 InsnMatcher.addPredicate<MemorySizePredicateMatcher>(0, in addBuiltinPredicates()
3884 return InsnMatcher; in addBuiltinPredicates()
3891 return InsnMatcher; in addBuiltinPredicates()
3896 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>("Monotonic"); in addBuiltinPredicates()
3897 return InsnMatcher; in addBuiltinPredicates()
3900 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>("Acquire"); in addBuiltinPredicates()
3901 return InsnMatcher; in addBuiltinPredicates()
3904 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>("Release"); in addBuiltinPredicates()
3905 return InsnMatcher; in addBuiltinPredicates()
3908 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in addBuiltinPredicates()
3910 return InsnMatcher; in addBuiltinPredicates()
3913 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in addBuiltinPredicates()
3915 return InsnMatcher; in addBuiltinPredicates()
3920 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in addBuiltinPredicates()
3922 return InsnMatcher; in addBuiltinPredicates()
3925 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in addBuiltinPredicates()
3927 return InsnMatcher; in addBuiltinPredicates()
3931 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in addBuiltinPredicates()
3933 return InsnMatcher; in addBuiltinPredicates()
3936 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in addBuiltinPredicates()
3938 return InsnMatcher; in addBuiltinPredicates()
3941 return InsnMatcher; in addBuiltinPredicates()
3945 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in createAndImportSelDAGMatcher() argument
3957 InsnMatcher.addPredicate<InstructionOpcodeMatcher>( in createAndImportSelDAGMatcher()
3970 InsnMatcher.addPredicate<InstructionOpcodeMatcher>(SrcGIOrNull); in createAndImportSelDAGMatcher()
3977 OperandMatcher &OM = InsnMatcher.addOperand(OpIdx++, "", TempOpIdx); in createAndImportSelDAGMatcher()
3990 InsnMatcher.addPredicate<InstructionImmPredicateMatcher>(Predicate); in createAndImportSelDAGMatcher()
3995 SrcGIEquivOrNull, Predicate, InsnMatcher, HasAddedBuiltinMatcher); in createAndImportSelDAGMatcher()
4009 InsnMatcher.addPredicate<GenericInstructionPredicateMatcher>(Predicate); in createAndImportSelDAGMatcher()
4020 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>("NotAtomic"); in createAndImportSelDAGMatcher()
4023 InsnMatcher.addPredicate<AtomicOrderingMMOPredicateMatcher>( in createAndImportSelDAGMatcher()
4031 InsnMatcher.addOperand(OpIdx++, Src->getName(), TempOpIdx); in createAndImportSelDAGMatcher()
4044 InsnMatcher.addOperand(OpIdx++, "", TempOpIdx); in createAndImportSelDAGMatcher()
4045 return InsnMatcher; in createAndImportSelDAGMatcher()
4064 InsnMatcher.addOperand(OpIdx++, SrcChild->getName(), TempOpIdx); in createAndImportSelDAGMatcher()
4087 if (auto Error = importChildMatcher(Rule, InsnMatcher, PtrChild, true, in createAndImportSelDAGMatcher()
4091 if (auto Error = importChildMatcher(Rule, InsnMatcher, ValueChild, false, in createAndImportSelDAGMatcher()
4094 return InsnMatcher; in createAndImportSelDAGMatcher()
4128 InsnMatcher.addOperand(OpIdx++, SrcChild->getName(), TempOpIdx); in createAndImportSelDAGMatcher()
4142 importChildMatcher(Rule, InsnMatcher, SrcChild, OperandIsAPointer, in createAndImportSelDAGMatcher()
4148 return InsnMatcher; in createAndImportSelDAGMatcher()
4182 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in importChildMatcher() argument
4201 PhysReg ? InsnMatcher.addPhysRegInput(PhysReg, OpIdx, TempOpIdx) in importChildMatcher()
4202 : InsnMatcher.addOperand(OpIdx, SrcChildName, TempOpIdx); in importChildMatcher()
4271 InsnMatcher.getRuleMatcher(), SrcChild->getName()); in importChildMatcher()
4360 InsnMatcher.getRuleMatcher(), SrcChild->getName(), false); in importChildMatcher()
4546 RuleMatcher &M, InstructionMatcher &InsnMatcher, const TreePatternNode *Src, in createAndImportInstructionRenderer() argument
4555 for (auto PhysInput : InsnMatcher.getPhysRegInputs()) { in createAndImportInstructionRenderer()
5164 InstructionMatcher &InsnMatcher = InsnMatcherOrError.get(); in runOnPattern() local
5177 OperandMatcher &OM0 = InsnMatcher.getOperand(0); in runOnPattern()
5245 OperandMatcher &OM = InsnMatcher.getOperand(OpIdx); in runOnPattern()
5256 OperandMatcher &OM = InsnMatcher.getOperand(OpIdx); in runOnPattern()
5268 OperandMatcher &OM = InsnMatcher.getOperand(OpIdx); in runOnPattern()
5277 createAndImportInstructionRenderer(M, InsnMatcher, Src, Dst); in runOnPattern()
5955 InstructionMatcher &InsnMatcher = *Item.first; in optimize() local
5956 for (auto &OM : InsnMatcher.operands()) { in optimize()
5968 InsnMatcher.optimize(); in optimize()