[PATCH] D69498: IR: Invert convergent attribute handling

Matt Arsenault via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Oct 30 17:28:01 PDT 2019


arsenm added a comment.

In D69498#1728039 <https://reviews.llvm.org/D69498#1728039>, @tra wrote:

> Perhaps we can deal with that by providing a way to specify per-module default for the assumed convergence of the functions and then checking in the back-end (only those that do care about convergence) that the default convergence is explicitly set (and, perhaps, set to something specific?) via function/module attributes or CLI.
>
> This way the unintentional use of vanilla IR w/o attributes with NVPTX back-end will produce an error complaining that default convergence is not set and we don't know if the IR is still sound. If necessary, the user can set appropriate convergence wholesale via CLI or module attribute. The burden on platforms that don't care about convergence will be limited to setting the default and applying attributes on entities that do not match the default assumption (there may be none of those).


Convergent can be correctly stripped in many cases (and noconvergent inferred in the same cases), so erroring if a function isn't convergent won't really work


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

https://reviews.llvm.org/D69498





More information about the cfe-commits mailing list