LLVM Weekly - #489, May 15th 2023

LLVM Weekly - #489, May 15th 2023

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

Welcome to the four hundred and eighty-ninth 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.

It was yet another successful EuroLLVM last week - thank you as always to the organisers and everyone involved. It was great to catch up with so many people (or make new connections).

News and articles from around the web and events

Fabien Sanglard authored a series of articles on compiler drivers.

Yahwant Singh blogged about LLVM’s loop unroll.

Julia 1.9 was released, updating to LLVM 14.

The next LLVM social in Darmstadt will be held on May 31st and will feature a talk from Johannes Doerfert.

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

  • Office hours with the following hosts: Phoebe Wang, Kriftof Beyls, Johannes Doerfert, Aaron Ballman.
  • Online sync-ups on the following topics: Flang, SYCL, security group, OpenMP, classic Flang, Clang C/C++ language working group, opt optimisations, OpenMP and Flang, MLIR open meeting, SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • In anticipation of the transition to the use of pull requests for LLVM development, documentation was added on updating pull requests. 245cb1f.

  • The minimum CMake version was bumped to 3.20.0. 65429b9.

  • A scheduling model was committed for the RISC-V V extension on the SiFive 7 series. 1a85581.

  • Experimental MC layer support was added for the RISC-V Zcmp extension. 6b55e91.

  • Pathological cases in MachineInstrCleanup are now handled better, drastically reducing compile times for those inputs. cb57b7a7.

  • A new isDesirableToCommuteWithShift target hook was implemented for GlobalISel. e1472db.

  • SuffixTree was refactored to use LLVM-style RTTI and split into separate files. c2f0c20, 6cf993e.

  • Codegen support was added for the RISC-V zhinx and zhinxmin extensions. 773b0aa.

Clang commits

  • Standard C++ features that were backported to previous standards in Clang are now documented. b09fad7.

  • Compiling Clang with BOLT now uses the files in clang/utils/perf-training for profile collection, allowing for reproducible builds. 76b2915.

  • Target feature requirements were added for PPC builtins. 651b0e2.

  • -dumpdir was introduced to specify a prefix for auxiliary filenames (e.g. for -gsplit-dwarf). Additionally, -gsplit-dwarf now produces the .dwo file in the directory of the output .o. dbedcfd.

Other project commits

  • An optimized memcpy implementation for RISC-V was added to LLVM’s libc. f4a3549.

  • A COFF object file plugin was implemented for LLDB. 5014830.