[llvm-dev] LLVM Weekly - #255, November 19th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Nov 19 09:27:02 PST 2018


LLVM Weekly - #255, November 19th 2018
======================================

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

Welcome to the two hundred and fifty-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](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


Videos from the 2018 LLVM Developers' Meeting are starting to be posted on the
[LLVM Foundation's YouTube
channel](https://www.youtube.com/playlist?list=PL_R5A0lGi1AARZysSx4VzpaLAzny4es2e).

Reminder: the deadline for the [LLVM Toolchain Devroom at FOSDEM
CfP](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126905.html) is
this coming Sunday 25th November.

Robert O'Callahan has written a blog post which [compares the quality of debug
information produced by Clang and
GCC](https://robert.ocallahan.org/2018/11/comparing-quality-of-debug-information.html).


## On the mailing lists

* JF Bastien has started an RFC thread on [automatic variable initialisation
in Clang](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060172.html).
The proposed patch allows automatic variables to be initialized with either a
pattern or with zeroes. There are [some
concerns](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060178.html)
that zero-initialisation might be over-relied upon, effectively creating a new
dialect of C++. Kostya Serebryany
[shares](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060177.html) a
long list of bugs, vulnerabilities, and exploits based on uses of
uninitialized memory.

* Yitzhak Mandelbaum is proposing [a framework that makes it easier to write
source-to-source transformations with the clang::Tooling
libraries](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060184.html),
and is seeking comments.

* Kristina Brooks is wondering if there is any interest in a [`_Mangle`
compiler
extension](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127838.html)
for converting strings to identifiers/symbols.

* Sam McCall is [seeking
feedback](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127755.html)
on using the VirtualFileSystem abstraction for real filesystem interaction.

* John Brawn is looking for feedback on [how to improve SimplifyCFG block
speculation](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127769.html).
Krzysztof Parzyszek is [in favour of rewriting
SimplifyCFG](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127777.html).

* Erich Keane would [like to
know](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060168.html) if
anyone has any concerns about removing support for pre-tokenized headers from
Clang.

* Matthew Davis kicked off an RFC discussion on [adding binary support to
llvm-mca](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127784.html),
allowing selected regions of code in an object file to be analysed.

* Sjoerd Meijer
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127757.html)
that `-Oz` should imply `-mthumb`. Some respondents are concerned that
changing the the target instruction set based on optimisation level may be
confusing.


## LLVM commits

* A new `fneg` IR instruction was introduced.
[r346774](https://reviews.llvm.org/rL346774).

* The MSP430 backend now has an MC layer implementation.
[r346948](https://reviews.llvm.org/rL346948),
[r346949](https://reviews.llvm.org/rL346949).

* Initial 'scaffolding' for a GN build system was added. As explained in the
commit message, this build is unsupported. So far, just enough build logic was
added to build llvm/lib/Demangle.
[r347128](https://reviews.llvm.org/rL347128).

* An OptimizerLast extension point was added to th new pass manager.
[r346645](https://reviews.llvm.org/rL346645).

* FileCheck learned a new CHECK-COUNT-num directive which matches the same
pattern exactly `num` times. [r346722](https://reviews.llvm.org/rL346722).

* The WebAssembly backend gained support for the event section as specified in
the WebAssembly exception handling proposal.
[r346825](https://reviews.llvm.org/rL346825).

* A new superword-level parallelism analysis has been implemented on top of
VPlan. [r346857](https://reviews.llvm.org/rL356857).

* The MachineScheduler will now bias physical register immediate assignments
to minimize live ranges. [r346894](https://reviews.llvm.org/rL346894).

* The RISC-V backend gained a new helper for immediate materialisation.
[r346937](https://reviews.llvm.org/rL346937).


## Clang commits

* The Clang AST APIs were updated to allow limiting the scope of common AST
traversals. [r346847](https://reviews.llvm.org/rL346847).

* llvm-config has been deprecated as a method for detecting an
LLVMinstallation. [r346732](https://reviews.llvm.org/rL346732).

* The Clang CMake build-system was enhanced to support cross-compiling with
multi-stage builds. [r347025](https://reviews.llvm.org/rL347025).


## Other project commits

* The WebAssembly LLD linker now has initial support for shared objects.
[r346918](https://reviews.llvm.org/rL346918).

* LLD gained support for PPC64 long branch thunks.
[r346877](https://reviews.llvm.org/rL346877).

* LLDB's new `target.require-hardware-breakpoint` option forces the use of
hardware breakpoints. [r346920](https://reviews.llvm.org/rL346920).


More information about the llvm-dev mailing list