LLVM Weekly - #138, Aug 22nd 2016

Welcome to the one hundred and thirty-eighth 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 and Clang 3.9.0-rc2 has been tagged.

A seemingly anonymous blog post has been written introducing new LLVM passes to increase code coverage with AFL and similar fuzzers. These passes de-optimize code generated by LLVM.

The 2016 US LLVM Developers' Meeting's call for papers closes this Thursday, 25th August. The LLVM Foundation have also announced a student travel grant program.

We've announced the main track talks schedule for the LLVM Cauldron 2016. This one-day conference will take place on September 8th in Hebden Bridge, UK. If you're still weighing up whether to make the trip, you may also want to review the line-up for the GNU Tools Cauldron which takes place over the following two days. Registration is free, so go ahead and register now.

The next Cambridge LLVM Social will take place on Tuesday 6th September. It's timed so hopefully people will be able to attend before travelling to Hebden Bridge for the LLVM and GNU Cauldrons.

On the mailing lists

LLVM commits

The official policy for accepting a new LLVM backend target have now been added to the developer policy. r278971.

Initial documentation has been added for MemorySSA. r278875.

Work is being done on the aggressive dead code elimination pass to eventually support removing unnecessary control flow. r278807.

libFuzzer gained support for value profiling. r278839.

A flag has been added to disable manual alloca merging. As described in the commit message, the intent is to make use of LLVM's lifetime marker based stack coloring instead. r278892.

The WebAssemblyLowerEmscriptenException pass was rewritten to support setjmp/longjmp as well as exception handling. r279075.

Clang commits

The concept of deferred diagnostics has been introduced. These are emitted if and only if a particular FunctionDecl is codegenned. The motivation use case is for CUDA. r278735.

A new checker has been added to look for loss of sign or precision in integral casts. r278941.

The recently added CloneDetector gained the ability to find clones that look like copy+paste errors. It looks for cases where exactly one variable is out of place compared to the original code, which likely indicates the developer forgot to rename one variable. r279056.

Other project commits