[PATCH] D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs.

Denis Antrushin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 3 12:24:08 PDT 2020


dantrushin marked 4 inline comments as done.
dantrushin added inline comments.


================
Comment at: llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp:130
+
+  // Skip deopt args
+  while (NumDeoptArgs--)
----------------
skatkov wrote:
> In InstrEmitter I see getStatepointGCArgStartIdx which does exactly the same what you need.
> It also contains:
>   // FIXME: need a better place for this. Put it in StackMaps?
> Can you do it in a separate patch (w/o review) and just re-use this utility function here?
No, it is slightly different.
During its lifetime statepoint meta args change their format few times. From bare `%stack.0` form, to stackmap-encoded
version like `1, 8, %stack.0` here and down to frame register format.
This is the primary reason why I didn't put in into StackMaps.cpp - to remain generic, it'll need some kind of 
parameter to tell which exact form it is parsing. Which would look ugly, IMHO


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D81647



More information about the llvm-commits mailing list