[llvm] [NVVM] Add various intrinsic attrs, cleanup and consolidate td (PR #153436)
Alex MacLean via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 14 09:03:08 PDT 2025
================
@@ -1520,36 +1509,26 @@ let IntrProperties = [IntrNoMem] in {
}
// For getting the handle from a texture or surface variable
-let IntrProperties = [IntrNoMem, IntrSpeculatable] in {
- def int_nvvm_texsurf_handle
- : DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_metadata_ty, llvm_anyptr_ty]>;
- def int_nvvm_texsurf_handle_internal
- : DefaultAttrsIntrinsic<[llvm_i64_ty], [llvm_anyptr_ty]>;
-}
+def int_nvvm_texsurf_handle
+ : PureIntrinsic<[llvm_i64_ty], [llvm_metadata_ty, llvm_anyptr_ty]>;
+def int_nvvm_texsurf_handle_internal
+ : PureIntrinsic<[llvm_i64_ty], [llvm_anyptr_ty]>;
/// Error / Warn
def int_nvvm_compiler_error : Intrinsic<[], [llvm_anyptr_ty]>;
def int_nvvm_compiler_warn : Intrinsic<[], [llvm_anyptr_ty]>;
-def int_nvvm_reflect : NVVMBuiltin,
- Intrinsic<[llvm_i32_ty], [llvm_ptr_ty], [IntrNoMem]>;
+def int_nvvm_reflect : NVVMBuiltin, PureIntrinsic<[llvm_i32_ty], [llvm_ptr_ty]>;
----------------
AlexMaclean wrote:
Yea. This will be replaced by a constant at compile time so it is free to speculate. CC @YonahGoldberg
https://github.com/llvm/llvm-project/pull/153436
More information about the llvm-commits
mailing list