LLVM Weekly - #192, Sep 4th 2017

Welcome to the one hundred and ninety-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 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.

News and articles from around the web

LLVM 5.0.0-rc5 has been tagged. The final release should happen any time now.

The paper submission deadline for the LLVM in HPC Workshop at SC17 has been extended to Sept 8th 2017.

Registration for the Women in Compilers and Tools Reception prior to the LLVM Dev Meeting is now open.

Kamil Rytarowski has summarised recent LLVM+NetBSD work.

On the mailing lists

LLVM commits

llvm-isel-fuzzer has been introduced. As the name suggests, this is a fuzzer for instruction selection. A follow-up commit allows it to be built without linking libFuzzer, and the commit messages notes this approach may be useful for other fuzzers to ensure in-tree fuzzers remain buildable. r311964.

A new pass, MergeICmps has been introduced. This turns chains of integer comparisons into memcmp and is disabled by default for now. r312315.

The Intel Haswell instruction scheduling information has been replaced and improved. This follows the previous work to replace and improve the Sandy Bridge scheduling information. r311879.

The scheduling model for the AMD Zen family has seen a large update. r312237.

A recent change resulted in a large increase in the number of build actions for an incremental build after a new commit. This behaviour is now avoided and llvm-config.h will now longer contain revision information. The LLVM_REVISION macro from llvm/Support/VCSRevision.h can be used instead. r312043.

A new handleExpected utility was added to LLVM's error handling library. r311870.

TableGen can now produced register info debug output using the --gen-register-info-debug-dump flag. r311913.

The Machine copy propagation pass has been improved. r312328.

MC-layer support for Armv8.3-A complex number instructions has been added. r312228.

The CodingStandards document has been updated to recommend the use of range-based for loops (this has been long-standing policy, the document was just out of date). r312236.

Clang commits

The virtual call checker from Clang static analyzer is now path sensitive. This work was done as part of Google Sumer of Code. r311877.

clang-format learned to indent preprocessor directives (depending on the value of the IndentPPDirectives configuration option). r312125.

clang-tidy now features a SignedBitwiseCheck which complains about bitwise operations on signed integer types, as required by the High Integrity C++ Coding Standard. r312122.

Other project commits