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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits