aboutsummaryrefslogtreecommitdiff
path: root/llvm/docs/LangRef.rst
diff options
context:
space:
mode:
authorDanila Malyutin <danilaml@users.noreply.github.com>2023-12-05 11:33:04 +0400
committerGitHub <noreply@github.com>2023-12-05 10:33:04 +0300
commit6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132 (patch)
tree6300d8b049a7be15709b73032f3afdf5a458063c /llvm/docs/LangRef.rst
parentd11d38cb095b7f86d4c1298ea9806099d2fc4bd6 (diff)
downloadllvm-6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132.zip
llvm-6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132.tar.gz
llvm-6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132.tar.bz2
[llvm][docs] Expand section on non-integral pointers (#73242)
Specify their restrictions w.r.t. `align` attribute.
Diffstat (limited to 'llvm/docs/LangRef.rst')
-rw-r--r--llvm/docs/LangRef.rst6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index cf9b33a..f5e8065 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -637,6 +637,12 @@ appropriate fencing is inserted. Since the appropriate fencing is
implementation defined, the optimizer can't do the latter. The former is
challenging as many commonly expected properties, such as
``ptrtoint(v)-ptrtoint(v) == 0``, don't hold for non-integral types.
+Similar restrictions apply to intrinsics that might examine the pointer bits,
+such as :ref:`llvm.ptrmask<int_ptrmask>`.
+
+The alignment information provided by the frontend for a non-integral pointer
+(typically using attributes or metadata) must be valid for every possible
+representation of the pointer.
.. _globalvars: