LLVM Weekly - #476, February 13th 2023

LLVM Weekly - #476, February 13th 2023

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

Welcome to the four hundred and seventy-sixth 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 and events

Student travel grants applications now open for EuroLLVM 2023, closing on March 5th.

Recordings from the LLVM devroom at FOSDEM are now posted.

The next Toronto Clang/LLVM meetup will take place on Feb 16th.

MaskRay blogged about LeakSanitizer.

Slides and a recording from this month’s open MLIR meeting are now available. Mehdi Amini presented on operation properties.

LLVM 16.0.0-rc2 has been tagged.

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

  • Office hours with the following hosts: Aaron Ballman, Alexey Bader, Alina Sbirlea, Phoebe Wang, Johannes Doerfert, Michal Paszkowski.
  • Online sync-ups on the following topics: OpenMP, Clang C/C++ language working group, Flang, RISC-V, SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Support for NaN-in-negative-zero formats used by AMD, GraphCore, and Qualcomm was added to APFloat. 6109e70.

  • It’s now possible to ignore COPY instructions when pattern-matching MIR in GlobalISel. 7092467.

  • The patch to enable ConstraintElim by default was relanded. 8028263.

  • DataLayout::getIndexType is now queried to determine the type to use for non-constant GEP indices. 5a11545.

  • The legacy pass manager version of a number of passes was removed: Internalize, StripSymbols, StripNonDebugSymbols, StripDeadDebugInfo, StripDeadPrototypes, VectorCombine, WarnMissedTransformations. 1597774.

  • MVT now has standard print/debug utilities to aid printf style debugging. 3be1ae2.

  • An emacs mode for .mir files was committed. 8cbf041.

  • A generic TargetLowering::shouldAlignPointerArgs implementation was added, improving code size and performance for targets that don’t have fast unaligned access. bd87a24.

  • A proposed (not yet finalised) mapping for load/store/fence with RISC-V’s Ztso extension was committed. be6fe95.

  • The various forwarding headers put in place as part of the TargetParsers move have now been removed, including llvm/ADT/Triple.h. 62c7f03.

Clang commits

  • -Wunsafe-buffer-usage can now generate fixits for local variables used for buffer access, suggesting they be changed to std::span type. Pragmas were also added to opt-out of unsafe buffer checking. bdf4f2b, 829bcb0.

  • -fsanitize-cfi-icall-experimental-normalize-integers was added for normalising integer types as vendor extended types for cross-clang LLVM CFI/KCFI support with other languages that can’t represent and encode C/C++ integer types. 71c7313.

  • -mllvm= can now be used as an alias for -mllvm. 90094ab.

Other project commits

  • The memref MLIR dialect can now be lowered to the LLVM dialect using opaque pointers when given the -finalize-memref-to-llvm option. The Async lowering gained a use-opaque-pointers option. 50ea17b, 2ca4642.

  • Flang gained a pass to move array temporaries to the stack, used by -fstack-arrays. cc14bf2, bf81ba3.

  • LLVM’s libc gained implementations of scalbn, scalbnf, and scalbnl. 6cb14ad.

  • libunwind now has a callback-based lookup scheme for JITted unwind info on Darwin. 0751fc68.

1 Like