LLVM Weekly - #184, Jul 10th 2017

Welcome to the one hundred and eighty-forth 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

Pascal Cuoq and John Regehr have authored a rather epic blog post - Undefined Behaviour in 2017. This summarises the current state of undefined behviour in C and C++, areas where tools can help and areas where they currently fall short.

LLVM 4.0.1 has been released. This is the first bug-fix release from the LLVM 4.0.x branch.

Stefan Gränitz's JitFromScratch repository contains a collection of examples on building a JIT using LLVM and ORC, and has just been updated.

On the mailing lists

LLVM commits

The GlobalISel TableGen'ned matcher and emitter has been converted to a state machine, reducing compile time and memory allocations. r307079, r307133, r307159.

A spelling corrector can now be used for assembler input, suggesting similar instruction mnemonics if an invalid mnemonic is input. So far this is only used by the ARM backend. r307148.

A Safepoint IR Verifier has been added, to help finding GC relocation bugs. r307112.

The opt-viewer tools will now be installed to <install>/share/opt-viewer/ . r307285.

The LoopStrengthReduce pass has gained new heuristics to narrow the search space. r307269.

Clang commits

The -Wcast-qual warning has been implemented for C++, providing warnings for C-style casts just as GCC's Wcast-qual does. r307045.

The MakeSmartPtrFunction option allows the customisation of the output of the modernize-make-shared/unique checks. r307130.

Other project commits