[clang] [llvm] [IR] Mark convergence intrins as has-side-effect (PR #134844)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 8 05:04:46 PDT 2025
https://github.com/arsenm requested changes to this pull request.
These should not have side effects. The problem you are experiencing is because the design of the convergent attribute is broken. It imposes a structural requirement on the IR, rather than relaxing an assumed restriction. Whatever is removing the convergent needs to consider the uses (or more likely, just leave it alone)
We should make convergent the IR default, and add noconvergent as an assertion that no convergent operations are used. And it becomes UB if a convergent operation ends up used in convergent code. I was working on https://reviews.llvm.org/D69498 and would like to get back to it
https://github.com/llvm/llvm-project/pull/134844
More information about the cfe-commits
mailing list