[NVVM] Update intrinsic definitions to include more attributes
A lot of NVVM intrinsics can use the default intrinsic attributes (e.g., nosync, nofree, ...) as well as `speculatable`. The latter is important if we want to recompute intrinsics results instead of communicating them via memory. I did use default attributes for almost all `readnone` attributes but speculatable only where I had reasonable confidence they cannot experience UB. That said, someone should double check. TODO: There seem to be various intrinsics marked `Commutative` which should not, e.g., fma and div. Reviewed By: tra Differential Revision: https://reviews.llvm.org/D109987
Loading
Please sign in to comment