LLVM Weekly - #524, January 15th 2024

LLVM Weekly - #524, January 15th 2024

If you prefer, you can read the definitive version of this issue at http://llvmweekly.org/issue/524.

Welcome to the five hundred and twenty-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, @llvmweekly or @asbradbury on Twitter, or @llvmweekly@fosstodon.org or @asb@fosstodon.org.

News and articles from around the web and events

Fangrui Song blogged about different object file formats.

According to the LLVM calendar in the coming week there will be:

  • Office hours with the following hosts: Phoebe Wang, Johannes Doerfert, Aaron Ballman.
  • Online sync-ups on the following topics: pointer authentication, security group, OpenMP, Clang C/C++ language working group, Flang, floating point, RISC-V libc, MLIR, SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • CodeGenPrepare was ported to the new pass manager. f1ec0d1.

  • A new AArch64 loop idiom transformation pass was added, handling memcmp-like loops that instead returns the index of the first mismatch. c714846.

  • MaxAtomicSizeInBitsSupported was set for all targets that didn’t previously set it, and it now defaults to 0. b856e77, b58f91a.

  • PassBuilder now supports machine passes. 8566cd6.

  • The language reference was updated to mention that rint and nearbyient assume the default rounding mode. fb14662.

  • ASan’s StackSafetyAnalysis was enabled by default. 7740565.

  • Codegen for a number of X86 APX (expanded register set) instructions was implemented. 1fe7bdb.

  • Patches that reduce the binary size of the tablegenerated SelectionDAG code were committed. 211abe3, 5c8d123, 1a57927.

  • The heuristic GlobalISel uses to decide whether to ‘localise’ a value was tweaked. bbbe8ec.

  • A CreatePtrAdd() method was added to IRBuilder. 6c2fbc3.

Clang commits

  • Documentation was added for HLSL functions. 183eae0.

  • The counted_by attribute was implemented, which can be used to improve the results of the array bound sanitizer. 164f85d.

  • The --gcc-triple option was added. 6684a09.

  • Performance was improved for the misc-const-correctness checker. 6eb372e.

  • GCC_INSTALL_PREFIX was deprecated. 3358c77.

  • The writable and dead_on_unwind attributes are now set on sret arguments, enabling further optimisations. 158d72d.

  • Documentation was added on options for Intel’s AVX10 ISA. 0e93d04.

Other project commits

  • The BOLT Address Translation section was documented and a series of optimisations made to significantly reduce its size. a7cf0a1, 565f40d, bbe0798, 8fb8ad6.

  • The -mrvv-vector-bits is now understood by flang. 2c60d59.

  • fabsf128 was added to LLVM’s libc. 1048b59.

  • A typescript extension was created for llvm-dap, with the intent of allowing different companies developing their own VSCode extensions for LLDB to have a single shared contribution point. b5d4332.

  • In MLIR, the OpenACC (‘acc’) dialect design philosophy was documented. ab4af25.

At the last Clang C/C++ Language working group we decided to move January 17th meeting to 24th.

Thanks for the reminder @Endill , I just changed the next Clang C/C++ Language WG meeting from Jan 17 to Jan 24.