[llvm] [llvm][docs] Expand section on non-integral pointers (PR #73242)

via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 23 06:09:43 PST 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-llvm-ir

Author: Danila Malyutin (danilaml)

<details>
<summary>Changes</summary>

Specify their restrictions w.r.t. `align` attribute.

---
Full diff: https://github.com/llvm/llvm-project/pull/73242.diff


1 Files Affected:

- (modified) llvm/docs/LangRef.rst (+6) 


``````````diff
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index bc1eab1e0b7a07f..99a7dcbc6226006 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -634,6 +634,12 @@ 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<llvm-ptrmask-intrinsic>`. In particular, it's not
+correct to infer `align` attributes for such pointers based on examining their
+bits and frontends must ensure that all `align` attributes represent the
+conservative alignment valid for every possible representation of the pointer.
+
 .. _globalvars:
 
 Global Variables

``````````

</details>


https://github.com/llvm/llvm-project/pull/73242


More information about the llvm-commits mailing list