diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td --- a/llvm/include/llvm/IR/Intrinsics.td +++ b/llvm/include/llvm/IR/Intrinsics.td @@ -667,7 +667,7 @@ : Intrinsic<[], [llvm_anyptr_ty, llvm_i8_ty, llvm_anyint_ty, llvm_i1_ty], [IntrWriteMem, IntrArgMemOnly, IntrWillReturn, IntrNoFree, IntrNoCallback, - NoCapture>, WriteOnly>, + NoCapture>, WriteOnly>, ImmArg>, ImmArg>]>; // FIXME: Add version of these floating point intrinsics which allow non-default @@ -1777,14 +1777,14 @@ DefaultAttrsIntrinsic<[llvm_anyvector_ty], [LLVMAnyPointerType>, llvm_i32_ty, LLVMScalarOrSameVectorWidth<0, llvm_i1_ty>, LLVMMatchType<0>], - [IntrReadMem, IntrArgMemOnly, IntrWillReturn, ImmArg>]>; + [IntrReadMem, IntrArgMemOnly, IntrWillReturn, ImmArg>, NoCapture>]>; def int_masked_store: DefaultAttrsIntrinsic<[], [llvm_anyvector_ty, LLVMAnyPointerType>, llvm_i32_ty, LLVMScalarOrSameVectorWidth<0, llvm_i1_ty>], [IntrWriteMem, IntrArgMemOnly, IntrWillReturn, - ImmArg>]>; + ImmArg>, NoCapture>]>; def int_masked_gather: DefaultAttrsIntrinsic<[llvm_anyvector_ty], @@ -1802,13 +1802,13 @@ DefaultAttrsIntrinsic<[llvm_anyvector_ty], [LLVMPointerToElt<0>, LLVMScalarOrSameVectorWidth<0, llvm_i1_ty>, LLVMMatchType<0>], - [IntrReadMem, IntrWillReturn]>; + [IntrReadMem, IntrWillReturn, NoCapture>]>; def int_masked_compressstore: DefaultAttrsIntrinsic<[], [llvm_anyvector_ty, LLVMPointerToElt<0>, LLVMScalarOrSameVectorWidth<0, llvm_i1_ty>], - [IntrWriteMem, IntrArgMemOnly, IntrWillReturn]>; + [IntrWriteMem, IntrArgMemOnly, IntrWillReturn, NoCapture>]>; // Test whether a pointer is associated with a type metadata identifier. def int_type_test : DefaultAttrsIntrinsic<[llvm_i1_ty], [llvm_ptr_ty, llvm_metadata_ty],