LLVM Weekly - #331, May 4th 2020
Welcome to the three 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 https://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
Emmanuel Roche has authored a fifth instalment in the blog series on building a JIT C++ compiler with LLVM on Windows 10.
On the mailing lists
-
Tom Stellard provided an updated RFC on migrating to GitHub issues. This proposal would maintain issue numbers my overwriting existing ones with migrated issue contents. A variant on this is currently being investigated, which would involve creating a new repository (i.e. with no issues or PRs already present), migrating the issues, and replacing the current llvm-project repo on GitHub with it.
-
Amara Emerson asked for input on propagating int/float type information in GlobalISel IR translation.
-
JF Bastien follows up on the thread regarding
-ftrivial-auto-var-init=zero
to provide collated feedback from people's spoken to, while Richard shares more thoughts on trapping. -
The 6th edition of the MLIR (bi)weekly newsletter is now available.
-
ORC JIT Weekly #14 is out. A preliminary patch to support removable code in OrcV2 has been posted for review.
-
Matthew Malcomson started a discussion on the exception unwinding ABI for MTE.
-
Hal Finkel is intending to remove support for the IBM BG/Q supercomputer from the PowerPC backend and is asking if anyone still makes use of that support.
-
Sam Parker kicked off an RFC thread on "being explicit in the cost model". His latest patch aims to added a
TargetCostKind
as an argument to almost allget*Cost
methods. -
Sjoerd Meijer proposes a new llvm.set.loop.elements.i32 intrinsic to allow "tail predication" in the loop vectoriser.
LLVM commits
-
New IR constructs were added for 'preallocated', which provides a replacement for inalloca. 3b0450a.
-
SmallVector size and capacity will now use word-size integers when element are small, in order to increase the maximum size of
SmallVector<char>
. dda3c19. -
The atomic expansion pass was updated to handle part-word LL/SC. 25a4b19.
-
Lit now prints the number of tests that were discovered but not executed due to test selection options. 8cb8fe9.
-
WebAssembly SIMD opcodes have been renumbered to match the latest specification (intended to the final reorganisation of the SIMD opcode space before standardisation). e0f5284.
Clang commits
-
A draft specification for matrix support in Clang was committed. 7363ffe.
-
The x86/x86-64 calling convention for
_ExtInt
was updated, so they are passed indirectly if larger than the largest integer register and otherwise passed like ints._ExtInt
must now be explicitly enabled per-target. 5a1d9c0, 911add1. -
clang-format got better at parsing C# properties. 44ad58b.
Other project commits
-
lld-macho development continues with support for basic symbol table output and support for emitting trivial dylibs. 4f0cccd, 62b8f32.
-
MLIR gained a generic buffer assignment transformation, ported from TensorFlow. 5c352e6.
-
The scudo secure memory allocator now supports pattern-initialisation of memory. 45b7d44.
-
Flang now has a proposal document describing how uniquing of internal names is done. 7875362.
-
libcxx gained a small DSL for defining lit features and parameters. e82f0a5.