summaryrefslogtreecommitdiff
path: root/include/llvm/Intrinsics.td
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2009-10-13 07:03:23 +0000
committerNick Lewycky <nicholas@mxc.ca>2009-10-13 07:03:23 +0000
commitcc271861da5d9487cbcbb44f949b411a12ec0d96 (patch)
treebde823e5a82bf9e41b1b46edd7624be10ccf8739 /include/llvm/Intrinsics.td
parent6e4bdfc229cbbe5ba549e45f55bda4bb989b159d (diff)
downloadllvm-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.td16
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]>,