Lines Matching defs:SU

26 bool PPCDispatchGroupSBHazardRecognizer::isLoadAfterStore(SUnit *SU) {
28 if (isBCTRAfterSet(SU))
31 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
38 // SU is a load; for any predecessors in this dispatch group, that are stores,
40 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) {
41 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit());
45 if (!SU->Preds[i].isNormalMemory() && !SU->Preds[i].isBarrier())
49 if (SU->Preds[i].getSUnit() == CurGroup[j])
56 bool PPCDispatchGroupSBHazardRecognizer::isBCTRAfterSet(SUnit *SU) {
57 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
64 // SU is a branch; for any predecessors in this dispatch group, with which we
66 for (unsigned i = 0, ie = (unsigned) SU->Preds.size(); i != ie; ++i) {
67 const MCInstrDesc *PredMCID = DAG->getInstrDesc(SU->Preds[i].getSUnit());
71 if (SU->Preds[i].isCtrl())
75 if (SU->Preds[i].getSUnit() == CurGroup[j])
141 PPCDispatchGroupSBHazardRecognizer::getHazardType(SUnit *SU, int Stalls) {
142 if (Stalls == 0 && isLoadAfterStore(SU))
145 return ScoreboardHazardRecognizer::getHazardType(SU, Stalls);
148 bool PPCDispatchGroupSBHazardRecognizer::ShouldPreferAnother(SUnit *SU) {
149 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
154 return ScoreboardHazardRecognizer::ShouldPreferAnother(SU);
157 unsigned PPCDispatchGroupSBHazardRecognizer::PreEmitNoops(SUnit *SU) {
161 if (isLoadAfterStore(SU) && CurSlots < 6) {
173 return ScoreboardHazardRecognizer::PreEmitNoops(SU);
176 void PPCDispatchGroupSBHazardRecognizer::EmitInstruction(SUnit *SU) {
177 const MCInstrDesc *MCID = DAG->getInstrDesc(SU);
183 DEBUG(dbgs() << "**** Adding to dispatch group: SU(" <<
184 SU->NodeNum << "): ");
185 DEBUG(DAG->dumpNode(SU));
198 CurGroup.push_back(SU);
205 return ScoreboardHazardRecognizer::EmitInstruction(SU);
328 getHazardType(SUnit *SU, int Stalls) {
331 MachineInstr *MI = SU->getInstr();
388 void PPCHazardRecognizer970::EmitInstruction(SUnit *SU) {
389 MachineInstr *MI = SU->getInstr();