[PATCH] D80191: MIR Statepoint refactoring: pass GC pointers in VRegs. Part 1/5.

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 1 10:12:25 PDT 2020


reames requested changes to this revision.
reames added a comment.
This revision now requires changes to proceed.

Let's discuss offline.



================
Comment at: llvm/include/llvm/CodeGen/ISDOpcodes.h:1072
+  /// GC_STATEPOINT - Represent STATEPOINT instruction
+  /// [Relocates,] OUTCHAIN, Glue = GC_STATEPOINT(...)
+  GC_STATEPOINT,
----------------
The [Relocates,] part isn't yet present.  Remove before commit, readd in relevant follow up.


================
Comment at: llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp:751
 
-  // Compute return values.  Provide a glue output since we consume one as
-  // input.  This allows someone else to chain off us as needed.
-  SDVTList NodeTys = DAG.getVTList(MVT::Other, MVT::Glue);
+  SDValue STV = DAG.getStatepoint(getCurSDLoc(), ReturnVal, Ops);
 
----------------
How is it safe not to have memrefs on the node here?  Maybe some discussion offline?


================
Comment at: llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp:802
 
-  return ReturnVal;
+  return STV;
 }
----------------
Please revert this part for now.  I'm not sure it's wrong, but I'd like to reduce the scope and audit only this part in it's own change.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D80191





More information about the llvm-commits mailing list