• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/

Lines Matching defs:SU

86   /// AddPred - adds a predecessor edge to SUnit SU.
88 void AddPred(SUnit *SU, const SDep &D) {
89 SU->addPred(D);
92 /// RemovePred - removes a predecessor edge from SUnit SU.
94 void RemovePred(SUnit *SU, const SDep &D) {
95 SU->removePred(D);
99 void ReleasePred(SUnit *SU, SDep *PredEdge);
100 void ReleasePredecessors(SUnit *SU, unsigned CurCycle);
139 void ScheduleDAGFast::ReleasePred(SUnit *SU, SDep *PredEdge) {
160 void ScheduleDAGFast::ReleasePredecessors(SUnit *SU, unsigned CurCycle) {
162 for (SDep &Pred : SU->Preds) {
163 ReleasePred(SU, &Pred);
181 void ScheduleDAGFast::ScheduleNodeBottomUp(SUnit *SU, unsigned CurCycle) {
183 LLVM_DEBUG(dumpNode(*SU));
185 assert(CurCycle >= SU->getHeight() && "Node scheduled below its height!");
186 SU->setHeightToAtLeast(CurCycle);
187 Sequence.push_back(SU);
189 ReleasePredecessors(SU, CurCycle);
192 for (SDep &Succ : SU->Succs) {
196 assert(LiveRegDefs[Succ.getReg()] == SU &&
205 SU->isScheduled = true;
210 SUnit *ScheduleDAGFast::CopyAndMoveSuccessors(SUnit *SU) {
211 if (SU->getNode()->getGluedNode())
214 SDNode *N = SU->getNode();
238 LLVM_DEBUG(dbgs() << "Unfolding SU # " << SU->NodeNum << "\n");
244 unsigned OldNumVals = SU->getNode()->getNumValues();
246 DAG->ReplaceAllUsesOfValueWith(SDValue(SU->getNode(), i), SDValue(N, i));
247 DAG->ReplaceAllUsesOfValueWith(SDValue(SU->getNode(), OldNumVals-1),
282 for (SDep &Pred : SU->Preds) {
291 for (SDep &Succ : SU->Succs) {
299 RemovePred(SU, ChainPred);
305 RemovePred(SU, Pred);
312 RemovePred(SU, Pred);
318 D.setSUnit(SU);
326 D.setSUnit(SU);
345 SU = NewSU;
348 LLVM_DEBUG(dbgs() << "Duplicating SU # " << SU->NodeNum << "\n");
349 NewSU = Clone(SU);
352 for (SDep &Pred : SU->Preds)
359 for (SDep &Succ : SU->Succs) {
367 D.setSUnit(SU);
380 void ScheduleDAGFast::InsertCopiesAndMoveSuccs(SUnit *SU, unsigned Reg,
395 for (SDep &Succ : SU->Succs) {
409 SDep FromDep(SU, SDep::Data, Reg);
410 FromDep.setLatency(SU->Latency);
446 static bool CheckForLiveRegDef(SUnit *SU, unsigned Reg,
453 if (LiveRegDefs[*AI] && LiveRegDefs[*AI] != SU) {
467 bool ScheduleDAGFast::DelayForLiveRegsBottomUp(SUnit *SU,
474 for (SDep &Pred : SU->Preds) {
481 for (SDNode *Node = SU->getNode(); Node; Node = Node->getGluedNode()) {
502 CheckForLiveRegDef(SU, Reg, LiveRegDefs, RegAdded, LRegs, TRI);
515 CheckForLiveRegDef(SU, *Reg, LiveRegDefs, RegAdded, LRegs, TRI);
554 CurSU->isPending = true; // This SU is not in AvailableQueue right now.
595 LLVM_DEBUG(dbgs() << "Adding an edge from SU # " << TrySU->NodeNum
596 << " to SU #" << Copies.front()->NodeNum << "\n");
601 LLVM_DEBUG(dbgs() << "Adding an edge from SU # " << NewDef->NodeNum
602 << " to SU #" << TrySU->NodeNum << "\n");