LLVM Weekly - #142, Sep 19th 2016
Welcome to the one hundred and forty-second 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
The new board of directors for the LLVM Foundation has been announced. It consists of 8 members (5 continuing and 3 new members). Congratulations to all those elected.
Dean Michael Berris is organising another LLVM developer meet-up in Sydney. This will take place on October 11th.
Neil Henning has shared the next installment of his blog series on compiling the toy 'Neil' language using LLVM.
On the mailing lists
-
Chris Lattner has restarted the discussion on moving LLVM projects to the Apache license. The current proposal involves an exception to allow use of LLVM code with GPLv2 software.
-
Hemant Kulkarni has posted an RFC on disassembling mixed ARM and thumb in a single ELF by making use of information in the
.ARM.attributes
section. -
Can def-use chains be used for static data dependency analysis? As John Criswell explains, yes as long as everything is in virtual registers. Otherwise you'll want to use a iterative data-flow analysis and alias analysis.
-
Chris Lattner is not convinced on the proposal to add support for specifying named regex patterns in FileCheck. He proposes instead just having several baked-in 'modes', that expose some predefined patterns.
-
Many people are not aware of this limitation so I thought it was worth signal-boosting this post. Comments on patch sent by email won't always be picked up by Phabricator. Specifically, Phabricator will drop email responses with an inline response. Top-posting seems to mostly work.
-
Vivek Pandya has posted an RFC on an extension to existing register rematerialisation support.
LLVM commits
-
MCInstrDesc gained a new field,
isAdd
. For Hexagon, this is used to identify loop induction statements. r281304. -
llvm-objdump gained the
--start-address
and--stop-address
options. r281232. -
There is now a new metadata representation for global variables. r281284.
-
All functions related to branch analysis have been renamed to conform to the LLVM coding style. r281535.
-
The documentation on compiling CUDA with Clang has been updated to discuss STL support and the differences between nvcc and clang. r281573.
Clang commits
-
A new command-line option,
-fdiagnostics-show-hotness
was added. This means any optimisation remarks will also include hotness information if available from PGO. r281276. -
clang-tblgen gained a model to generate reference documentation for warning and remark flags. r281192.
-
A new clang-tidy check, 'misc-use-after-move' has been introduced. This warns if an object is used after it has been moved. r281453.