```{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:
mul
Updated semantics of llvm.type.checked.load.relative
to match that of llvm.load.relative
.
TargetIntrinsicInfo
class).execute-only
target feature, which indicates that the generated program code doesn't contain any inline data, and there are no data accesses to code sections. On ELF targets this property is indicated by the SHF_AARCH64_PURECODE
section flag. (#125687, #132196, #133084)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.
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. <<<<<<< HEAD-mcpu=xiangshan-kunminghu
was added.-mcpu=andes-n45
and -mcpu=andes-nx45
were added.-mcpu=andes-a45
and -mcpu=andes-ax45
were added.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:
LLVMConstMul
LLVMConstNUWMul
LLVMConstNSWMul
Added LLVMConstDataArray
and LLVMGetRawDataValues
to allow creating and reading ConstantDataArray
values without needing extra LLVMValueRef
s for individual elements.
--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.process continue --reverse
when used with debug servers supporting reverse execution, such as rr. When using reverse execution, process continue --forward
returns to the forward execution.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.