[llvm-dev] LLVM Weekly - #121, Apr 25th 2016

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 25 04:16:45 PDT 2016


LLVM Weekly - #121, Apr 25th 2016
=================================

Welcome to the one 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](http://asbradbury.org). 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

Congratulations to the eight students who have [been selected for LLVM
projects on Google Summer of Code this
year](https://summerofcode.withgoogle.com/organizations/5450930363301888/#projects).
There's about a month before they start coding. The time between now and then
is the 'community bonding period', so please do make them feel welcome.

The preliminary release schedule for LLVM/Clang 3.8.1 has [been
published](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098637.html).
This would have a deadline of May 25th for requesting changes to be merged and
would see the final release on June 15th.


## On the mailing lists

* A series of RFCs have been posted around the idea of [adding an
EfficiencySanitizer
tool](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098355.html). Like
the existing sanitizer tools, this would rely on compiler-based dynamic
instrumentation in order to detect problems in user code. The goal is to
collect userful information with overhead less than 5x, ideally closer to 3x.
Separate threads have been started to discuss an [EfficiencySanitizer cache
fragmentation
tool](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098658.html) and [a
working set
tool](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098491.html).

* Sanjoy Patel has proposed [removing the llvm.expect
intrinsic](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098642.html),
in favour of using metadata to represent the same information. There isn't
currently [full agreement on
this](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098657.html).

* Richard Trieu is seeking feedback on [which floating point to boolean
conversions should trigger
warnings](http://lists.llvm.org/pipermail/cfe-dev/2016-April/048508.html).

* How do you add fixup information to a MachineInstruction? Tim Northover [has
the answer](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098511.html).

* Elena Lepilkina has shared an [RFC on adding support for custom metrics and
test parameterisation to
LNT](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098372.html). The
feedback so far seems positive.

* Phil Tomson is looking for [advice on instruction scheduling in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2016-April/098535.html). As he
notes in his email, it's part of LLVM that's seen a lot of changes over the
past 8 years or so. I'm certainly interested in the answer here.


## LLVM commits

* An implementation of optimisation bisection support has landed. This helps
to track down bugs by allowing optimisations to be selectively disabled at
compile-time to identify the one introducing a miscompile.
[r267022](http://reviews.llvm.org/rL267022).

* The AArch64 and ARM thread pointer intrinsics have been merged to make a
target-independent `llvm.thread.pointer` intrinsic.
[r266818](http://reviews.llvm.org/rL266818).

* The llvm.load.relative intrinsic has been added.
[r267233](http://reviews.llvm.org/rL267233).

* There have been more changes to DebugInfo which will require a bitcode
upgrade. A script to perform this upgrade is linked in the commit message.
[r27296](http://reviews.llvm.org/rL267296).

* The ORC JIT API improved its support for RPC, including support for calling
functions with return values. [r266581](http://reviews.llvm.org/rL266581).

* The patchable-function function attribution has been introduced, indicating
that the function should be easily patchable at runtime.
[r266715](http://reviews.llvm.org/rL266715).

* The IntrReadArgMem intrinsic property has been split in to IntrReadMem and
IntrArgMemOnly. [r267021](http://reviews.llvm.org/rL267021).

* The MachineCombiner gained the ability to combine AArch64 fmul and fadd in
to an fmadd. [r267328](http://reviews.llvm.org/rL267328).

* Scheduling itineraries were added for Sparc, specifically for the LEON
processors. [r267121](http://reviews.llvm.org/rL267121).


## Clang commits

* A prototype of an include fixing tool was created. The indexer remains to be
written. [r266870](http://reviews.llvm.org/rL266870).

* A new warning has been added, which will trigger if the compiler tries to
make an implicit instantiation of a template but cannot find the template
definition. [r266719](http://reviews.llvm.org/rL266719).

* Initial driver flags for EfficiencySanitizer were added.
[r267059](http://reviews.llvm.org/rL267059).


## Other project commits

* The initial EfficiencySanitizer base runtime library was added to
compiler-rt. It doesn't do much of anything yet.
[r267060](http://reviews.llvm.org/rL267060).

* LLD learned to support the linkerscript ALIGN command.
[r267145](http://reviews.llvm.org/rL267145).

* LLDB can now parse EABI attributes for an ELF input.
[r267291](http://reviews.llvm.org/rL267291).


More information about the llvm-dev mailing list