[all-commits] [llvm/llvm-project] 5f6bee: [Statepoints] Spill GC Ptr regs in FixupStatepoints.

dantrushin via All-commits all-commits at lists.llvm.org
Fri Aug 14 06:22:08 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 5f6bee77fad662eaa30b6c617c3c35177bdfcb6d
      https://github.com/llvm/llvm-project/commit/5f6bee77fad662eaa30b6c617c3c35177bdfcb6d
  Author: Denis Antrushin <dantrushin at gmail.com>
  Date:   2020-08-14 (Fri, 14 Aug 2020)

  Changed paths:
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    A llvm/test/CodeGen/X86/statepoint-fixup-call.mir
    A llvm/test/CodeGen/X86/statepoint-fixup-copy-prop-neg.mir
    A llvm/test/CodeGen/X86/statepoint-fixup-invoke.mir
    A llvm/test/CodeGen/X86/statepoint-fixup-shared-ehpad.mir
    M llvm/test/CodeGen/X86/statepoint-vreg.ll
    M llvm/test/CodeGen/X86/statepoint-vreg.mir

  Log Message:
  -----------
  [Statepoints] Spill GC Ptr regs in FixupStatepoints.

Extend FixupStatepointCallerSaved pass with ability to spill
statepoint GC pointer arguments (optionally allowing them on CSRs).
Special handling is required for invoke statepoints, because at MI
level single landing pad may be shared by multiple statepoints, so
we must ensure we spill landing pad's live-ins into the same stack
slots.

Full statepoint refactoring change set is available at D81603.

Reviewed By: skatkov

Differential Revision: https://reviews.llvm.org/D81647




More information about the All-commits mailing list