LLVM Weekly - #444, July 4th 2022

LLVM Weekly - #444, July 4th 2022

If you prefer, you can read a HTML version of this email at http://llvmweekly.org/issue/444.

Welcome to the four hundred and forty-fourth issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by Alex Bradbury. Subscribe to future issues at http://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.

News and articles from around the web

The Cambridge (UK) LLVM social is starting up again. The next one will take place on the 12th July, at 6:30pm. I’ll be delivering a presentation on WebAssembly in LLVM. I hope to see some of you there!

The recording from the Women in Compilers and Tools May meetup is now available. Michelle Strout hosted an “ask me anything” session.

The Compiler Explorer now features an LLVM optimisation pipeline viewer.

On the forums

LLVM commits

  • A new “all” target feature was added for AArch64, which is accepted by disassemblers but intentionally rejected by clang. This is now used by default for llvm-objdump. 45f3a5a, 275862c.

  • A new autoupgrade conversion was implemented to expand constant expressions to instructions. 941c8e0.

  • Various uses of Optional::hasValue were removed to instead rely on the implicit cast to bool. a7938c7, d08f34b.

  • A new command-line option was added to ensure AAPCS compliant frame records are produced on Arm. 70a5c52.

  • A new cost model was introduced for loop interchange. b941857.

  • MC layer support for the RISC-V Zicbo{m,z,p} extensions was added. 4f40ca5, 7bcfcab.

  • The RISCVMergeBaseOffset pass was improved, allowing it to optimise multiple memory operations that use the same offset. 02c8453.

  • llvm-objdump learned to dump embedded offloading data. d2d8b0a.

Clang commits

  • It’s now possible to ‘undo’ in clang-repl. dea5a9c.

  • Initial parsing and sema support was added for the OpenMP ‘parallel masked taskloop’ construct. d64ba89.

Other project commits

  • A new dense array attribute was added to MLIR. 7faf75b.

  • Transitive includes in libcxx that were removed since LLVM 14 were re-added in order to avoid breakage in user code in LLVM 15. de4a57c.

  • lld-macho gained support for Arm64 linker optimisation hints. a3f67f0, 573c7e6.

  • The flang driver gained support for -O{0,1,2,3}. 869385b.

  • Underlying algorithms were added for LLVM libc’s new memory framework. 7f5d7bc.

1 Like