Lines Matching refs:SDNode
269 SDNode *Node) const {
535 SmallPtrSet<SDNode*, 128> VisitedNodes;
536 SmallVector<SDNode*, 128> Worklist;
544 SDNode *N = Worklist.pop_back_val();
748 virtual void NodeDeleted(SDNode *N, SDNode *E) {
783 SDNode *Node = --ISelPosition;
790 SDNode *ResNode = Select(Node);
1479 /// SDNode.
1481 static SDNode *findGlueUse(SDNode *N) {
1483 for (SDNode::use_iterator I = N->use_begin(), E = N->use_end(); I != E; ++I) {
1494 static bool findNonImmUse(SDNode *Use, SDNode* Def, SDNode *ImmedUse,
1495 SDNode *Root, SmallPtrSet<SDNode*, 16> &Visited,
1518 SDNode *N = Use->getOperand(i).getNode();
1535 bool SelectionDAGISel::IsProfitableToFold(SDValue N, SDNode *U,
1536 SDNode *Root) const {
1543 bool SelectionDAGISel::IsLegalToFold(SDValue N, SDNode *U, SDNode *Root,
1594 SDNode *GU = findGlueUse(Root);
1608 SmallPtrSet<SDNode*, 16> Visited;
1612 SDNode *SelectionDAGISel::Select_INLINEASM(SDNode *N) {
1623 SDNode *SelectionDAGISel::Select_UNDEF(SDNode *N) {
1648 UpdateChainsAndGlue(SDNode
1649 const SmallVectorImpl<SDNode*> &ChainNodesMatched,
1651 const SmallVectorImpl<SDNode*> &GlueResultNodesMatched,
1653 SmallVector<SDNode*, 4> NowDeadNodes;
1663 SDNode *ChainNode = ChainNodesMatched[i];
1692 SDNode *FRN = GlueResultNodesMatched[i];
1732 WalkChainUsers(const SDNode *ChainedNode,
1733 SmallVectorImpl<SDNode*> &ChainedNodesInPattern,
1734 SmallVectorImpl<SDNode*> &InteriorChainedNodes) {
1737 for (SDNode::use_iterator UI = ChainedNode->use_begin(),
1742 SDNode *User = *UI;
1850 HandleMergeInputChains(SmallVectorImpl<SDNode*> &ChainNodesMatched,
1855 SmallVector<SDNode*, 3> InteriorChainedNodes;
1868 SDNode *N = ChainNodesMatched[i];
1897 SDNode *SelectionDAGISel::
1898 MorphNode(SDNode *Node, unsigned TargetOpc, SDVTList VTList,
1919 SDNode *Res = CurDAG->MorphNodeTo(Node, ~TargetOpc, VTList, Ops, NumOps);
1958 const SmallVectorImpl<std::pair<SDValue, SDNode*> > &RecordedNodes) {
1975 const SelectionDAGISel &SDISel, SDNode *N) {
1981 SDNode *N) {
2071 SmallVectorImpl<std::pair<SDValue, SDNode*> > &RecordedNodes) {
2144 SDNode *SelectionDAGISel::
2145 SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
2199 SmallVector<std::pair<SDValue, SDNode*>, 8> RecordedNodes;
2214 SmallVector<SDNode*, 3> ChainNodesMatched;
2215 SmallVector<SDNode*, 3> GlueResultNodesMatched;
2327 SDNode *Parent = 0;
2519 RecordedNodes.push_back(std::pair<SDValue, SDNode*>(
2520 CurDAG->getTargetConstant(Val, VT), (SDNode*)0));
2527 RecordedNodes.push_back(std::pair<SDValue, SDNode*>(
2528 CurDAG->getRegister(RegNo, VT), (SDNode*)0));
2539 RecordedNodes.push_back(std::pair<SDValue, SDNode*>(
2540 CurDAG->getRegister(RegNo, VT), (SDNode*)0));
2655 RecordedNodes.push_back(std::pair<SDValue,SDNode*>(Res, (SDNode*) 0));
2725 SDNode *Res = 0;
2735 RecordedNodes.push_back(std::pair<SDValue,SDNode*>(SDValue(Res, i),
2736 (SDNode*) 0));
2875 // above. We should fix this to not return an SDNode* anymore.
2935 void SelectionDAGISel::CannotYetSelect(SDNode *N) {