LLVM Weekly - #321, Feb 24th 2020
Welcome to the three hundred and twenty-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 [email protected], or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
The Diversity and Inclusion in Compilers and Tools workshop has been announced. It will take place on April 5th at the same venue as EuroLLVM'20.
The next Toronto LLVM meetup will take place on February 27th. It features a talk "Khronos SYCL and oneAPI: Heterogeneous Programming with Modern C++ and Machine Learning" by Michael Wong.
On the mailing lists
-
MLIR contributors have started a biweekly newsletter covering recent developments. The first issue was shared on the LLVM Discourse group.
-
ORC JIT Weekly #6 is out. The new static initializer system has landed, and JITLink has acquired a new optimization.
-
Fernando Magno Quintao Pereira wrote to announce the release of the AnghaBench of compilable programs. This includes one million C files mined from open source repositories, using type inference to replace missing dependencies. Its construction is described in the linked technical report.
-
Louis Dionne raised the prospect of allowing PRs on GitHub for some subprojects. Multiple respondents felt that transitioning the LLVM community all at once and avoiding fragmentation is important.
-
Brian Gesiak reports that LLVM's passes for C++20 coroutines now work with the new pass manager.
-
Ties Stuij kicked off a discussion about the disruption caused by refactoring for downstream projects, and specifically raised questions about whether it could be structured in a more downstream-friendly way (e.g. batching). This generated lots of comments.
-
Stephen Tozer posted an RFC on allowing debug intrinsics to reference multiple SSA values.
-
Hans Wennborg sent out a reminder to help write release notes for 10.0.0.
-
Richard Barton shared a plan for landing flang in the monorepo, which reflects feedback from the previous discussions and emphasises the need to better align flang to LLVM project norms.
-
Fangrui Song intends to modify the integrated assembler to emit an error when section type/flags/entsize is changed, and sent a heads-up note about this.
-
Johannes Doerfert is seeking to clarify that noalias affects only modified objects.
-
Vedant Kumar is seeking feedback on enabling debug entry value production by default, initially on the ARM, AArch64, and X86 targets.
LLVM commits
-
Initial support was added for Arm's Custom Datapath Extension (CDE), which allows custom vendor-defined CPU instructions on Arm v8-M. dd4d093.
-
Support for simplifying the data dependence graph was committed. 0a2626d.
-
A proposal for AMDGPU-specific DWARF extensions was added. f5678d4.
-
Work to port LLVM's coroutines passes to the new pass manager has started to land. e9849d5, 7125d66, 00fec80.
-
Mips GlobalISel can now legalize non-power-of-2 and unaligned load and store. 5e32e79.
-
Documentation was added for the operand bundles of an llvm.assume. 170ae68.
Clang commits
-
A
-std=c++20
flag was added to replace the-std=c++2a
flag. 24ad121. -
Clang can now build and run the test suite of large coroutines projects when using the new pass manager. 048239e.
Other project commits
-
Initial signal support on Linux was added to libc. 5d2baa9.
-
The MLIR integer type now has a signedness semantics bit, allowing different dialects to make their own choice as to whether signedness is a property of the type or if it's up to operations to decide how to interpret the bits in that type. 35b6852.
-
The compiler-rt logb/logbl tests were fixed on platforms like RISC-V by considering all NaNs equivalent. 689f1e8.
-
libc gained an initial framework for fuzzing functions. a4f45ee.
-
LLD gained a new
--shuffle-sections=seed
flag to shuffle sections. The motivation is to introduce randomisation in benchmarks. d48d339. -
LLDB regained some basic dwp (DWARF package) file support. 67f63f3.
-
mlir-vulkan-runner was added. This command line utility will execute an MLIR file by translating to SPIR-V and LLVM IR. 896ee36.
-
The MLIR tutorial gained a new section detailing the custom assembly format. 0050e8f.