Lines Matching refs:TreePatternNode
1434 static bool isImmAllOnesAllZerosMatch(const TreePatternNode *P) { in isImmAllOnesAllZerosMatch()
1448 static unsigned getPatternSize(const TreePatternNode *P, in getPatternSize()
1469 const TreePatternNode *Child = P->getChild(i); in getPatternSize()
1614 static TreePatternNode *getOperandNum(unsigned OpNo, TreePatternNode *N, in getOperandNum()
1640 bool SDTypeConstraint::ApplyTypeConstraint(TreePatternNode *N, in ApplyTypeConstraint()
1647 TreePatternNode *NodeToApply = getOperandNum(OperandNo, N, NodeInfo, ResNo); in ApplyTypeConstraint()
1668 TreePatternNode *OtherNode = in ApplyTypeConstraint()
1691 TreePatternNode *OtherNode = in ApplyTypeConstraint()
1700 TreePatternNode *BigOperand = in ApplyTypeConstraint()
1708 TreePatternNode *VecOperand = in ApplyTypeConstraint()
1718 TreePatternNode *BigVecOperand = in ApplyTypeConstraint()
1732 TreePatternNode *OtherNode = in ApplyTypeConstraint()
1740 TreePatternNode *OtherNode = in ApplyTypeConstraint()
1753 bool TreePatternNode::UpdateNodeTypeFromInst(unsigned ResNo, in UpdateNodeTypeFromInst()
1785 bool TreePatternNode::ContainsUnresolvedType(TreePattern &TP) const { in ContainsUnresolvedType()
1795 bool TreePatternNode::hasProperTypeByHwMode() const { in hasProperTypeByHwMode()
1805 bool TreePatternNode::hasPossibleType() const { in hasPossibleType()
1815 bool TreePatternNode::setDefaultMode(unsigned Mode) { in setDefaultMode()
1950 void TreePatternNode::print(raw_ostream &OS) const { in print()
1987 void TreePatternNode::dump() const { in dump()
1998 bool TreePatternNode::isIsomorphicTo(const TreePatternNode *N, in isIsomorphicTo()
2027 TreePatternNodePtr TreePatternNode::clone() const { in clone()
2030 New = std::make_shared<TreePatternNode>(getLeafValue(), getNumTypes()); in clone()
2036 New = std::make_shared<TreePatternNode>(getOperator(), std::move(CChildren), in clone()
2048 void TreePatternNode::RemoveAllTypes() { in RemoveAllTypes()
2059 void TreePatternNode::SubstituteFormalArguments( in SubstituteFormalArguments()
2064 TreePatternNode *Child = getChild(i); in SubstituteFormalArguments()
2089 void TreePatternNode::InlinePatternFragments( in InlinePatternFragments()
2138 TreePatternNodePtr R = std::make_shared<TreePatternNode>( in InlinePatternFragments()
2347 const CodeGenIntrinsic *TreePatternNode::
2361 TreePatternNode::getComplexPatternInfo(const CodeGenDAGPatterns &CGP) const { in getComplexPatternInfo()
2376 unsigned TreePatternNode::getNumMIResults(const CodeGenDAGPatterns &CGP) const { in getNumMIResults()
2396 bool TreePatternNode::NodeHasProperty(SDNP Property, in NodeHasProperty()
2424 bool TreePatternNode::TreeHasProperty(SDNP Property, in TreeHasProperty()
2437 TreePatternNode::isCommutativeIntrinsic(const CodeGenDAGPatterns &CDP) const { in isCommutativeIntrinsic()
2443 static bool isOperandClass(const TreePatternNode *N, StringRef Class) { in isOperandClass()
2472 bool TreePatternNode::ApplyTypeConstraints(TreePattern &TP, bool NotRegisters) { in ApplyTypeConstraints()
2625 TreePatternNode *SubIdxChild = getChild(I + 1); in ApplyTypeConstraints()
2669 TreePatternNode *Child = getChild(ChildNo++); in ApplyTypeConstraints()
2760 static bool OnlyOnRHSOfCommutative(TreePatternNode *N) { in OnlyOnRHSOfCommutative()
2776 bool TreePatternNode::canPatternMatch(std::string &Reason, in canPatternMatch()
2853 void TreePattern::ComputeNamedNodes(TreePatternNode *N) { in ComputeNamedNodes()
2877 TreePatternNodePtr Res = std::make_shared<TreePatternNode>(DI, 1); in ParseTreePattern()
2892 TreePatternNodePtr Res = std::make_shared<TreePatternNode>(TheInit, 1); in ParseTreePattern()
2903 return std::make_shared<TreePatternNode>(TheInit, 1); in ParseTreePattern()
3007 Children.insert(Children.begin(), std::make_shared<TreePatternNode>( in ParseTreePattern()
3033 std::make_shared<TreePatternNode>(Operator, std::move(Children), in ParseTreePattern()
3088 InferAllTypes(const StringMap<SmallVector<TreePatternNode*,1> > *InNamedTypes) { in InferAllTypes() argument
3102 SmallVectorImpl<TreePatternNode*> &Nodes = Entry.second; in InferAllTypes()
3113 const SmallVectorImpl<TreePatternNode*> &InNodes = in InferAllTypes()
3117 for (TreePatternNode *Node : Nodes) { in InferAllTypes()
3142 TreePatternNode *N1 = Nodes[i], *N2 = Nodes[i+1]; in InferAllTypes()
3490 TreePatternNode *Dest = Pat->getChild(i); in FindPatternInputsAndOutputs()
3587 const TreePatternNode *N = Pat.getSrcPattern(); in Analyze()
3594 bool IsNodeBitcast(const TreePatternNode *N) const { in IsNodeBitcast()
3613 void AnalyzeNode(const TreePatternNode *N) { in AnalyzeNode()
3752 getInstructionsInTree(TreePatternNode *Tree, SmallVectorImpl<Record*> &Instrs) { in getInstructionsInTree()
3917 OpNode = std::make_shared<TreePatternNode>(Xform, std::move(Children), in parseInstructionPattern()
3928 TreePatternNodePtr ResultPattern = std::make_shared<TreePatternNode>( in parseInstructionPattern()
4019 typedef std::pair<TreePatternNode *, unsigned> NameRecord;
4021 static void FindNames(TreePatternNode *P, in FindNames()
4217 static bool ForceArbitraryInstResultType(TreePatternNode *N, TreePattern &TP) { in ForceArbitraryInstResultType()
4250 return std::make_shared<TreePatternNode>(Xform, std::move(Children), in PromoteXForms()
4390 static void collectModes(std::set<unsigned> &Modes, const TreePatternNode *N) { in collectModes()
4473 static void FindDepVarsOf(TreePatternNode *N, DepVarMap &DepMap) { in FindDepVarsOf()
4484 static void FindDepVars(TreePatternNode *N, MultipleUseVarSet &DepVars) { in FindDepVars()
4539 TreePatternNodePtr R = std::make_shared<TreePatternNode>( in CombineChildVariants()
4702 TreePatternNode *Child = N->getChild(i); in GenerateVariantsOf()