[all-commits] [llvm/llvm-project] a02757: [Codegen/Statepoint] Allow usage of registers for ...

serguei-katkov via All-commits all-commits at lists.llvm.org
Thu Apr 9 02:58:19 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a0275705bb5aa938119c3e7c8bc957a823450b17
      https://github.com/llvm/llvm-project/commit/a0275705bb5aa938119c3e7c8bc957a823450b17
  Author: Serguei Katkov <serguei.katkov at azul.com>
  Date:   2020-04-09 (Thu, 09 Apr 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/Passes.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/lib/CodeGen/CMakeLists.txt
    M llvm/lib/CodeGen/CodeGen.cpp
    A llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    A llvm/test/CodeGen/X86/statepoint-regs.ll

  Log Message:
  -----------
  [Codegen/Statepoint] Allow usage of registers for non gc deopt values.

The change introduces the usage of physical registers for non-gc deopt values.
This require runtime support to know how to take a value from register.
By default usage is off and can be switched on by option.

The change also introduces additional fix-up patch which forces the spilling
of caller saved registers (clobbered after the call) and re-writes statepoint
to use spill slots instead of caller saved registers.

Reviewers: reames, dantrushin
Reviewed By: reames, dantrushin
Subscribers: mgorny, hiraditya, mgrang, llvm-commits
Differential Revision: https://reviews.llvm.org/D77371




More information about the All-commits mailing list