[llvm] 5a43a27 - [Docs] Update OpaquePointers transition state (NFC)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 14 03:56:07 PST 2022


Author: Nikita Popov
Date: 2022-02-14T12:55:58+01:00
New Revision: 5a43a278f7f6a9bba0a630634534a37e060f24d0

URL: https://github.com/llvm/llvm-project/commit/5a43a278f7f6a9bba0a630634534a37e060f24d0
DIFF: https://github.com/llvm/llvm-project/commit/5a43a278f7f6a9bba0a630634534a37e060f24d0.diff

LOG: [Docs] Update OpaquePointers transition state (NFC)

We're at a point where working optimized binaries can be produced
in opaque pointer mode.

Added: 
    

Modified: 
    llvm/docs/OpaquePointers.rst

Removed: 
    


################################################################################
diff  --git a/llvm/docs/OpaquePointers.rst b/llvm/docs/OpaquePointers.rst
index 3b452da51d94d..ef05b88e7262c 100644
--- a/llvm/docs/OpaquePointers.rst
+++ b/llvm/docs/OpaquePointers.rst
@@ -173,6 +173,7 @@ opaque pointer transition::
     LLVMBuildGEP -> LLVMBuildGEP2
     LLVMBuildInBoundsGEP -> LLVMBuildInBoundsGEP2
     LLVMBuildStructGEP -> LLVMBuildStructGEP2
+    LLVMBuildPtrDiff -> LLVMBuildPtrDiff2
     LLVMConstGEP -> LLVMConstGEP2
     LLVMConstInBoundsGEP -> LLVMConstInBoundsGEP2
     LLVMAddAlias -> LLVMAddAlias2
@@ -183,13 +184,15 @@ on a pointer type.
 Transition State
 ================
 
-As of January 2022 large parts of LLVM support opaque pointers, but there are
-still some major open problems:
+As of Febuary 2022 large parts of LLVM support opaque pointers. It is possible
+to build a lot of C and C++ code in opaque pointer mode, both with and without
+optimization, and produce working binaries. However, thes are still some major
+open problems:
 
 * Bitcode already fully supports opaque pointers, and reading up-to-date
   typed pointer bitcode in opaque pointers mode also works. However, we
-  currently do not support pointee type based auto-upgrade of old bitcode in
-  opaque pointer mode.
+  currently do not fully support pointee type based auto-upgrade of old bitcode
+  in opaque pointer mode.
 
 * While clang has limited support for opaque pointers (sufficient to compile
   CTMark on Linux), a major effort will be needed to systematically remove all
@@ -201,7 +204,4 @@ still some major open problems:
   opaque pointers are being added, but the bulk of tests still uses typed
   pointers.
 
-* Loop access analysis does not support opaque pointers yet, and is currently
-  the main source of assertion failures in optimized builds.
-
 * Miscellanous uses of pointer element types remain everywhere.


        


More information about the llvm-commits mailing list