[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