Redirect 301 /ads.txt https://srv.adstxtmanager.com/19390/vmorecloud.com LLVM 22.1 Released With Backend, LLDB, and ThinLTO Updates Mastodon
Linux

LLVM 22.1 Released With Backend, LLDB, and ThinLTO Updates

LLVM 22.1 Released With Backend, LLDB, and ThinLTO Updates
13views

The LLVM open-source compiler framework has officially introduced LLVM 22.1, marking the first stable release in the 22.x development cycle after roughly six months of engineering work.

This release delivers a range of improvements across the core infrastructure. Within LLVM IR, a new ptrtoaddr instruction refines how address extraction is handled by separating it from provenance tracking and alignment behavior in masked memory operations. Enhancements have also been made to the processing of switch instructions and metadata handling.

On the build and infrastructure side, updates include better support for AIX platforms, compatibility improvements for CMake 4.0, and adjustments to shared library configuration defaults. TableGen has transitioned to newer operators, phasing out legacy syntax. Vectorization capabilities continue to evolve, with early support for copyable elements in the SLP vectorizer and improved recognition of FMA and FMAD instruction patterns.

Architecture-specific advancements are also notable. AArch64 gains compatibility with Armv9.7-A features along with additional CPU definitions. RISC-V now enables tail folding by default within the loop vectorizer and expands extension coverage. LoongArch introduces support for large code models and enhanced relocation mechanisms.

PowerPC receives updates to experimental instructions and refinements to ABI handling. For x86, new -mcpu targets such as wildcatlake and novalake have been added. WebAssembly improvements include better soft-float handling for half-precision operations and a platform naming adjustment from wasm32-wasi to wasm32-wasip1.

Tooling improvements are part of this release as well. llvm-config now includes a --quote-paths option. Both llc and opt can export collected statistics to files. llvm-objdump expands CPU and attribute assistance features, and legacy Python 2.7 support has been further removed from llvm-lit.

LLDB extends its WebAssembly debugging capabilities, adding more reliable breakpoint management and variable inspection for compatible runtimes. A newly introduced WebAssembly platform plugin allows execution of Wasm binaries within supported environments. On Windows systems, LLDB now defaults to LLVM’s built-in PDB reader instead of using DIA. Notably, LLDB 22 will be the final version supporting FreeBSD 13 and older releases.

The update also strengthens Distributed ThinLTO functionality by introducing cache mechanisms for incremental compilation and improving how bitcode objects inside static archives are processed. Cleanup of temporary files during unexpected shutdown scenarios has been made more resilient. Distributed ThinLTO continues to support ELF and COFF object formats.

Security and performance tooling receive enhancements as well. TypeSanitizer can now operate alongside UndefinedBehaviorSanitizer, with additional flexibility for controlling instrumentation outlining. Meanwhile, BOLT adds a lightweight mode for AArch64, helping reduce binary size by reusing cold code segments instead of duplicating them.

For more information, see the announcement or refer to the release notes.

Leave a Response