LLVM Weekly - #485, April 17th 2023
Welcome to the four hundred and eighty-fifth 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.
News and articles from around the web and events
Nikita Popov blogged about canonicalization and target-independence in the LLVM middle-end.
If you’re interested in the MLIR Hackathon in Edinburgh prior to EuroLLVM, be sure to register. Also be away that the deadline for round table submissions for EuroLLVM is today.
The LLVM Social Bangalore meetup will take place on April 23rd, where Vinayaka Bandishti will present “Polyhedral Analyses using MLIR’s Affine dialect”.
According to the LLVM calendar in the coming week there will be:
- Office hours with the following hosts: Lang Hames, Phoebe Wang, Johannes Doerfert, Michal Paszkowski.
- Online sync-ups on the following topics: Flang, security group, OpenMP, Clang C/C++ language working group, OpenMP for Flang, MLIR, SPIR-V.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
David Spickett started a thread on prototyping pre-commit testing using buildbot. This triggered discussion on the number of commits and updates on in-review patches per hours (and hence the compute requirements). Konrad Kleine shared details about a related proof of concept design.
Sergei Barannikov proposes splitting up Clang’s TargetInfo.cpp, and everyone so far is in favour.
Vlad Serebrennikov posted an RFC on introducing a C++ conformance test suite, proposing to add tests that track changes to the C++ standard.
Tobias Gysi initiated an RFC discussion on using attributes to model distinct LLVM metadata nodes in MLIR.
David Spickett reports that changes for registers fields in LLDB have now landed.
Théo Degioanni suggested introducing a generic mem2reg implementation in MLIR that can operate on arbitrary dialects.
LLVM commits
MachineValueType.h is now partially generated from ValueTypes.td. fcc5f9e.
MC layer support was committed for the SiFive Vector Coprocessor Interface (VCIX) vendor extension for RISC-V. 0b9a620.
IRPGO was extended to support temporal profiling. 244be0b.
MachineFunction
now has anIsOutlined
field which is set if the function was generated by theMachineOutliner
. 267708f.X3 is now used for the shadow call stack register on RISC-V. aa1d269.
The BreakpointPrinter and ExternalFunctionsPassedConstants passes were removed. 169fde6, c00b526.
Clang commits
A new bugprone-non-zero-enum-to-bool-conversion check was added to clang-tidy. 3bf322e.
-Wunsafe-buffer-usage
now generates fix-its for pointer pre-increment. 762af11.clang-tidy checks can now be specified as a list in the config file rather than just a string. 132f1d3.
Other project commits
LLVM’s libc gained implementations of
swab
,strchr
,index
,memmem
,sched_yield
, andgetchar
. 1a3e760, 82ca29c, 9c7a370, 718729e, 203aff2, 1c261e3.Clang 14 support was removed from libcxx (per policy, only the last two releases are supported). b251879.
RISC-V linker relaxation for global pointer relocations was implemented for RISC-V. 8544479.