```{warning} These are in-progress notes for the upcoming LLVM {{env.config.release}} release. Release notes for previous releases can be found on [the Download Page](https://releases.llvm.org/download.html). ```
This document contains the release notes for the LLVM Compiler Infrastructure, release {{env.config.release}}. Here we describe the status of LLVM, including major improvements from the previous release, improvements in various subprojects of LLVM, and some of the current users of the code. All LLVM releases may be downloaded from the LLVM releases web site.
For more information about LLVM, including information about the latest release, please check out the main LLVM web site. If you have questions or comments, the Discourse forums is a good place to ask them.
Note that if you are reading this file from a Git checkout or the main LLVM web page, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.
The nocapture attribute has been replaced by captures(none).
The constant expression variants of the following instructions have been removed:
mulUpdated semantics of llvm.type.checked.load.relative to match that of llvm.load.relative.
TargetIntrinsicInfo class).Enabled the FWD_PROGRESS bit for all GFX ISAs greater or equal to 10, for the AMDHSA OS.
Bump the default .amdhsa_code_object_version to 6. ROCm 6.3 is required to run any program compiled with COV6.
Turn on strict buffer OOB checking on non-AMDHSA OSs. This improves the correctness of buffer accesses in some cases at the cost of performance for programs that do not contain unaligned out-of-bounds accesses. The old behavior may be restored with the relaxed-buffer-oob-mode feature.
small to medium for 64-bit.-mcpu=i6400 and -mcpu=i6500 were added.log-vrgather cost model for vrgather.vv instructionqci-nest and qci-nonest interrupt types, which use instructions from Xqciint to save and restore some GPRs during interrupt handlers.Xqcili is enabled, qc.e.li and qc.li may now be used to materialize immediates..option exact, which disables automatic compression, and branch and linker relaxation. This can be disabled with .option noexact, which is also the default.fp128 is now passed indirectly, meaning it uses the same calling convention as i128.The following functions for creating constant expressions have been removed, because the underlying constant expressions are no longer supported. Instead, an instruction should be created using the LLVMBuildXYZ APIs, which will constant fold the operands if possible and create an instruction otherwise:
LLVMConstMulLLVMConstNUWMulLLVMConstNSWMul--update-section flag for intermediate Mach-O object files.--discard-locals and --discard-all now allow and preserve symbols referenced by relocations. (#47468)show-statusline and statusline-format settings.min-gdbserver-port and max-gdbserver-port options have been removed from lldb-server's platform mode. Since the changes to lldb-server's port handling in LLDB 20, these options have had no effect.A wide variety of additional information is available on the LLVM web page, in particular in the documentation section. The web page also contains versions of the API documentation which is up-to-date with the Git version of the source code. You can access versions of these documents specific to this release by going into the llvm/docs/ directory in the LLVM tree.
If you have any questions or comments about LLVM, please feel free to contact us via the Discourse forums.