[PATCH] D55106: A new software pipliner pass based on non-SSA form
Jan-Willem Roorda via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 13 11:29:07 PST 2018
jwroorda added inline comments.
================
Comment at: lib/CodeGen/MachineModuloSched.cpp:204
+/// BackEdges.
+bool ModuloSchedulerDAG::addLoopCarriedDependences() {
+ // There is nothing to do for this BB.
----------------
Can you please explain the difference between this function and SwingSchedulerDAG::addLoopCarriedDependences?
================
Comment at: lib/CodeGen/MachineModuloSched.cpp:242
+/// instruction has a memory operand.
+static void getUnderlyingObjects(MachineInstr *MI,
+ SmallVectorImpl<Value *> &Objs,
----------------
the code seems very similar to the function with the same name in MachinePipeliner.cpp. Is is possible to share code between the two implementations instead of duplicating it?
================
Comment at: lib/CodeGen/MachineModuloSched.cpp:277
+/// during each iteration. Set Delta to the amount of the change.
+bool ModuloSchedulerDAG::computeDelta(MachineInstr &MI, unsigned &Delta) {
+ const TargetInstrInfo *TII = BB->getParent()->getSubtarget().getInstrInfo();
----------------
This function seems a verbatim copy of SwingSchedulerDAG::computeDelta(MachineInstr &MI, unsigned &Delta). Please, instead of copying, consider refactoring such that the code can be shared between the two implementations.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D55106/new/
https://reviews.llvm.org/D55106
More information about the llvm-commits
mailing list