LLVM Weekly - #489, May 15th 2023
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, or @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
Mikhail Goncharov proposes moving premerge CI scripts to the LLVM monorepo and disabling some tests to remove false positives. Mikhail also made a general update.
Tobias Hieta posted an update on Python code style and reformatting discussions, outlining the planned next steps.
Nicolai Hähnle provided an update on implementation of target type classes for LLVM IR.
Yashwant Singh shared an update on the proposal to implement a generic predicated COPY opcode, noting a target-specific solution is being pursued (with patches posted) following feedback in the original proposal.
Zheng Qian proposed extended loop idiom recognition to replace scalar math in loops with equivalent vector math. Respondents suggested alternate approaches may be better.
Karl Friebel made an RFC thread on introducing named constraints (aka IR concepts) to MLIR.
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.