Lines Matching refs:SDNode
68 SUnit *ScheduleDAGSDNodes::newSUnit(SDNode *N) { in newSUnit()
110 static void CheckForPhysRegDependency(SDNode *Def, SDNode *User, unsigned Op, in CheckForPhysRegDependency()
139 static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, ArrayRef<EVT> VTs, in CloneNodeWithValues()
160 static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) { in AddGlue()
161 SDNode *GlueDestNode = Glue.getNode(); in AddGlue()
185 static void RemoveUnusedGlue(SDNode *N, SelectionDAG *DAG) { in RemoveUnusedGlue()
199 void ScheduleDAGSDNodes::ClusterNeighboringLoads(SDNode *Node) { in ClusterNeighboringLoads()
210 auto hasTiedInput = [this](const SDNode *N) { in ClusterNeighboringLoads()
222 SmallPtrSet<SDNode*, 16> Visited; in ClusterNeighboringLoads()
224 DenseMap<long long, SDNode*> O2SMap; // Map from offset to SDNode. in ClusterNeighboringLoads()
226 SDNode *Base = Node; in ClusterNeighboringLoads()
234 for (SDNode::use_iterator I = Chain->use_begin(), E = Chain->use_end(); in ClusterNeighboringLoads()
239 SDNode *User = *I; in ClusterNeighboringLoads()
268 SmallVector<SDNode*, 4> Loads; in ClusterNeighboringLoads()
271 SDNode *BaseLoad = O2SMap[BaseOff]; in ClusterNeighboringLoads()
275 SDNode *Load = O2SMap[Offset]; in ClusterNeighboringLoads()
287 SDNode *Lead = Loads[0]; in ClusterNeighboringLoads()
293 SDNode *Load = Loads[I]; in ClusterNeighboringLoads()
311 for (SDNode &NI : DAG->allnodes()) { in ClusterNodes()
312 SDNode *Node = &NI; in ClusterNodes()
329 for (SDNode &NI : DAG->allnodes()) { in BuildSchedUnits()
342 SmallVector<SDNode*, 64> Worklist; in BuildSchedUnits()
343 SmallPtrSet<SDNode*, 32> Visited; in BuildSchedUnits()
349 SDNode *NI = Worklist.pop_back_val(); in BuildSchedUnits()
369 SDNode *N = NI; in BuildSchedUnits()
386 for (SDNode *U : N->uses()) in BuildSchedUnits()
425 for (const SDNode *SUNode = SU->getNode(); SUNode; in BuildSchedUnits()
429 SDNode *SrcN = SUNode->getOperand(2).getNode(); in BuildSchedUnits()
445 SDNode *MainNode = SU.getNode(); in AddSchedEdges()
461 for (SDNode *N = SU.getNode(); N; N = N->getGluedNode()) { in AddSchedEdges()
473 SDNode *OpN = N->getOperand(i).getNode(); in AddSchedEdges()
611 SDNode *N = SU->getNode(); in computeLatency()
639 for (SDNode *N = SU->getNode(); N; N = N->getGluedNode()) in computeLatency()
644 void ScheduleDAGSDNodes::computeOperandLatency(SDNode *Def, SDNode *Use, in computeOperandLatency()
683 SmallVector<SDNode *, 4> GluedNodes; in dumpNode()
684 for (SDNode *N = SU.getNode()->getGluedNode(); N; N = N->getGluedNode()) in dumpNode()
731 ProcessSDDbgValues(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, in ProcessSDDbgValues()
777 ProcessSourceNode(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, in ProcessSourceNode()
857 [&](SDNode *Node, bool IsClone, bool IsCloned, in EmitSchedule()
926 SmallVector<SDNode *, 4> GluedNodes; in EmitSchedule()
927 for (SDNode *N = SU->getNode()->getGluedNode(); N; N = N->getGluedNode()) in EmitSchedule()
930 SDNode *N = GluedNodes.back(); in EmitSchedule()