Lines Matching refs:Pattern

56   const PatternToMatch &Pattern;
59 /// PatWithNoTypes - This is a clone of Pattern.getSrcPattern() that starts
150 : Pattern(pattern), CGP(cgp), NextRecordedOperandNo(0), TheMatcher(nullptr),
165 PatWithNoTypes = Pattern.getSrcPattern().clone();
197 // Pattern Match Generation
209 if (&N == &Pattern.getSrcPattern()) {
284 if (&N == &Pattern.getSrcPattern()) {
345 if (&N == &Pattern.getSrcPattern())
407 const TreePatternNode &Root = Pattern.getSrcPattern();
433 if (N.NodeHasProperty(SDNPOutGlue, CGP) && &N != &Pattern.getSrcPattern()) {
557 Pattern.getSrcPattern().getComplexPatternInfo(CGP)) {
560 "Complex Pattern must specify what it can match");
571 EmitMatchCode(Pattern.getSrcPattern(), *PatWithNoTypes);
575 std::string PredicateCheck = Pattern.getPredicateCheck();
787 bool isRoot = &N == &Pattern.getDstPattern();
792 const TreePatternNode &SrcPat = Pattern.getSrcPattern();
911 if (isRoot && !Pattern.getDstRegs().empty()) {
918 for (const Record *Reg : Pattern.getDstRegs()) {
929 if (isRoot && Pattern.getSrcPattern().NodeHasProperty(SDNPVariadic, CGP))
930 NumFixedArityOperands = Pattern.getSrcPattern().getNumChildren();
940 Pattern.getSrcPattern().TreeHasProperty(SDNPMemOperand, CGP);
945 numNodesThatMayLoadOrStore(Pattern.getDstPattern(), CGP);
955 if (Pattern.getSrcPattern().TreeHasProperty(SDNPHasChain, CGP)) {
1036 EmitResultOperand(Pattern.getDstPattern(), Ops);
1044 unsigned NumSrcResults = Pattern.getSrcPattern().getNumTypes();
1047 if (!Pattern.getDstRegs().empty()) {
1051 const TreePatternNode &DstPat = Pattern.getDstPattern();
1060 for (const Record *Reg : Pattern.getDstRegs()) {
1070 for (unsigned ResNo = 0; ResNo < Pattern.getDstPattern().getNumResults();
1072 Results[ResNo] = Ops[Pattern.getDstPattern().getResultIndex(ResNo)];
1076 AddMatcher(new CompleteMatchMatcher(Results, Pattern));
1081 Matcher *llvm::ConvertPatternToMatcher(const PatternToMatch &Pattern,
1084 MatcherGen Gen(Pattern, CGP);
1095 // If the match succeeds, then we generate Pattern.