[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