https://github.com/arsenm requested changes to this pull request.

We should be removing the source level convergent attribute, not adding more 
uses of it. It was a mistake to define it in the positive direction, and it is 
completely unusable for end users. Every piece of code that transitively calls 
the function in the entire program must also be marked convergent. The only way 
to practically achieve this is if the target/language has convergent 
operations, every operation must be marked convergent by default (i.e. the 
ConvergentFunctions language property should be set)

For optimization hints, we could have a source level noconvergent attribute to 
opt-out, which would be the inverse of this.

On the IR level we should pick https://reviews.llvm.org/D69498 back up.

https://github.com/llvm/llvm-project/pull/100637
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to