LLVM Weekly - #347, August 24th 2020
Welcome to the three hundred and forty-seventh 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
The LLVM Foundation's new Board of Directors has been announced. The new board consists of Kit Barton, Kristof Beyls, Mike Edwards (Treasurer), Hal Finkel, Cyndy Ishida, Anton Korobeynikov, Tanya Lattner (President), Chris Lattner, Tom Stellard (Secretary).
LLVM 11.0.0-rc2 has been tagged.
On the mailing lists
-
Leonard Chan posted an RFC on adding a new Constant type to represent function PLT entries. Fangrui Song explained how the terminology may be confusing. Eric Christopher expressed concerns about adding more complexity to the IR, to which Chris Lattner responded with motivations for the change in terms of expressivity and simplicity.
-
The 14th MLIR newsletter is now available, summarising recent MLIR developments.
-
Florian Hahn proposes switching to MemorySSA-backed Dead Store Elimination, which would allow the elimination of stores across basic blocks at the cost of a small increase in compile time.
-
Zi Xuan Wu proposed the addition of a backend for the C-SKY processor architecture.
-
Filippo Costa asks about adopting a third-party JSON library instead of LLVM's homegrown implementation. The responses detail some of the concerns about adding external dependencies.
-
Alexander Shaposhnikov posted an RFC on contributing a
bitcode_strip
utility (currently part of Apple's cctools and distributed with XCode).
LLVM commits
-
DataLayout parsing will now fail gracefully rather than simply using
report_fatal_error
. 874aef8. -
llvm-objdump gained a
--symbolize-operands
option to print a label rather than a real address for branch target operands. 819b2d9. -
The TableGen Programmer's Reference document was created, combining the previous language introduction and language reference documents. e0c01e6.
-
InstCombine was updated to handle a common pattern in C++ exception lowering code. ae7f088.
-
DemandedBits analysis was made more precise for addition. c1f6ce0.
-
The Attributor learned to deduce the noundef attribute. 5e361e2.
-
A new
force-remove-attribute
argument was introduced to remove an attribute from a function via the command line. 7a028fe. -
The FixedPointBuilder helper class was introduced. f03b10f.
-
The legalization for FSHL and FSHR was improved. 0819a64.
-
The preferred syntax for an integer range in TableGen is now
{0...9}
rather than{0-9}
. 196e6f9.
Clang commits
-
Initial support for
-mtune
was added to the Clang driver for X86. 4cbceb7. -
A non-exhaustive list of intrinsics that can be used in constant expressions was documented. f76adc2.
-
_ExtInt
is now disabled with__atomic
builtins. ca77ab4.
Other project commits
-
libclc gained a Mesa/SPIR-V target. c37145c.
-
Standard MLIR types and attributes are now exposed in its C API. 74f57784, da56297.
-
A new Pattern Descriptor Language (PDL) MLIR dialect was added. 3fb3927.
-
LLVM's OpenMP implementation gained a target memory manager, aiming to limit the number of allocation and frees by not immediately freeing memory. 0289696.
-
LLVM's libc frexp and logb implementations were switched to use the new NormalFloat class. 87bf0b0.