[all-commits] [llvm/llvm-project] a96fc4: Remove deopt and gc transition arguments from gc.s...

Philip Reames via All-commits all-commits at lists.llvm.org
Fri Aug 14 16:08:00 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: a96fc4638b732d9d28b1803f94f50cb58a456e9e
      https://github.com/llvm/llvm-project/commit/a96fc4638b732d9d28b1803f94f50cb58a456e9e
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2020-08-14 (Fri, 14 Aug 2020)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/docs/Statepoints.rst
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/test/Verifier/statepoint.ll

  Log Message:
  -----------
  Remove deopt and gc transition arguments from gc.statepoint intrinsic

(Forgot to land this a couple of weeks back.)

In a recent series of changes, I've introduced support for using the respective operand bundle kinds on the statepoint. At the moment, code supports either/or, but there's no need to keep the old support around. For the moment, I am simply changing the specification and verifier to require zero length argument sets in the intrinsic.

The intrinsic itself is experimental. Given that, there's no forward serialization needed. The in tree uses and generation have already been updated to use the new operand bundle based forms, the only folks broken by the change will be those with frontends generating statepoints directly and the updates should be easy.

Why not go ahead and just remove the arguments entirely? Well, I plan to. But while working on this I've found that almost all of the arguments to the statepoint can be expressed via operand bundles or attributes. Given that, I'm planning a radical simplification of the arguments and figured I'd do one update not several small ones.

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




More information about the All-commits mailing list