From: Arthur Eubanks Date: Fri, 11 Jun 2021 19:51:25 +0000 (-0700) Subject: [docs][OpaquePtr] Add some specific examples of what needs to be done X-Git-Tag: llvmorg-14-init~4176 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06c3d52aa2fa3b6a9aa019906ad8577813efe32a;p=platform%2Fupstream%2Fllvm.git [docs][OpaquePtr] Add some specific examples of what needs to be done --- diff --git a/llvm/docs/OpaquePointers.rst b/llvm/docs/OpaquePointers.rst index b1dfe76..c3a02c6 100644 --- a/llvm/docs/OpaquePointers.rst +++ b/llvm/docs/OpaquePointers.rst @@ -108,12 +108,21 @@ particular order: * Fix up existing in-tree users of pointee types to not rely on LLVM pointer pointee types + * Specifically ``PointerType::getElementType`` and + ``Type::getPointerElementType()`` + * Allow bitcode auto-upgrade of legacy pointer type to the new opaque pointer type (not to be turned on until ready) + * To support legacy bitcode, such as legacy stores/loads, we need to track + pointee types for all values since legacy instructions may infer the types + from a pointer operand's pointee type + * Migrate frontends to not keep track of frontend pointee types via LLVM pointer pointee types + * This is mostly Clang, see ``clang::CodeGen::Address::getElementType()`` + * Add option to internally treat all pointer types opaque pointers and see what breaks, starting with LLVM tests, then run Clang over large codebases