HomePhabricator

Remove deopt and gc transition arguments from gc.statepoint intrinsic

Authored by reames on Aug 14 2020, 4:06 PM.

Description

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

Details

Committed
reamesAug 14 2020, 4:07 PM
Differential Revision
D80892: Remove deopt and gc transition arguments from gc.statepoint intrinsic
Parents
rG72effd8d5b08: [test][LoopUnroll] Cleanup FullUnroll.ll
Branches
Unknown
Tags
Unknown