[llvm-dev] LLVM Weekly - #207, Dec 18th 2017

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Dec 18 11:12:26 PST 2017


LLVM Weekly - #207, Dec 18th 2017
=================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/207>.

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](https://www.linkedin.com/in/alex-bradbury/). Subscribe to future
issues at <http://llvmweekly.org> and pass it on to anyone else you think may
be interested. Please send any tips or feedback to <asb at asbradbury.org>, or
@llvmweekly or @asbradbury on Twitter.


## News and articles from around the web

Avast has [open-sourced
RetDec](https://blog.avast.com/avast-open-sources-its-machine-code-decompiler),
a machine-code decompiler implemented using the LLVM infrastructure.

LLVM 5.0.1-final [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119812.html).

Rui Ueyama has written a blog post about [the LLD equivalent of the browser
"User-Agent"
problem](https://www.sigbus.info/software-compatibility-and-our-own-user-agent-problem.html).


## On the mailing lists

* Aleksei Sidorin has proposed [separating checkers from execution modelling
in the Clang
analyzer](http://lists.llvm.org/pipermail/cfe-dev/2017-December/056409.html).

* Discussion continues about the 6.0.0 release scheduling. Chandler Carruth
listed some [comments and general concerns about "feature freeze"
stabilisation
periods](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119748.html).

* Easwaran Raman [proposes tracking 'synthetic function entry
counts'](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119701.html).
As Sean Silva
[summarised](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119755.html),
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](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119724.html).
Hal Finkel
[suggested](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119727.html)
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 in `foo = (a*b)*c` and `bar=(a*d)*c`.
[r320515](http://reviews.llvm.org/rL320515).

* RISC-V FrameIndex lowering, prolog+epilog insertion, and calling convention
lowering
has been committed.[r320353](http://reviews.llvm.org/rL320353),
[r320357](http://reviews.llvm.org/rL320357),
[r320359](http://reviews.llvm.org/rL320359).

* The new PPCReduceCRLogicals MachineSSA pass will attempt to reduce the
number of logical operations on the PPC condition register.
[r320584](http://reviews.llvm.org/rL320584).

* 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](http://reviews.llvm.org/rL320484),
[r320558](http://reviews.llvm.org/rL320558),
[r320487](http://reviews.llvm.org/rL320487).

* The PowerPC backend gained new peephole optimisations to convert reg+reg
instructions to reg+immediate when profitable.
[r320791](http://reviews.llvm.org/rL320791).


## 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](http://reviews.llvm.org/rL320752).

* Initial parsing support was added for the C++20 `<=>` ("spaceship")
operator. [r320707](http://reviews.llvm.org/rL320707).

* 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](http://reviews.llvm.org/rL320474),
[r320486](http://reviews.llvm.org/rL320486),
[r320576](http://reviews.llvm.org/rL320576).


## Other project commits

* The compiler-rt profiling and sanitizer infrastructure has been ported to
Solaris.[r320731](http://reviews.llvm.org/rL320731),
[r320740](http://reviews.llvm.org/rL320740).

* LLD can now patch the Cortex-A53 erratum 843419 as well as detecting it.
[r320800](http://reviews.llvm.org/rL320800).


## 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](http://llvmweekly.org/reviewcorner) 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.


More information about the llvm-dev mailing list