[PATCH] D93694: [MachineLICM][MachineSink] Move SinkIntoLoop from MachineLICM to MachineSink

Sam Parker via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 15 06:51:14 PST 2021


samparker added inline comments.


================
Comment at: llvm/lib/CodeGen/MachineSink.cpp:86
+                           "register spills"),
+                  cl::init(false), cl::Hidden);
+
----------------
Is there a plan to add an option for the maximum number of instructions sunk, or something like that?


================
Comment at: llvm/lib/CodeGen/MachineSink.cpp:363
+void MachineSinking::FindLoopSinkCandidates(MachineLoop *L, MachineBasicBlock *BB,
+    SmallVector<MachineInstr *, 8> &Candidates) {
+  for (auto &MI : *BB) {
----------------
SmallVectorImpl<MachineInstr*>&


================
Comment at: llvm/lib/CodeGen/MachineSink.cpp:387
+      continue;
+    if (!MRI->hasOneDef(MO.getReg()))
+      continue;
----------------
What are we doing these checks for?


================
Comment at: llvm/lib/CodeGen/MachineSink.cpp:1171
+
+  for (MachineInstr &MI : MRI->use_instructions(MO.getReg())) {
+    LLVM_DEBUG(dbgs() << "LoopSink:   Analysing use: "; MI.dump());
----------------
So how do we know that MI is in a loop?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93694/new/

https://reviews.llvm.org/D93694



More information about the llvm-commits mailing list