diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2009-10-13 07:03:23 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2009-10-13 07:03:23 +0000 |
commit | cc271861da5d9487cbcbb44f949b411a12ec0d96 (patch) | |
tree | bde823e5a82bf9e41b1b46edd7624be10ccf8739 /include/llvm/Intrinsics.td | |
parent | 6e4bdfc229cbbe5ba549e45f55bda4bb989b159d (diff) | |
download | llvm-cc271861da5d9487cbcbb44f949b411a12ec0d96.tar.gz llvm-cc271861da5d9487cbcbb44f949b411a12ec0d96.tar.bz2 llvm-cc271861da5d9487cbcbb44f949b411a12ec0d96.tar.xz |
Add new "memory use marker" intrinsics. These indicate lifetimes and invariant
sections of memory objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83953 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Intrinsics.td')
-rw-r--r-- | include/llvm/Intrinsics.td | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index 9b0c876d72..bfa924cd86 100644 --- a/include/llvm/Intrinsics.td +++ b/include/llvm/Intrinsics.td @@ -421,6 +421,22 @@ def int_atomic_load_umax : Intrinsic<[llvm_anyint_ty], [IntrWriteArgMem, NoCapture<0>]>, GCCBuiltin<"__sync_fetch_and_umax">; +//===------------------------- Memory Use Markers -------------------------===// +// +def int_lifetime_start : Intrinsic<[llvm_void_ty], + [llvm_i64_ty, llvm_ptr_ty], + [IntrWriteArgMem, NoCapture<1>]>; +def int_lifetime_end : Intrinsic<[llvm_void_ty], + [llvm_i64_ty, llvm_ptr_ty], + [IntrWriteArgMem, NoCapture<1>]>; +def int_invariant_start : Intrinsic<[llvm_descriptor_ty], + [llvm_i64_ty, llvm_ptr_ty], + [IntrReadArgMem, NoCapture<1>]>; +def int_invariant_end : Intrinsic<[llvm_void_ty], + [llvm_descriptor_ty, llvm_i64_ty, + llvm_ptr_ty], + [IntrWriteArgMem, NoCapture<2>]>; + //===-------------------------- Other Intrinsics --------------------------===// // def int_flt_rounds : Intrinsic<[llvm_i32_ty]>, |