[PATCH] D84276: GlobalISel: Don't fail translate on intrinsics with metadata

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 24 10:22:58 PDT 2020


arsenm added a comment.

In D84276#2172675 <https://reviews.llvm.org/D84276#2172675>, @paquette wrote:

> In rG55d10423a6a1f8286be05651b9c7143ef4e58b22 <https://reviews.llvm.org/rG55d10423a6a1f8286be05651b9c7143ef4e58b22>
>
> > [GlobalISel] Don't translate intrinsics with metadata parameters. 
> >  Some intrinsics take metadata parameters.  These all need custom handling of some form, and cannot possibly be lowered generically to G_INTRINSIC calls with vreg operands. Reject them, instead of hitting an assert later in getOrCreateVReg.
>
> Is this still relevant? I guess we're just using custom legalization and selection to handle these nowadays?
>
> (@ab do you have opinions here?)


I don’t think it makes any sense to try to use vregs for metadata. It’s like a weird form of immarg and shouldn’t be materialized. The generic intrinsics with metadata arguments should all probably be handled in the IRTranslator into G_* instructions with something else, but target intrinsics should just forward along the metadata operand


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84276/new/

https://reviews.llvm.org/D84276





More information about the llvm-commits mailing list