From d4d30d6bb1a57fb8f017aa315ec7294d3eb9c09f Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Tue, 5 Apr 2022 12:09:10 +0200 Subject: [PATCH] [Docs] Update opaque pointers docs (NFC) Point people to the cc1 instead of the mllvm flag, as the mllvm flag will stop working for clang usage at some point. Update transition state to mention that support in Clang/LLVM is complete, and only the default switch is pending. --- llvm/docs/OpaquePointers.rst | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/llvm/docs/OpaquePointers.rst b/llvm/docs/OpaquePointers.rst index 2e15ce4..6e68436 100644 --- a/llvm/docs/OpaquePointers.rst +++ b/llvm/docs/OpaquePointers.rst @@ -65,7 +65,7 @@ During the transition phase, LLVM can be used in two modes: In typed pointer mode (currently still the default) all pointer types have a pointee type and opaque pointers cannot be used. In opaque pointers mode, all pointers are opaque. The opaque pointer mode can be enabled using ``-opaque-pointers`` in -LLVM tools like ``opt``, or ``-mllvm -opaque-pointers`` in clang. Additionally, +LLVM tools like ``opt``, or ``-Xclang -opaque-pointers`` in clang. Additionally, opaque pointer mode is automatically enabled for IR and bitcode files that use the ``ptr`` type. @@ -194,16 +194,9 @@ on a pointer type. Transition State ================ -As of March 2022 most parts of LLVM support opaque pointers. It is possible -to build most C and C++ code in opaque pointer mode, both with and without -optimization, and produce working binaries. However, thes are still some -open problems: +As of April 2022 both LLVM and Clang have complete support for opaque pointers, +but typed pointers are still the default. Opaque pointers will be enabled by +default in Clang soon. -* We do not yet have a firm strategy for enabling opaque pointers. A large - number of tests will have to be migrated to use opaque pointers. - -* Some pointer element type uses remain in LLVM. - -* Some pointer element type uses remain in MLIR. - -* Some pointer element type uses remain in Polly. +The MLIR and Polly monorepo projects are not fully compatible with opaque +pointers yet. -- 2.7.4