LLVM Weekly - #566, November 4th 2024
Welcome to the five hundred and sixty-sixth 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.
News and articles from around the web and events
LLVM 19.1.3 was released.
The Call for Papers is out for the ninth LLVM Performance Workshop at CGO. The deadline is January 25th, and the event will take place 1-5th March.
Sahil Patidar wrote on the LLVM blog about achievements in the out-of-process execution for clang-repl GSoC project.
Rafael Eckstein blogged about building the LLVM test suite in order to test the effect of a particular pass.
The next Portland LLVM social will take place on November 7th.
According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Anastasia Stulova, Kristof Beyls, Johannes Doerfert.
- Online sync-ups on the following topics: MLIR C/C++ frontend, pointer authentication, new contributors, OpenMP, Clang C/C++ language working group, Flang, SPIR-V, RISC-V, MLIR, LLVM embedded toolchains, HLSL.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Renato Golin, in collaboration with others, started an RFC discussion on a MLIR project charter and restructuring. The RFC is detailed and there’s a lot of discussion that I can’t meaningfully summarise, so be sure to dive in and read if the future direction of MLIR is of interest.
Amr Hesham shared a new project, llql that allows you to run SQL-like queries against LLVM IR.
Tobias Hieta started a discussion about a potential ABI break in the 19.1.3 release and how to handle it.
Schrodinger Zhu started a discussion about what target triple should be used when targeting LLVM libc.
Steven Wu provided an update on the now-restarted upstreaming effort for LLVM content addressable storage (CAS).
Aaron Ballman put out a call for volunteers to be a maintainer for a Clang component.
More notes from LLVM Dev Meeting round tables were shared (thanks to those taking notes and sharing!): MLIR, office hours, bounds safety, debug info.
Aaron Ballman notes that discussions seem to be winding down with consensus reached for RFCs on typed allocator support, and controlling diagnostic severities at file-level granularity. So do speak up if you disagree.
Issue #71 of MLIR news is now out.
Maksim Levental proposed an incubator for MLIR language frontends / bindings. There have been plenty of questions about the details so far, but those who have responded largely seem positive.
LLVM commits
The documentation on llvm-lit options was updated. a8398bd.
A TrieRawHashMap data structure was added to LLVM’s ADT library. b510cdb.
Support was added for the
FEAT_PAuthLR
DWARF instruction. 86f76c3.A new
instcombine-no-verify-fixpoint
function attribute was introduced. f78610a.The RVA23U64, RVA23S64, RVB23U64, and RVB23S64 RISC-V profiles were marked as non-experimental. ba7555e, 7544d3a.
An
llvm.sincos
intrinsic was introduced. c3260c6.MVT::iPTRAny
was renamed toMVT::pAny
. 9467645.When writing memprof profile information, it’s now possible to generate random hotness (for testing). bb39151.
Assembler/disassembler support was added for new AArch64 SME and SVE instructions. 95c5042, b185e92, c485ee1.
Mentions of IRC in the documentation are now updated to point to Discord instead. 0ab44fd.
Clang commits
Following an RFC, support was removed for RenderScript. af7c58b.
clang-sycl-linker was added, providing a tool to link SYCL offloading device code. eeee5a4.
The
-startfiles
flag was added for GPU targets for use when compiling with libc, and start files should be included. d4c4180.Function effect analysis was documented. 034cae4.
swift_attr
can now be applied to types. d3daa3c.Nondeterministic pointer usage checks were moved to clang-tidy. 3d6923d.
Other project commits
Syscall and setjmp/longjmp support for i386 was added to LLVM’s libc. 8413599, b1320d3.
LLDB can now break on call-site locations. f147437.
The lldb-repro utility was removed, as the reproducer functionality was removed from lldb. 88591aa.
A “walk pattern” rewrite driver was added to MLIR, intended to be fast and simple. 0f8a6b7.