[all-commits] [llvm/llvm-project] 1af370: Start migrating away from statepoint's inline leng...

Philip Reames via All-commits all-commits at lists.llvm.org
Wed May 27 09:16:49 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 1af3705c7fe23db9d5308bfdf07bfbd04398b895
      https://github.com/llvm/llvm-project/commit/1af3705c7fe23db9d5308bfdf07bfbd04398b895
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-05-27 (Wed, 27 May 2020)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/CodeGen/X86/statepoint-gctransition-call-lowering.ll
    M llvm/test/CodeGen/X86/statepoint-regs.ll

  Log Message:
  -----------
  Start migrating away from statepoint's inline length prefixed argument bundles

In the current statepoint design, we have four distinct groups of operands to the call: call args, gc transition args, deopt args, and gc args. This format prexisted the support in IR for operand bundles and was in fact one of the inspirations for the extension. However, we never went back and rearchitected statepoints to fully leverage bundles.

This change is the first in a small sequence to do so. All this does is extend the SelectionDAG lowering code to allow deopt and gc transition operands to be specified in either inline argument bundles or operand bundles.

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




More information about the All-commits mailing list