Lines Matching refs:SDNode
69 SUnit *ScheduleDAGSDNodes::newSUnit(SDNode *N) { in newSUnit()
111 static void CheckForPhysRegDependency(SDNode *Def, SDNode *User, unsigned Op, in CheckForPhysRegDependency()
140 static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, ArrayRef<EVT> VTs, in CloneNodeWithValues()
161 static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) { in AddGlue()
162 SDNode *GlueDestNode = Glue.getNode(); in AddGlue()
186 static void RemoveUnusedGlue(SDNode *N, SelectionDAG *DAG) { in RemoveUnusedGlue()
200 void ScheduleDAGSDNodes::ClusterNeighboringLoads(SDNode *Node) { in ClusterNeighboringLoads()
211 auto hasTiedInput = [this](const SDNode *N) { in ClusterNeighboringLoads()
223 SmallPtrSet<SDNode*, 16> Visited; in ClusterNeighboringLoads()
225 DenseMap<long long, SDNode*> O2SMap; // Map from offset to SDNode. in ClusterNeighboringLoads()
227 SDNode *Base = Node; in ClusterNeighboringLoads()
235 for (SDNode::use_iterator I = Chain->use_begin(), E = Chain->use_end(); in ClusterNeighboringLoads()
240 SDNode *User = *I; in ClusterNeighboringLoads()
269 SmallVector<SDNode*, 4> Loads; in ClusterNeighboringLoads()
272 SDNode *BaseLoad = O2SMap[BaseOff]; in ClusterNeighboringLoads()
276 SDNode *Load = O2SMap[Offset]; in ClusterNeighboringLoads()
288 SDNode *Lead = Loads[0]; in ClusterNeighboringLoads()
294 SDNode *Load = Loads[I]; in ClusterNeighboringLoads()
312 for (SDNode &NI : DAG->allnodes()) { in ClusterNodes()
313 SDNode *Node = &NI; in ClusterNodes()
330 for (SDNode &NI : DAG->allnodes()) { in BuildSchedUnits()
343 SmallVector<SDNode*, 64> Worklist; in BuildSchedUnits()
344 SmallPtrSet<SDNode*, 32> Visited; in BuildSchedUnits()
350 SDNode *NI = Worklist.pop_back_val(); in BuildSchedUnits()
370 SDNode *N = NI; in BuildSchedUnits()
387 for (SDNode::use_iterator UI = N->use_begin(), E = N->use_end(); in BuildSchedUnits()
427 for (const SDNode *SUNode = SU->getNode(); SUNode; in BuildSchedUnits()
431 SDNode *SrcN = SUNode->getOperand(2).getNode(); in BuildSchedUnits()
448 SDNode *MainNode = SU->getNode(); in AddSchedEdges()
464 for (SDNode *N = SU->getNode(); N; N = N->getGluedNode()) { in AddSchedEdges()
476 SDNode *OpN = N->getOperand(i).getNode(); in AddSchedEdges()
613 SDNode *N = SU->getNode(); in computeLatency()
641 for (SDNode *N = SU->getNode(); N; N = N->getGluedNode()) in computeLatency()
646 void ScheduleDAGSDNodes::computeOperandLatency(SDNode *Def, SDNode *Use, in computeOperandLatency()
685 SmallVector<SDNode *, 4> GluedNodes; in dumpNode()
686 for (SDNode *N = SU.getNode()->getGluedNode(); N; N = N->getGluedNode()) in dumpNode()
736 ProcessSDDbgValues(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, in ProcessSDDbgValues()
782 ProcessSourceNode(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, in ProcessSourceNode()
861 [&](SDNode *Node, bool IsClone, bool IsCloned, in EmitSchedule()
931 SmallVector<SDNode *, 4> GluedNodes; in EmitSchedule()
932 for (SDNode *N = SU->getNode()->getGluedNode(); N; N = N->getGluedNode()) in EmitSchedule()
935 SDNode *N = GluedNodes.back(); in EmitSchedule()