[PATCH] D137813: [RegAlloc Greedy]Account statepoints while splitting single basic block

Serguei Katkov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 10 20:46:16 PST 2022


skatkov added inline comments.


================
Comment at: llvm/lib/CodeGen/SplitKit.cpp:1584
+  if ((FI->getOpcode() != TargetOpcode::STATEPOINT) &&
+      (LI->getOpcode() != TargetOpcode::STATEPOINT))
+    return SlotIndex();
----------------
arsenm wrote:
> Early exit after the first one?
Sorry, do not catch. What do you mean?


================
Comment at: llvm/lib/CodeGen/StackMaps.cpp:151
+  unsigned FoldableAreaStart = getVarIdx();
+  for (const MachineOperand &MO : MI->uses()) {
+    if (MI->getOperandNo(&MO) >= FoldableAreaStart)
----------------
arsenm wrote:
> Do you need to filter out implicit-defs? uses doesn't
Good question. For explicit defs - they are tied to uses in foldable area, no need to check them.
I doubt statepoint instruction has virtual registers inplicit-defs.
Will check.


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

https://reviews.llvm.org/D137813



More information about the llvm-commits mailing list