LLVM Weekly - #240, August 6th 2018
Welcome to the two hundred and fortieth 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
LLVM 7.0.0 rc1 has been tagged. Release blockers are tracked here.
Rust 1.28 was released.
On the mailing lists
-
Amara Emerson has shared an update on GlobalISel design and goals. Compile time performance remains withing 5% of FastISel.
-
Greg Bedwell has shared materials from EuroLLVM describing the DExTer tool for tracking debuginfo quality and updated on its status.
-
Raphael Isemann shares that nightly LLDB benchmarks and flame graphs are now available.
-
Sergey Dmitriev posted an RFC to allow dropping OpenMP offload targets at link time.
-
Rodrigo Caetano Rocha is seeking feedback on a new proposed function merging optimisation.
-
Paul Robinson announces that preliminary DWARFv5 support is in Clang/LLVM 7.0.
-
There has been a large amount of new discussion regarding support for variable-length vectors. Bruce Hoult shares his expectation of how RISC-V vector support will end up while Robin Kruppe clarifies that there are really two notions of vector length throughout these discussions.
LLVM commits
-
Profile loading functionality for XRay was implemented. r338825.
-
Pseudo-iterator adaptors implementing 'early increment' style loops were added to LLVM's ADT library. r338955.
-
The MachineOutliner for AArch64 learned to save LR to a register rather than the stack. r338278.
-
llvm-mca documentation was extended to describe the instruction flow. r338319.
-
Rudimentary C++11 support was added to the MS demangler. r338324.
-
A very subtle miscompile due to a bug in EFLAGS copy lowering for X86 was fixed. Chandler suggests maintainers of out-of-tree branches using the X86 backend may want to cherry-pick this fix. r338481.
-
The Hexagon backend will now simplify the control-flow graph after atomic expansion. r338774.
-
Assembler/disassembler support for Arm SVE is now complete.
r338261.
Clang commits
-
Support for a new implicit conversion sanitizer was added. r338288.
-
Clang learned to support the
[[clang::lifetimebound]]
attribute. This indicates the lifetime of a function result is related to one of the function arguments. r338464. -
Clang's ABI lowering for composite types on AArch64 and ARM was adjusted to match GCC and the AAPCS. r338279.
Other project commits
-
LLDB now supports syntax highlighting, meaning ANSI color escape sequences are emitted with printed source code. r338662.
-
Support for weighted mutation leveraging was aded to libFuzzer, which gives mutations weight based on how much new coverage they provide. r338776
-
String conversions for integral types,
<charconv>
, was added to libcxx. r338479.