Skip to content

Commit 6b4b6d9

Browse files
authored
[llvm][docs] Expand section on non-integral pointers (#73242)
Specify their restrictions w.r.t. `align` attribute.
1 parent d11d38c commit 6b4b6d9

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

llvm/docs/LangRef.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,12 @@ appropriate fencing is inserted. Since the appropriate fencing is
637637
implementation defined, the optimizer can't do the latter. The former is
638638
challenging as many commonly expected properties, such as
639639
``ptrtoint(v)-ptrtoint(v) == 0``, don't hold for non-integral types.
640+
Similar restrictions apply to intrinsics that might examine the pointer bits,
641+
such as :ref:`llvm.ptrmask<int_ptrmask>`.
642+
643+
The alignment information provided by the frontend for a non-integral pointer
644+
(typically using attributes or metadata) must be valid for every possible
645+
representation of the pointer.
640646

641647
.. _globalvars:
642648

0 commit comments

Comments
 (0)