Lines Matching refs:SU
58 SUnit *SU = nullptr; in pickNode() local
98 if (!SU && ((AllowSwitchToAlu && CurInstKind != IDAlu) || in pickNode()
101 SU = pickAlu(); in pickNode()
102 if (!SU && !PhysicalRegCopy.empty()) { in pickNode()
103 SU = PhysicalRegCopy.front(); in pickNode()
106 if (SU) { in pickNode()
113 if (!SU) { in pickNode()
115 SU = pickOther(IDFetch); in pickNode()
116 if (SU) in pickNode()
121 if (!SU) { in pickNode()
122 SU = pickOther(IDOther); in pickNode()
123 if (SU) in pickNode()
128 if (SU) { in pickNode()
130 SU->dump(DAG); in pickNode()
141 return SU; in pickNode()
144 void R600SchedStrategy::schedNode(SUnit *SU, bool IsTopNode) { in schedNode() argument
155 switch (getAluKind(SU)) { in schedNode()
163 for (MachineInstr::mop_iterator It = SU->getInstr()->operands_begin(), in schedNode()
164 E = SU->getInstr()->operands_end(); It != E; ++It) { in schedNode()
192 void R600SchedStrategy::releaseTopNode(SUnit *SU) { in releaseTopNode() argument
193 DEBUG(dbgs() << "Top Releasing ";SU->dump(DAG);); in releaseTopNode()
196 void R600SchedStrategy::releaseBottomNode(SUnit *SU) { in releaseBottomNode() argument
197 DEBUG(dbgs() << "Bottom Releasing ";SU->dump(DAG);); in releaseBottomNode()
198 if (isPhysicalRegCopy(SU->getInstr())) { in releaseBottomNode()
199 PhysicalRegCopy.push_back(SU); in releaseBottomNode()
203 int IK = getInstKind(SU); in releaseBottomNode()
207 Available[IDOther].push_back(SU); in releaseBottomNode()
209 Pending[IK].push_back(SU); in releaseBottomNode()
222 R600SchedStrategy::AluKind R600SchedStrategy::getAluKind(SUnit *SU) const { in getAluKind()
223 MachineInstr *MI = SU->getInstr(); in getAluKind()
295 int R600SchedStrategy::getInstKind(SUnit* SU) { in getInstKind() argument
296 int Opcode = SU->getInstr()->getOpcode(); in getInstKind()
324 SUnit *SU = *It; in PopInst() local
325 InstructionsGroupCandidate.push_back(SU->getInstr()); in PopInst()
327 (!AnyALU || !TII->isVectorOnly(*SU->getInstr()))) { in PopInst()
330 return SU; in PopInst()
433 SUnit *SU = AttemptFillSlot(3, true); in pickAlu() local
434 if (SU) { in pickAlu()
436 return SU; in pickAlu()
442 SUnit *SU = AttemptFillSlot(Chan, false); in pickAlu() local
443 if (SU) { in pickAlu()
445 InstructionsGroupCandidate.push_back(SU->getInstr()); in pickAlu()
446 return SU; in pickAlu()
456 SUnit *SU = nullptr; in pickOther() local
463 SU = AQ.back(); in pickOther()
466 return SU; in pickOther()