LLVM Weekly - #432, April 11th 2022

LLVM Weekly - #432, April 11th 2022

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

Welcome to the four hundred and thirty-second 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

Registration is now open for EuroLLVM 2022. It will be held May 10-11 in London, and registration will close on May 4th.

As a reminder, per the Google Summer of Code timeline, applications are due by April 19th. See here for a all the information you may need about LLVM’s involvement in GSoC 2022.

The recording from the March Women in Compilers and Tools meetup is now available, featuring Theresa Foley speaking about “Taking the Slang Shading Language from Research to Production”.

On the forums

LLVM commits

  • The LLVM_ENABLE_NEW_PASS_MANAGER CMake option was can now only be set to On/True. This means it’s no longer possible to enable the legacy pass manager by default, though it can be explicitly enabled with appropriate flags at runtime. ed4e6e0.

  • The minimum toolchain version needed to build LLVM was increased. 4c72deb.

  • The DXILPrepare CodeGen pass was added, which handles the IR transformations required to convert modern LLVM IR into something that more closely resemble LLVM-3.7 IR that will be emitted by the DXIL bitcode writer. 6599fda.

  • The macros used in the IR verifier were renamed from Assert* to Check*. c54ad13.

  • MIPS-I load delay slots are now supported. 303c180.

  • A NotAtomic lowering strategy was added and used for AMDGPU for atomics in private address spaces. 7f14a1d, e6012c8.

Clang commits

  • Documentation was added on the work to add HLSL support to Clang. 9e3678e.

  • Clang now supports a randomize_layout attribute on structs, which will randomise the memory layout. This is a compile-time hardening technique that is also supported by GCC and used in the Linux kernel. 7aa8c38.

  • A huge commit added -no-opaque-pointers to Clang tests whose output will change when opaque pointers are enabled by default. 532dc62, b16a3b4.

  • A CSKY target definition and compiler driver was added to Clang. 97e4960.

Other project commits

  • A pthread_mutextattr_t type and an initial printf parser was added to LLVM’s libc. 83f153c, 4f4752e.

  • An Emacs client for MLIR’s LSP server was committed. 435a176.

  • It’s now possible to build the C runtime (CRT) separately from the rest of compiler-rt. b0e2ffe.