[llvm] LangRef: allocated objects can grow (PR #141338)
Ralf Jung via llvm-commits
llvm-commits at lists.llvm.org
Sat May 24 10:13:40 PDT 2025
================
@@ -3327,6 +3327,15 @@ behavior is undefined:
- the size of all allocated objects must be non-negative and not exceed the
largest signed integer that fits into the index type.
+Allocated objects that are created with operations recognized by LLVM (such as
+:ref:`alloca <i_alloca>`, heap allocation functions marked as such, and global
+variables) may *not* change their size. However, allocated objects can also be
+created by means not recognized by LLVM, e.g. by directly calling ``mmap``.
+Those allocated objects are allowed to grow to the right (i.e., keeping the same
+base address, but increasing their size), as long as they always satisfy the
+properties described above. Currently, allocated objects are not permitted to
+grow to the left or to shrink, nor can they have holes.
----------------
RalfJung wrote:
Good point, I'll add that.
https://github.com/llvm/llvm-project/pull/141338
More information about the llvm-commits
mailing list