[PATCH] D53485: [ScheduleDAGRRList] Do not preschedule ADJCALLSTACKDOWN

Tim Neumann via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 22 07:40:08 PDT 2018


TimNN added inline comments.


================
Comment at: lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp:2947
+        PredND = Pred.getSUnit()->getNode();
+        break;
+      }
----------------
This finds only the first non-data predecessor. Could there be multiple that would need to be considered?


================
Comment at: lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp:2957
+    if (PredND && PredND->isMachineOpcode() &&
+        (PredND->getMachineOpcode() == TII->getCallFrameSetupOpcode()))
+      continue;
----------------
Would we need to consider transitively reachable nodes? Or is checking the direct predecessors enough, as is done here? 


Repository:
  rL LLVM

https://reviews.llvm.org/D53485





More information about the llvm-commits mailing list