reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

utils/TableGen/CodeGenDAGPatterns.cpp
 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;