[llvm] 7b22cf1 - [Intrinsics] Fix `nvvm_prmt` intrinsic attributes

Dmitry Vassiliev via llvm-commits llvm-commits at lists.llvm.org
Thu May 12 01:46:25 PDT 2022


Author: Dmitry Vassiliev
Date: 2022-05-12T10:46:03+02:00
New Revision: 7b22cf12ef9f3b436514818c4cb9e25df0d9cc36

URL: https://github.com/llvm/llvm-project/commit/7b22cf12ef9f3b436514818c4cb9e25df0d9cc36
DIFF: https://github.com/llvm/llvm-project/commit/7b22cf12ef9f3b436514818c4cb9e25df0d9cc36.diff

LOG: [Intrinsics] Fix `nvvm_prmt` intrinsic attributes

`nvvm_prmt` doesn't seem to be `commutative`. nvvm also sets `IntrSpeculatable` for it.
Here is the doc https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#data-movement-and-conversion-instructions-prmt

Reviewed By: tra, jchlanda

Differential Revision: https://reviews.llvm.org/D125423

Added: 
    

Modified: 
    llvm/include/llvm/IR/IntrinsicsNVVM.td

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/IR/IntrinsicsNVVM.td b/llvm/include/llvm/IR/IntrinsicsNVVM.td
index 81ba6faab79cb..eff12d106c76a 100644
--- a/llvm/include/llvm/IR/IntrinsicsNVVM.td
+++ b/llvm/include/llvm/IR/IntrinsicsNVVM.td
@@ -558,7 +558,7 @@ class SHFL_INFO<bit sync, string mode, string type, bit return_pred> {
 let TargetPrefix = "nvvm" in {
   def int_nvvm_prmt : GCCBuiltin<"__nvvm_prmt">,
       DefaultAttrsIntrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty, llvm_i32_ty],
-        [IntrNoMem, Commutative]>;
+        [IntrNoMem, IntrSpeculatable]>;
 
 //
 // Min Max


        


More information about the llvm-commits mailing list