Lines Matching refs:SDNode

68 SUnit *ScheduleDAGSDNodes::newSUnit(SDNode *N) {  in newSUnit()
110 static void CheckForPhysRegDependency(SDNode *Def, SDNode *User, unsigned Op, in CheckForPhysRegDependency()
143 static void CloneNodeWithValues(SDNode *N, SelectionDAG *DAG, ArrayRef<EVT> VTs, in CloneNodeWithValues()
164 static bool AddGlue(SDNode *N, SDValue Glue, bool AddGlue, SelectionDAG *DAG) { in AddGlue()
165 SDNode *GlueDestNode = Glue.getNode(); in AddGlue()
189 static void RemoveUnusedGlue(SDNode *N, SelectionDAG *DAG) { in RemoveUnusedGlue()
203 void ScheduleDAGSDNodes::ClusterNeighboringLoads(SDNode *Node) { in ClusterNeighboringLoads()
214 auto hasTiedInput = [this](const SDNode *N) { in ClusterNeighboringLoads()
226 SmallPtrSet<SDNode*, 16> Visited; in ClusterNeighboringLoads()
228 DenseMap<long long, SDNode*> O2SMap; // Map from offset to SDNode. in ClusterNeighboringLoads()
230 SDNode *Base = Node; in ClusterNeighboringLoads()
238 for (SDNode::use_iterator I = Chain->use_begin(), E = Chain->use_end(); in ClusterNeighboringLoads()
243 SDNode *User = *I; in ClusterNeighboringLoads()
272 SmallVector<SDNode*, 4> Loads; in ClusterNeighboringLoads()
275 SDNode *BaseLoad = O2SMap[BaseOff]; in ClusterNeighboringLoads()
279 SDNode *Load = O2SMap[Offset]; in ClusterNeighboringLoads()
291 SDNode *Lead = Loads[0]; in ClusterNeighboringLoads()
297 SDNode *Load = Loads[I]; in ClusterNeighboringLoads()
315 for (SDNode &NI : DAG->allnodes()) { in ClusterNodes()
316 SDNode *Node = &NI; in ClusterNodes()
333 for (SDNode &NI : DAG->allnodes()) { in BuildSchedUnits()
346 SmallVector<SDNode*, 64> Worklist; in BuildSchedUnits()
347 SmallPtrSet<SDNode*, 32> Visited; in BuildSchedUnits()
353 SDNode *NI = Worklist.pop_back_val(); in BuildSchedUnits()
373 SDNode *N = NI; in BuildSchedUnits()
390 for (SDNode *U : N->uses()) in BuildSchedUnits()
429 for (const SDNode *SUNode = SU->getNode(); SUNode; in BuildSchedUnits()
433 SDNode *SrcN = SUNode->getOperand(2).getNode(); in BuildSchedUnits()
449 SDNode *MainNode = SU.getNode(); in AddSchedEdges()
465 for (SDNode *N = SU.getNode(); N; N = N->getGluedNode()) { in AddSchedEdges()
477 SDNode *OpN = N->getOperand(i).getNode(); in AddSchedEdges()
616 SDNode *N = SU->getNode(); in computeLatency()
644 for (SDNode *N = SU->getNode(); N; N = N->getGluedNode()) in computeLatency()
649 void ScheduleDAGSDNodes::computeOperandLatency(SDNode *Def, SDNode *Use, in computeOperandLatency()
689 SmallVector<SDNode *, 4> GluedNodes; in dumpNode()
690 for (SDNode *N = SU.getNode()->getGluedNode(); N; N = N->getGluedNode()) in dumpNode()
737 ProcessSDDbgValues(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, in ProcessSDDbgValues()
783 ProcessSourceNode(SDNode *N, SelectionDAG *DAG, InstrEmitter &Emitter, in ProcessSourceNode()
862 [&](SDNode *Node, bool IsClone, bool IsCloned, in EmitSchedule()
934 SmallVector<SDNode *, 4> GluedNodes; in EmitSchedule()
935 for (SDNode *N = SU->getNode()->getGluedNode(); N; N = N->getGluedNode()) in EmitSchedule()
938 SDNode *N = GluedNodes.back(); in EmitSchedule()