Lines Matching refs:FirstSU
53 bool llvm::fuseInstructionPair(ScheduleDAGInstrs &DAG, SUnit &FirstSU, in fuseInstructionPair() argument
57 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair()
65 assert(FirstSU.ParentClusterIdx == InvalidClusterId && in fuseInstructionPair()
74 if (!DAG.addEdge(&SecondSU, SDep(&FirstSU, SDep::Cluster))) in fuseInstructionPair()
79 FirstSU.ParentClusterIdx = Clusters.size(); in fuseInstructionPair()
82 SmallSet<SUnit *, 8> Cluster{{&FirstSU, &SecondSU}}; in fuseInstructionPair()
90 assert(hasLessThanNumFused(FirstSU, 2) && in fuseInstructionPair()
94 for (SDep &SI : FirstSU.Succs) in fuseInstructionPair()
99 if (SI.getSUnit() == &FirstSU) in fuseInstructionPair()
103 dbgs() << "Macro fuse: "; DAG.dumpNodeName(FirstSU); dbgs() << " - "; in fuseInstructionPair()
105 dbgs() << DAG.TII->getName(FirstSU.getInstr()->getOpcode()) << " - " in fuseInstructionPair()
111 for (const SDep &SI : FirstSU.Succs) { in fuseInstructionPair()
123 if (&FirstSU != &DAG.EntrySU) { in fuseInstructionPair()
126 if (SI.isWeak() || isHazard(SI) || &FirstSU == SU || FirstSU.isSucc(SU)) in fuseInstructionPair()
129 DAG.dumpNodeName(FirstSU); dbgs() << '\n';); in fuseInstructionPair()
130 DAG.addEdge(&FirstSU, SDep(SU, SDep::Artificial)); in fuseInstructionPair()
138 DAG.addEdge(&FirstSU, SDep(&SU, SDep::Artificial)); in fuseInstructionPair()