reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
1663 for (const TreePatternNodePtr &C : Children) 1673 for (const TreePatternNodePtr &C : Children) 1686 for (const TreePatternNodePtr &C : Children) 1891 TreePatternNodePtr TreePatternNode::clone() const { 1892 TreePatternNodePtr New; 1896 std::vector<TreePatternNodePtr> CChildren; 1924 std::map<std::string, TreePatternNodePtr> &ArgMap) { 1936 TreePatternNodePtr NewChild = ArgMap[Child->getName()]; 1954 TreePatternNodePtr T, TreePattern &TP, 1955 std::vector<TreePatternNodePtr> &OutAlternatives) { 1974 std::vector<std::vector<TreePatternNodePtr> > ChildAlternatives; 1977 TreePatternNodePtr Child = getChildShared(i); 1996 std::vector<TreePatternNodePtr> NewChildren; 1999 TreePatternNodePtr R = std::make_shared<TreePatternNode>( 2048 std::map<std::string, TreePatternNodePtr> ArgMap; 2050 TreePatternNodePtr Child = getChildShared(i); 2060 TreePatternNodePtr FragTree = Alternative->clone(); 2670 TreePattern::TreePattern(Record *TheRec, TreePatternNodePtr Pat, bool isInput, 2686 for (TreePatternNodePtr &Tree : Trees) 2698 TreePatternNodePtr TreePattern::ParseTreePattern(Init *TheInit, 2713 TreePatternNodePtr Res = std::make_shared<TreePatternNode>(DI, 1); 2728 TreePatternNodePtr Res = std::make_shared<TreePatternNode>(TheInit, 1); 2765 TreePatternNodePtr New = 2815 std::vector<TreePatternNodePtr> Children; 2848 TreePatternNodePtr Child = Children[i]; 2867 TreePatternNodePtr Result = 2885 static bool SimplifyTree(TreePatternNodePtr &N) { 2903 TreePatternNodePtr Child = N->getChildShared(i); 2923 for (TreePatternNodePtr &Tree : Trees) { 2982 for (const TreePatternNodePtr &Tree : Trees) 2999 for (const TreePatternNodePtr &Tree : Trees) { 3216 const TreePatternNodePtr &T = P.getTree(0); 3218 TreePatternNodePtr TPN = T->getChildShared(op); 3237 static bool HandleUse(TreePattern &I, TreePatternNodePtr Pat, 3238 std::map<std::string, TreePatternNodePtr> &InstInputs) { 3264 TreePatternNodePtr &Slot = InstInputs[Pat->getName()]; 3292 TreePattern &I, TreePatternNodePtr Pat, 3293 std::map<std::string, TreePatternNodePtr> &InstInputs, 3294 MapVector<std::string, TreePatternNodePtr, std::map<std::string, unsigned>> 3358 TreePatternNodePtr Dest = Pat->getChildShared(i); 3611 std::map<std::string, TreePatternNodePtr> InstInputs; 3615 MapVector<std::string, TreePatternNodePtr, std::map<std::string, unsigned>> 3625 TreePatternNodePtr Pat = I.getTree(j); 3654 SmallVector<TreePatternNodePtr, 2> ResNodes; 3674 TreePatternNodePtr RNode = InstResultIter->second; 3695 std::vector<TreePatternNodePtr> ResultNodeOperands; 3715 TreePatternNodePtr InVal = InstInputs[OpName]; 3727 TreePatternNodePtr OpNode = InVal->clone(); 3735 std::vector<TreePatternNodePtr> Children; 3748 TreePatternNodePtr ResultPattern = std::make_shared<TreePatternNode>( 3760 TreePatternNodePtr Pattern = I.getTree(0); 3761 TreePatternNodePtr SrcPattern; 3828 TreePatternNodePtr SrcPattern = TheInst.getSrcPattern(); 3829 TreePatternNodePtr ResultPattern = TheInst.getResultPattern(); 4080 static TreePatternNodePtr PromoteXForms(TreePatternNodePtr N) { 4080 static TreePatternNodePtr PromoteXForms(TreePatternNodePtr N) { 4083 std::vector<TreePatternNodePtr> Children; 4091 TreePatternNodePtr Child = N->getChildShared(i); 4163 TreePatternNodePtr DstShared = PromoteXForms(Result.getOnlyTree()); 4214 std::map<std::string, TreePatternNodePtr> InstInputs; 4215 MapVector<std::string, TreePatternNodePtr, std::map<std::string, unsigned>> 4242 TreePatternNodePtr NewSrc = P.SrcPattern->clone(); 4243 TreePatternNodePtr NewDst = P.DstPattern->clone(); 4258 TreePatternNodePtr SrcP = nullptr, DstP = nullptr; 4355 TreePatternNodePtr Orig, 4356 const std::vector<std::vector<TreePatternNodePtr>> &ChildVariants, 4357 std::vector<TreePatternNodePtr> &OutVariants, CodeGenDAGPatterns &CDP, 4379 std::vector<TreePatternNodePtr> NewChildren; 4382 TreePatternNodePtr R = std::make_shared<TreePatternNode>( 4421 static void CombineChildVariants(TreePatternNodePtr Orig, 4422 const std::vector<TreePatternNodePtr> &LHS, 4423 const std::vector<TreePatternNodePtr> &RHS, 4424 std::vector<TreePatternNodePtr> &OutVariants, 4427 std::vector<std::vector<TreePatternNodePtr>> ChildVariants; 4434 GatherChildrenOfAssociativeOpcode(TreePatternNodePtr N, 4435 std::vector<TreePatternNodePtr> &Children) { 4460 static void GenerateVariantsOf(TreePatternNodePtr N, 4461 std::vector<TreePatternNodePtr> &OutVariants, 4476 std::vector<TreePatternNodePtr> MaximalChildren; 4483 std::vector<TreePatternNodePtr> AVariants, BVariants, CVariants; 4493 std::vector<TreePatternNodePtr> ABVariants; 4494 std::vector<TreePatternNodePtr> BAVariants; 4495 std::vector<TreePatternNodePtr> ACVariants; 4496 std::vector<TreePatternNodePtr> CAVariants; 4497 std::vector<TreePatternNodePtr> BCVariants; 4498 std::vector<TreePatternNodePtr> CBVariants; 4526 std::vector<std::vector<TreePatternNodePtr>> ChildVariants; 4558 std::vector<std::vector<TreePatternNodePtr>> Variants; 4566 std::vector<std::vector<TreePatternNodePtr>> Variants; 4596 typedef std::pair<MultipleUseVarSet, std::vector<TreePatternNodePtr>> 4603 std::vector<TreePatternNodePtr> Variants; 4647 const std::vector<TreePatternNodePtr> &Variants = it.second.second; 4650 TreePatternNodePtr Variant = Variants[v];utils/TableGen/CodeGenDAGPatterns.h
663 std::vector<TreePatternNodePtr> Children; 666 TreePatternNode(Record *Op, std::vector<TreePatternNodePtr> Ch, 728 const TreePatternNodePtr &getChildShared(unsigned N) const { 731 void setChild(unsigned i, TreePatternNodePtr N) { Children[i] = N; } 801 TreePatternNodePtr clone() const; 816 SubstituteFormalArguments(std::map<std::string, TreePatternNodePtr> &ArgMap); 821 void InlinePatternFragments(TreePatternNodePtr T, 823 std::vector<TreePatternNodePtr> &OutAlternatives); 868 std::vector<TreePatternNodePtr> Trees; 911 TreePattern(Record *TheRec, TreePatternNodePtr Pat, bool isInput, 916 const std::vector<TreePatternNodePtr> &getTrees() const { return Trees; } 918 const TreePatternNodePtr &getTree(unsigned i) const { return Trees[i]; } 919 void setTree(unsigned i, TreePatternNodePtr Tree) { Trees[i] = Tree; } 920 const TreePatternNodePtr &getOnlyTree() const { 950 std::vector<TreePatternNodePtr> Copy = Trees; 978 TreePatternNodePtr ParseTreePattern(Init *DI, StringRef OpName); 1012 std::vector<TreePatternNodePtr> DefaultOps; 1019 TreePatternNodePtr SrcPattern; 1020 TreePatternNodePtr ResultPattern; 1026 TreePatternNodePtr srcpattern = nullptr, 1027 TreePatternNodePtr resultpattern = nullptr) 1051 TreePatternNodePtr getSrcPattern() const { return SrcPattern; } 1052 TreePatternNodePtr getResultPattern() const { return ResultPattern; } 1110 TreePatternNodePtr src, TreePatternNodePtr dst, 1110 TreePatternNodePtr src, TreePatternNodePtr dst, 1118 TreePatternNodePtr SrcPattern; // Source pattern to match. 1119 TreePatternNodePtr DstPattern; // Resulting pattern. 1129 TreePatternNodePtr getSrcPatternShared() const { return SrcPattern; } 1131 TreePatternNodePtr getDstPatternShared() const { return DstPattern; } 1316 TreePattern &I, TreePatternNodePtr Pat, 1317 std::map<std::string, TreePatternNodePtr> &InstInputs, 1318 MapVector<std::string, TreePatternNodePtr,utils/TableGen/DAGISelMatcherGen.cpp
60 TreePatternNodePtr PatWithNoTypes;