[llvm] 6b4b6d9 - [llvm][docs] Expand section on non-integral pointers (#73242)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 4 23:33:08 PST 2023
Author: Danila Malyutin
Date: 2023-12-05T10:33:04+03:00
New Revision: 6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132
URL: https://github.com/llvm/llvm-project/commit/6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132
DIFF: https://github.com/llvm/llvm-project/commit/6b4b6d9ba4691fcb59a5e67cb1cac95027a7e132.diff
LOG: [llvm][docs] Expand section on non-integral pointers (#73242)
Specify their restrictions w.r.t. `align` attribute.
Added:
Modified:
llvm/docs/LangRef.rst
Removed:
################################################################################
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index cf9b33a30eab5..f5e8065ca1dc6 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:
More information about the llvm-commits
mailing list