[llvm-dev] LLVM Weekly - #85, Aug 17th 2015
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Aug 17 03:20:41 PDT 2015
LLVM Weekly - #85, Aug 17th 2015
If you prefer, you can read a HTML version of this email at
Welcome to the eighty-fifth 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.
If you're interested in open source hardware, lowRISC, RISC-V, OpenRISC, and
more then consider [joining us at ORConf 2015 in
also looking for talk submissions.
## News and articles from around the web
Videos from April's EuroLLVM [are now
The deadline for the 2015 LLVM Developer's Meeting [call for
rapidly approaching. Get your proposal in by August 20th, 11:59PM PDT.
A new paper covering the AST generation techniques used in Polly in great
detail has been published in the July issue of TOPLAS. You can read the
The [Customizable Naming Convention Checker
(CNCC)](https://github.com/mapbox/cncc/) is a new Clang-based tool that can be
used to validate class, field, variable, and namespace naming conventions
against a chosen regular expression.
[EvilML](http://akabe.github.io/evilml/) is a deliciously terrifying compiler
that compiles ML to C++ template language.
## On the mailing lists
* With the 3.7 release on its way, it's important to [fix up the release
they reflect the work that's been done over the past six months.
* Dylan MacKay proposes making the existing 'expand' action of the instruction
selection legalizer [into split and
Part of the motivation for this is the author's work on an AVR backend.
* Wang Nan has posted an RFC on [adding an llvm.typeid.for
This would be used with the BFP backend to specify the type for buffers passed
* Teresa Johnson has posted an [update on her ThinLTO
* Peter Collingbourne has proposed [a simple approach to parallelising
parallel codegen for link-time
This gives a speedup on a HP Z620 from 15m20s to 8m06s when 4 partitions are
used. Speedup beyond that is limited (partially due to Amdahl's law).
* Sanjoy Day has shared an RFC for [adding operand bundles to call and
These would be used to help track state required for deoptimization, for
instance by attaching a 'deopt' operand bundle to relevant calls which contans
the cstate of the abstract virtual machine.
## LLVM commits
* MergeFunctions has been sped up substantially by hashing functions and
comparing that hash before performing a full comparison. This results in a
speedup of 46% for MergeFunctions in libxul and 117% for Chromium.
* i64 loads and stores are now supported for 32-bit SPARC. This is a little
fiddly to support as the LDD/STD instructions need a consecutive even/odd pair
of 32-bit registers. [r244484](http://reviews.llvm.org/rL244484).
* Machine basic blocks are now serialized using custom syntax rather than
YAML. A later commit documented this syntax.
* A new TargetTransformInfo hook has been added for specifying per-target
defaults for interleaved accesses.
* The llvm.loop.unroll.enable metadata was introduced. This will cause a loop
to be unrolled fully if the trip count is known at compiler time and partially
if it isn't (unlike llvm.loop.unroll.full which won't unroll a loop if the
trip count isn't known). [r244466](http://reviews.llvm.org/rL244466).
* Rudimentary support for the new Windows exception handling instructions has
been introduced. [r244558](http://reviews.llvm.org/rL244558).
* Token types have been added to LLVM IR.
* The BPF backend gained documentation and an instruction set description.
## Clang commits
* The WebKit brace style is now supported by clang-format.
## Other project commits
* Statistics collection in the OpenMP runtime has been tidied up and expanded.
More information about the llvm-dev