Skip to content

Commit 1ac0e48

Browse files
committed
[llvm][docs] Expand section on non-integral pointers
Specify their restrictions w.r.t. `align` attribute.
1 parent 0bda20b commit 1ac0e48

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
@@ -634,6 +634,12 @@ implementation defined, the optimizer can't do the latter. The former is
634634
challenging as many commonly expected properties, such as
635635
``ptrtoint(v)-ptrtoint(v) == 0``, don't hold for non-integral types.
636636

637+
Similar restrictions apply to intrinsics that might examine the pointer bits,
638+
such as :ref:`llvm.ptrmask<int_ptrmask>`. In particular, it's not
639+
correct to infer `align` attributes for such pointers based on examining their
640+
bits and frontends must ensure that all `align` attributes represent the
641+
conservative alignment valid for every possible representation of the pointer.
642+
637643
.. _globalvars:
638644

639645
Global Variables

0 commit comments

Comments
 (0)