LLVM Weekly - #431, April 4th 2022

LLVM Weekly - #431, April 4th 2022

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

Welcome to the four hundred and thirty-first 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 call for papers for EuroLLVM 2022 was extended to Monday April 4th, 11:59pm PDT. Registration will open this week.

CGO 2022 is taking place over April 2nd-6th.

On the forums

LLVM commits

  • Documentation was committed for llvm-remark-size-diff. bdea2af.

  • Initial codegen infrastructure was added for the LoongArch backend. a1c6743.

  • Function specialisation now supports specialising more than one argument per function call. 8045bf9.

  • A stub DirectX backend was added. 44a14a6.

  • A setTargetDAGCombine overload taking an ArrayRef was added. 662b9fa.

  • llvm.vp.{fcmp,icmp} and various cast intrinsics were introduced. da6131f, 73244e8, a7c0b75.

  • Inlining of strictfp functions is now supported. 47b3b76.

Clang commits

  • A stub DirectX target was added for Clang, as well as a HLSL language option. c5e54e2, d394f9f.

  • __builtin_source_location was implemented, which will be used to implement std::source_location in libc++. d614874.

  • A new C++20 module mangling scheme was implemented. ae4dce8.

  • The --overlay-platform-toolchain patch was reverted. e1b8543.

  • The modernize-macro-to-enum clang-tidy check was introduced. This replaces eligible macros with anonymous unscoped enums. f547fc8.

Other project commits

  • The demangler was taught operator precedence rules, in order to minimise unnecessary parantheses in its output. b3b4113.

  • The performance of expm1f in LLVM’s libc was improved. a5466f0.