Lines Matching defs:SUnit

59   // Clear the scheduler's SUnit DAG.
67 /// NewSUnit - Creates a new SUnit and return a ptr to it.
69 SUnit *ScheduleDAGSDNodes::newSUnit(SDNode *N) {
71 const SUnit *Addr = nullptr;
79 SUnit *SU = &SUnits.back();
90 SUnit *ScheduleDAGSDNodes::Clone(SUnit *Old) {
91 SUnit *SU = newSUnit(Old->getNode());
332 // of -1 means the SDNode does not yet have an associated SUnit.
340 // ensure that reallocation of the vector won't happen, so SUnit*'s won't get
352 SmallVector<SUnit*, 8> CallSUnits;
367 SUnit *NodeSUnit = newSUnit(NI);
415 // Update the SUnit.
429 SUnit *SU = CallSUnits.pop_back_val();
436 SUnit *SrcSU = &SUnits[SrcN->getNodeId()];
449 for (SUnit &SU : SUnits) {
481 SUnit *OpSU = &SUnits[OpN->getNodeId()];
482 assert(OpSU && "Node has no SUnit!");
520 // Multiple register uses are combined in the same SUnit. For example,
535 /// BuildSchedGraph - Build the SUnit graph from the selection dag that we
536 /// are input. This SUnit graph is similar to the SelectionDAG, but
538 /// glued together nodes with a single SUnit.
582 // Construct a RegDefIter for this SUnit and find the first valid value.
583 ScheduleDAGSDNodes::RegDefIter::RegDefIter(const SUnit *SU,
590 // Advance to the next valid value defined by the SUnit.
608 void ScheduleDAGSDNodes::InitNumRegDefsLeft(SUnit *SU) {
616 void ScheduleDAGSDNodes::computeLatency(SUnit *SU) {
643 // all nodes glued together into this SUnit.
678 void ScheduleDAGSDNodes::dumpNode(const SUnit &SU) const {
706 for (const SUnit &SU : SUnits)
715 for (const SUnit *SU : Sequence) {
811 EmitPhysRegCopy(SUnit *SU, SmallDenseMap<SUnit *, Register, 16> &VRBaseMap,
818 DenseMap<SUnit *, Register>::iterator VRI =
855 SmallDenseMap<SUnit *, Register, 16> CopyVRBaseMap;
933 for (SUnit *SU : Sequence) {
935 // Null SUnit* is a noop.