diff options
author | Danila Malyutin <danilaml@users.noreply.github.com> | 2023-12-05 11:33:04 +0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-05 10:33:04 +0300 |
commit | 6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132 (patch) | |
tree | 6300d8b049a7be15709b73032f3afdf5a458063c /llvm/docs/LangRef.rst | |
parent | d11d38cb095b7f86d4c1298ea9806099d2fc4bd6 (diff) | |
download | llvm-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.rst | 6 |
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: |