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

Reply via email to