1b9f09a43SDavid Spickett<!-- This document is written in Markdown and uses extra directives provided by 2b9f09a43SDavid SpickettMyST (https://myst-parser.readthedocs.io/en/latest/). --> 3b9f09a43SDavid Spickett 4b9f09a43SDavid SpickettLLVM {{env.config.release}} Release Notes 5b9f09a43SDavid Spickett========================================= 6b9f09a43SDavid Spickett 7b9f09a43SDavid Spickett```{contents} 8b9f09a43SDavid Spickett``` 9b9f09a43SDavid Spickett 10b9f09a43SDavid Spickett````{only} PreRelease 11b9f09a43SDavid Spickett```{warning} These are in-progress notes for the upcoming LLVM {{env.config.release}} 12b9f09a43SDavid Spickett release. Release notes for previous releases can be found on 13b9f09a43SDavid Spickett [the Download Page](https://releases.llvm.org/download.html). 14b9f09a43SDavid Spickett``` 15b9f09a43SDavid Spickett```` 16b9f09a43SDavid Spickett 17b9f09a43SDavid SpickettIntroduction 18b9f09a43SDavid Spickett============ 19b9f09a43SDavid Spickett 20b9f09a43SDavid SpickettThis document contains the release notes for the LLVM Compiler Infrastructure, 21b9f09a43SDavid Spickettrelease {{env.config.release}}. Here we describe the status of LLVM, including 22b9f09a43SDavid Spickettmajor improvements from the previous release, improvements in various subprojects 23b9f09a43SDavid Spickettof LLVM, and some of the current users of the code. All LLVM releases may be 24b9f09a43SDavid Spickettdownloaded from the [LLVM releases web site](https://llvm.org/releases/). 25b9f09a43SDavid Spickett 26b9f09a43SDavid SpickettFor more information about LLVM, including information about the latest 27b9f09a43SDavid Spickettrelease, please check out the [main LLVM web site](https://llvm.org/). If you 28b9f09a43SDavid Spicketthave questions or comments, the [Discourse forums](https://discourse.llvm.org) 29b9f09a43SDavid Spickettis a good place to ask them. 30b9f09a43SDavid Spickett 31b9f09a43SDavid SpickettNote that if you are reading this file from a Git checkout or the main 32b9f09a43SDavid SpickettLLVM web page, this document applies to the *next* release, not the current 33b9f09a43SDavid Spickettone. To see the release notes for a specific release, please see the 34b9f09a43SDavid Spickett[releases page](https://llvm.org/releases/). 35b9f09a43SDavid Spickett 36b9f09a43SDavid SpickettNon-comprehensive list of changes in this release 37b9f09a43SDavid Spickett================================================= 38b9f09a43SDavid Spickett 39b9f09a43SDavid Spickett<!-- For small 1-3 sentence descriptions, just add an entry at the end of 40b9f09a43SDavid Spickettthis list. If your description won't fit comfortably in one bullet 41b9f09a43SDavid Spickettpoint (e.g. maybe you would like to give an example of the 42b9f09a43SDavid Spickettfunctionality, or simply have a lot to talk about), see the comment below 43b9f09a43SDavid Spickettfor adding a new subsection. --> 44b9f09a43SDavid Spickett 45b9f09a43SDavid Spickett* ... 46b9f09a43SDavid Spickett 47b9f09a43SDavid Spickett<!-- If you would like to document a larger change, then you can add a 48b9f09a43SDavid Spickettsubsection about it right here. You can copy the following boilerplate: 49b9f09a43SDavid Spickett 50b9f09a43SDavid SpickettSpecial New Feature 51b9f09a43SDavid Spickett------------------- 52b9f09a43SDavid Spickett 53b9f09a43SDavid SpickettMakes programs 10x faster by doing Special New Thing. 54b9f09a43SDavid Spickett--> 55b9f09a43SDavid Spickett 56b9f09a43SDavid SpickettChanges to the LLVM IR 57b9f09a43SDavid Spickett---------------------- 58b9f09a43SDavid Spickett 59*29441e4fSNikita Popov* The `nocapture` attribute has been replaced by `captures(none)`. 60*29441e4fSNikita Popov 61b9f09a43SDavid SpickettChanges to LLVM infrastructure 62b9f09a43SDavid Spickett------------------------------ 63b9f09a43SDavid Spickett 64b9f09a43SDavid SpickettChanges to building LLVM 65b9f09a43SDavid Spickett------------------------ 66b9f09a43SDavid Spickett 67b9f09a43SDavid SpickettChanges to TableGen 68b9f09a43SDavid Spickett------------------- 69b9f09a43SDavid Spickett 70b9f09a43SDavid SpickettChanges to Interprocedural Optimizations 71b9f09a43SDavid Spickett---------------------------------------- 72b9f09a43SDavid Spickett 73b9f09a43SDavid SpickettChanges to the AArch64 Backend 74b9f09a43SDavid Spickett------------------------------ 75b9f09a43SDavid Spickett 76b9f09a43SDavid SpickettChanges to the AMDGPU Backend 77b9f09a43SDavid Spickett----------------------------- 78b9f09a43SDavid Spickett 79b9f09a43SDavid SpickettChanges to the ARM Backend 80b9f09a43SDavid Spickett-------------------------- 81b9f09a43SDavid Spickett 82b9f09a43SDavid SpickettChanges to the AVR Backend 83b9f09a43SDavid Spickett-------------------------- 84b9f09a43SDavid Spickett 85b9f09a43SDavid SpickettChanges to the DirectX Backend 86b9f09a43SDavid Spickett------------------------------ 87b9f09a43SDavid Spickett 88b9f09a43SDavid SpickettChanges to the Hexagon Backend 89b9f09a43SDavid Spickett------------------------------ 90b9f09a43SDavid Spickett 91b9f09a43SDavid SpickettChanges to the LoongArch Backend 92b9f09a43SDavid Spickett-------------------------------- 93b9f09a43SDavid Spickett 94b9f09a43SDavid SpickettChanges to the MIPS Backend 95b9f09a43SDavid Spickett--------------------------- 96b9f09a43SDavid Spickett 97b9f09a43SDavid SpickettChanges to the PowerPC Backend 98b9f09a43SDavid Spickett------------------------------ 99b9f09a43SDavid Spickett 100b9f09a43SDavid SpickettChanges to the RISC-V Backend 101b9f09a43SDavid Spickett----------------------------- 102b9f09a43SDavid Spickett 103b9f09a43SDavid SpickettChanges to the WebAssembly Backend 104b9f09a43SDavid Spickett---------------------------------- 105b9f09a43SDavid Spickett 106b9f09a43SDavid SpickettChanges to the Windows Target 107b9f09a43SDavid Spickett----------------------------- 108b9f09a43SDavid Spickett 109b9f09a43SDavid SpickettChanges to the X86 Backend 110b9f09a43SDavid Spickett-------------------------- 111b9f09a43SDavid Spickett 112b9f09a43SDavid SpickettChanges to the OCaml bindings 113b9f09a43SDavid Spickett----------------------------- 114b9f09a43SDavid Spickett 115b9f09a43SDavid SpickettChanges to the Python bindings 116b9f09a43SDavid Spickett------------------------------ 117b9f09a43SDavid Spickett 118b9f09a43SDavid SpickettChanges to the C API 119b9f09a43SDavid Spickett-------------------- 120b9f09a43SDavid Spickett 121b9f09a43SDavid SpickettChanges to the CodeGen infrastructure 122b9f09a43SDavid Spickett------------------------------------- 123b9f09a43SDavid Spickett 124b9f09a43SDavid SpickettChanges to the Metadata Info 125b9f09a43SDavid Spickett--------------------------------- 126b9f09a43SDavid Spickett 127b9f09a43SDavid SpickettChanges to the Debug Info 128b9f09a43SDavid Spickett--------------------------------- 129b9f09a43SDavid Spickett 130b9f09a43SDavid SpickettChanges to the LLVM tools 131b9f09a43SDavid Spickett--------------------------------- 132b9f09a43SDavid Spickett 133b9f09a43SDavid SpickettChanges to LLDB 134b9f09a43SDavid Spickett--------------------------------- 135b9f09a43SDavid Spickett 1369ea64dd8SDavid Spickett* When building LLDB with Python support, the minimum version of Python is now 1379ea64dd8SDavid Spickett 3.8. 1389ea64dd8SDavid Spickett 139b9f09a43SDavid SpickettChanges to BOLT 140b9f09a43SDavid Spickett--------------------------------- 141b9f09a43SDavid Spickett 142b9f09a43SDavid SpickettChanges to Sanitizers 143b9f09a43SDavid Spickett--------------------- 144b9f09a43SDavid Spickett 145b9f09a43SDavid SpickettOther Changes 146b9f09a43SDavid Spickett------------- 147b9f09a43SDavid Spickett 148b9f09a43SDavid SpickettExternal Open Source Projects Using LLVM {{env.config.release}} 149b9f09a43SDavid Spickett=============================================================== 150b9f09a43SDavid Spickett 151b9f09a43SDavid Spickett* A project... 152b9f09a43SDavid Spickett 153b9f09a43SDavid SpickettAdditional Information 154b9f09a43SDavid Spickett====================== 155b9f09a43SDavid Spickett 156b9f09a43SDavid SpickettA wide variety of additional information is available on the 157b9f09a43SDavid Spickett[LLVM web page](https://llvm.org/), in particular in the 158b9f09a43SDavid Spickett[documentation](https://llvm.org/docs/) section. The web page also contains 159b9f09a43SDavid Spickettversions of the API documentation which is up-to-date with the Git version of 160b9f09a43SDavid Spickettthe source code. You can access versions of these documents specific to this 161b9f09a43SDavid Spickettrelease by going into the `llvm/docs/` directory in the LLVM tree. 162b9f09a43SDavid Spickett 163b9f09a43SDavid SpickettIf you have any questions or comments about LLVM, please feel free to contact 164b9f09a43SDavid Spickettus via the [Discourse forums](https://discourse.llvm.org). 165