[llvm] Add 'initialized' attribute langref (PR #84803)

Arthur Eubanks via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 13 14:02:12 PDT 2024


================
@@ -1621,6 +1621,31 @@ Currently, only the following parameter attributes are defined:
     ``readonly`` or a ``memory`` attribute that does not contain
     ``argmem: write``.
 
+``initialized((Lo1,Hi1),...)``
+    This attribute indicates that the function initializes the ranges of the
+    pointer parameter's memory, [%p+LoN, %p+HiN): there are no reads, and no
+    special accesses (such as volatile access or untrackable capture) before
+    the initialization write in the function.
+
+    This attribute implies that the function initializes and does not read
----------------
aeubanks wrote:

I wouldn't use `implies`.

`This attribute only holds for the memory accessed via this pointer parameter. Other arbitrary accesses to the same memory via other pointers are allowed.

https://github.com/llvm/llvm-project/pull/84803


More information about the llvm-commits mailing list