LLVM Weekly - #207, Dec 18th 2017
Welcome to the two hundred and 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
Avast has open-sourced RetDec, a machine-code decompiler implemented using the LLVM infrastructure.
LLVM 5.0.1-final has been tagged.
Rui Ueyama has written a blog post about the LLD equivalent of the browser "User-Agent" problem.
On the mailing lists
-
Aleksei Sidorin has proposed separating checkers from execution modelling in the Clang analyzer.
-
Discussion continues about the 6.0.0 release scheduling. Chandler Carruth listed some comments and general concerns about "feature freeze" stabilisation periods.
-
Easwaran Raman proposes tracking 'synthetic function entry counts'. As Sean Silva summarised, this proposal suggests that a static profile should be inferred for entry counts just as is done for branch probabilities.
-
Yaxun (Sam) Liu has shared an RFC on adding TargetTransformInfo::isAllocaPtrValueNonZero. Hal Finkel suggested that this might belong in DataLayout instead.
LLVM commits
-
A new global reassociation algorithm has been implemented, allowing
a*c
to be recognised as redundant infoo = (a*b)*c
andbar=(a*d)*c
. r320515. -
RISC-V FrameIndex lowering, prolog+epilog insertion, and calling convention lowering has been committed.r320353, r320357, r320359.
-
The new PPCReduceCRLogicals MachineSSA pass will attempt to reduce the number of logical operations on the PPC condition register. r320584.
-
The RISC-V backend gained MC layer support for the privileged spec instructions, the remaining 'compressed' instructions, and the majority of the assembler pseudo-instructions recognised by GNU as. r320484, r320558, r320487.
-
The PowerPC backend gained new peephole optimisations to convert reg+reg instructions to reg+immediate when profitable. r320791.
Clang commits
-
The majority of Clang's attributes can now be accessed using both "GNU-style" spelling (
__attribute__((name))
) and the double-square bracket spelling under the clang vendor namespace ([[clang::name]]
). r320752. -
Initial parsing support was added for the C++20
<=>
("spaceship") operator. r320707. -
clangd saw quite a few new patches this week. To pick just a few: support for document highlights, a Symbol class to represent C++ symbols, and logging support. r320474, r320486, r320576.
Other project commits
-
The compiler-rt profiling and sanitizer infrastructure has been ported to Solaris.r320731, r320740.
-
LLD can now patch the Cortex-A53 erratum 843419 as well as detecting it. r320800.
Review corner
The LLVM Weekly review corner serves to highlight patches that are stuck waiting awaiting review, or work from first-time contributors. See here for more information and how to submit you work for inclusion. Of course the hope is that highlighting these patches will enable LLVM Weekly readers will step up and help to get them merged. I'll be reporting back each week on any activity generated on these patches, as well as sharing a new batch. If you want your patch included you must submit it via the linked form.
No new patch submissions this week.