LLVM Weekly - #153, Dec 5th 2016

Welcome to the one hundred and fifty-third 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 http://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.

I've been at the fifth RISC-V Workshop in Mountain View last week. If you're interested in what went on, you may want to check out my notes from day one and day two.

News and articles from around the web

Farzad Sadeghi has announced mutator, a Misra-C 2004 checker.It is not yet incomplete, but a number of rules have been implemented. The hope is that in the future it will support code transformations as well.

The Zurich LLVM social will be held on Thursday December 8th at ETH Zurch and will feature a talk 'Transparent Live Code Offloading on FPGA' by Alberto Dassatti. Please register if you would like to attend.

On the mailing lists

LLVM commits

Compilation time of Chromium with CFI and UBSan has been substantially improved through a new heuristic to handle regular expressions consisting of simple wildcards. Before, compilation of Chromium's content_message_generator.cc with CFI took 44 seconds, and it takes only 23 seconds after. r288303.

Support for optimisation remarks was added to Global Value Numbering. r288370.

llvm-objdump now supports the wasm (Web Assembly) file format. r288251.

SystemZ has improved its use of conditional instructions and added support for load-and-trap instructions. r288028, r288030.

The llvm-modextract tool was added. This is a simple tool for testing features that rely on multi-module bitcode files. It will extract one of the modules and write it to the output file. r288201.

Support has been committed for profile-based loop peeling. If the profiled trip count is low, then peel the first several iterations. r288274.

The rules for reserved registers have been clarified. r288277.

FrameInstruction has been moved from MachineModuleInfo to MachineFunction. This will require a trivial change for out-of-tree backends. r288291.

Clang commits

Clang gained a whole bunch of unit tests for Linux distribution detection. r288062.

Support was added for constant expression evaluation of wchar_t versions of simple string functions. r288193.

Other project commits