From 5102084787a10a82d9d8f59e129a24ba659d9118 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 22 Jul 2022 14:13:12 +0200 Subject: [PATCH] [Docs] Add release notes for opaque pointers (NFC) --- llvm/docs/ReleaseNotes.rst | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst index 5f7dca3..193898a 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -66,6 +66,10 @@ versions of these toolchains. Changes to the LLVM IR ---------------------- +* LLVM now uses `opaque pointers `__. This means that + different pointer types like ``i8*``, ``i32*`` or ``void()**`` are now + represented as a single ``ptr`` type. See the linked document for migration + instructions. * Renamed ``llvm.experimental.vector.extract`` intrinsic to ``llvm.vector.extract``. * Renamed ``llvm.experimental.vector.insert`` intrinsic to ``llvm.vector.insert``. * The constant expression variants of the following instructions have been @@ -224,6 +228,19 @@ Changes to the C API * Add ``LLVMDeleteInstruction`` function which allows deleting instructions that are not inserted into a basic block. +* As part of the opaque pointer migration, the following APIs are deprecated and + will be removed in the next release: + * ``LLVMBuildLoad`` -> ``LLVMBuildLoad2`` + * ``LLVMBuildCall`` -> ``LLVMBuildCall2`` + * ``LLVMBuildInvoke`` -> ``LLVMBuildInvoke2`` + * ``LLVMBuildGEP`` -> ``LLVMBuildGEP2`` + * ``LLVMBuildInBoundsGEP`` -> ``LLVMBuildInBoundsGEP2`` + * ``LLVMBuildStructGEP`` -> ``LLVMBuildStructGEP2`` + * ``LLVMBuildPtrDiff`` -> ``LLVMBuildPtrDiff2`` + * ``LLVMConstGEP`` -> ``LLVMConstGEP2`` + * ``LLVMConstInBoundsGEP`` -> ``LLVMConstInBoundsGEP2`` + * ``LLVMAddAlias`` -> ``LLVMAddAlias2`` + * Refactor compression namespaces across the project, making way for a possible introduction of alternatives to zlib compression in the llvm toolchain. Changes are as follows: -- 2.7.4