Lines Matching refs:FirstSU
54 static bool fuseInstructionPair(ScheduleDAGInstrs &DAG, SUnit &FirstSU, in fuseInstructionPair() argument
58 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair()
71 if (!DAG.addEdge(&SecondSU, SDep(&FirstSU, SDep::Cluster))) in fuseInstructionPair()
79 assert(hasLessThanNumFused(FirstSU, 2) && in fuseInstructionPair()
83 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair()
88 if (SI.getSUnit() == &FirstSU) in fuseInstructionPair()
92 dbgs() << "Macro fuse: "; DAG.dumpNodeName(FirstSU); dbgs() << " - "; in fuseInstructionPair()
94 dbgs() << DAG.TII->getName(FirstSU.getInstr()->getOpcode()) << " - " in fuseInstructionPair()
100 for (const SDep &SI : FirstSU.Succs) { in fuseInstructionPair()
112 if (&FirstSU != &DAG.EntrySU) { in fuseInstructionPair()
115 if (SI.isWeak() || isHazard(SI) || &FirstSU == SU || FirstSU.isSucc(SU)) in fuseInstructionPair()
118 DAG.dumpNodeName(FirstSU); dbgs() << '\n';); in fuseInstructionPair()
119 DAG.addEdge(&FirstSU, SDep(SU, SDep::Artificial)); in fuseInstructionPair()
127 DAG.addEdge(&FirstSU, SDep(&SU, SDep::Artificial)); in fuseInstructionPair()