[all-commits] [llvm/llvm-project] dedcef: [Statepoint] Constant fold FP deopt args.

dantrushin via All-commits all-commits at lists.llvm.org
Thu May 21 01:06:53 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: dedcefe09d18f1e9d60336541fb6ad03dae551ba
      https://github.com/llvm/llvm-project/commit/dedcefe09d18f1e9d60336541fb6ad03dae551ba
  Author: Denis Antrushin <dantrushin at gmail.com>
  Date:   2020-05-21 (Thu, 21 May 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/test/CodeGen/X86/statepoint-regs.ll

  Log Message:
  -----------
  [Statepoint] Constant fold FP deopt args.

We do not have any special handling for constant FP deopt arguments.
They are just spilled to stack or generated in register by MOVS
instruction. This is inefficient and, when we have too many such
constant arguments, may result in register allocation failure.
Instead, we can bitcast such constant FP operands to appropriately
sized integer and record as constant into statepoint and later, into
StackMap.

Reviewed By: skatkov
Differential Revision: https://reviews.llvm.org/D80318




More information about the All-commits mailing list