[PATCH] D81647: MIR Statepoint refactoring. Part 3: Spill GC Ptr regs.
Serguei Katkov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Jul 5 21:38:46 PDT 2020
skatkov added inline comments.
================
Comment at: llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp:125
+// Return statepoint GC args as a set
+static SmallSet<Register, 8> collectGCRegs(MachineInstr &MI) {
+ StatepointOpers SO(&MI);
----------------
Do I understand correctly that with your changes ALL GC pointers must be defs?
So why do you need these iterations instead of just taking all defs?
================
Comment at: llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp:401
+
+ // To insert reload at the end of MBB, insert it before last instruction
+ // and then swap them.
----------------
what is the reason for this magic?
================
Comment at: llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp:506
+
+ for (Register Reg : RegsToReload)
+ insertReloads(Reg);
----------------
Don't you want to separate reload loads into separate function?
So we'll have:
spill registers
rewrite statepoint
insertReloads/unspill registers
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