LLVM Weekly - #267, February 11th 2019
Welcome to the two hundred and sixty-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
LLVM 8.0.0-rc2 has been tagged.
An LLVM 7.1.0 branch has been prepared for release. This introduces a minor version number for the first time, necessary as this is an ABI breaking change. The release is purely to fix PR39427.
The program for EuroLLVM'19 (April 8-9 in Brussels, Belgium) has been announced.
Clazy 1.5 has been released. Clazy is a clang compiler plugin which emits warnings related to Qt best practices.
On the mailing lists
-
Michael Platings has written an RFC on changing variable naming rules in the LLVM codebase. In short, this proposes changing variable names from UpperCamelCase to lowerCamelCase. It follows on from discussion last week. If you have strong views about variable naming, now is the time to voice them.
-
JF Bastien reports that LLVM's build system will now soft error if you attempt to build using toolchains older than Clang 3.5, Apple Clang 6.0, GCC 5.1, Visual Studio 2017.
-
Bruce Hoult provides detailed insight into recent changes to the RISC-V Vector proposal.
-
Matthew Arsenault proposes an RFC on enforcing immediate operands for intrinsics in TableGen. There seems to be broad support for this idea.
-
Ananthakrishna Sowda and collaborators shared an RFC on improving debug information in LLVM to recover optimized-out function parameters. A version of this proposal is implemented for LLVM 4.0, but needs updating to current trunk for submission upstream.
-
Josef Eisl is seeking feedback on an RFC to support embedding bitcodes in LLD with LTO. If you'd be interested in this feature, speak up!
-
Dan Liew proposes removing support for
LLVM_TOOL_<PROJECT>_BUILD
CMake cache variables on the basis that you can just useLLVM_ENABLE_PROJECTS
instead if the mono-repo layout is being used. He proposes two paths forward. -
Oliver Giroux asks what C++03 support should
have in libcxx? -
Louis Dionne proposes removing deprecated
<ext/hash_set>
,<ext/hash_map>
, and<ext/_hash>
from libcxx. There was some concern about removing these.
LLVM commits
-
Initial support for asm-goto has been committed. r353563.
-
Runtime of llvm-exegesis was substantially reduced by introducing a map to avoid a linear search. r353024.
-
The hidden
-print-schedule
flag was removed. Users should move to llvm-mca for debugging/testing scheduling models. r353043. -
New intrinsics were introduced for unsigned fixed point multiplication. r353059.
-
CodeGenPrepare learned to sink operands to their users if indicated via the new
shouldSinkOperands
hook. r353152. -
LLVM's ADT library gained a
fallible_iterator
wrapper. r353237. -
The BPF backend now supports codegen for the newly added JMP32 instruction. r353384.
-
The minimum toolchain version to compile LLVM was bumped. For now, you can use
LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN
to use a soon-to-be-deprecated toolchain. r353374.
Clang commits
-
The Clang Static Analyzer gained a new Sphinx-based documentation infrastructure. r353126.
-
The SMT solver API was moved into a single file in preparation for being moved to LLVM. r353372.