[llvm] 792e60c - [NVVM] Mark the pointer argument of `llvm.nvvm.isspace.*` `nocapture`

Johannes Doerfert via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 4 19:22:43 PDT 2022


Author: Johannes Doerfert
Date: 2022-10-04T19:22:26-07:00
New Revision: 792e60c74490a6567e4394465a386b940662ab60

URL: https://github.com/llvm/llvm-project/commit/792e60c74490a6567e4394465a386b940662ab60
DIFF: https://github.com/llvm/llvm-project/commit/792e60c74490a6567e4394465a386b940662ab60.diff

LOG: [NVVM] Mark the pointer argument of `llvm.nvvm.isspace.*` `nocapture`

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

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 9c3813128364a..b859958e90040 100644
--- a/llvm/include/llvm/IR/IntrinsicsNVVM.td
+++ b/llvm/include/llvm/IR/IntrinsicsNVVM.td
@@ -1582,19 +1582,23 @@ def int_nvvm_reflect :
 
 // isspacep.{const, global, local, shared}
 def int_nvvm_isspacep_const
-  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem, IntrSpeculatable],
+  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], 
+              [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
               "llvm.nvvm.isspacep.const">,
     ClangBuiltin<"__nvvm_isspacep_const">;
 def int_nvvm_isspacep_global
-  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem, IntrSpeculatable],
+  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], 
+              [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
               "llvm.nvvm.isspacep.global">,
     ClangBuiltin<"__nvvm_isspacep_global">;
 def int_nvvm_isspacep_local
-  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem, IntrSpeculatable],
+  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], 
+              [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
               "llvm.nvvm.isspacep.local">,
     ClangBuiltin<"__nvvm_isspacep_local">;
 def int_nvvm_isspacep_shared
-  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], [IntrNoMem, IntrSpeculatable],
+  : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty], 
+              [IntrNoMem, IntrSpeculatable, NoCapture<ArgIndex<0>>],
               "llvm.nvvm.isspacep.shared">,
     ClangBuiltin<"__nvvm_isspacep_shared">;
 


        


More information about the llvm-commits mailing list