[PATCH] D22194: Power9 - Add exploitation of oris/ori fusion

Ehsan Amiri via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 16 18:09:22 PDT 2016


amehsan added inline comments.

================
Comment at: lib/CodeGen/PostRASchedulerList.cpp:606-612
@@ +605,9 @@
+
+      while (!AvailableQueue.empty()) {
+        SUnit *CurSUnit = AvailableQueue.pop();
+
+        ScheduleHazardRecognizer::HazardType HT =
+          HazardRec->getHazardType(CurSUnit, 0/*no stalls*/);
+        if (HT == ScheduleHazardRecognizer::NoHazard) {
+          if (HazardRec->ShouldPreferAnother(CurSUnit)) {
+            if (!NotPreferredSUnit) {
----------------
Somewhere in this loop, you have to find a way to prioritize the cluster node. One potential way to do it (and there might be better ways) is to check if the last scheduled node has a cluster outgoing edge. If yes, continue your search in the queue until you reach that node.


https://reviews.llvm.org/D22194





More information about the llvm-commits mailing list