LLVM Weekly - #155, Dec 19th 2016

Welcome to the one hundred and fifty-fifth 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's new versioning scheme has been announced on the LLVM blog. LLVM's version number will now increase by 1.0 for each major release, i.e. the next release will be 4.0 and the release 6 months later will be 5.0.

The schedule for the 2017 FOSDEM LLVM devroom has been announced. It will take place on February 5th 2017 in Brussels.

On the mailing lists

LLVM commits

The processing of @llvm.assume intrinsics has been made more efficient by using operand bundles. The old AssumptionCache has been removed. r289755, r289756.

The ARM backend now supports codegen for execute-only code (i.e. code intended to placed in a page without read permissions). r289784.

LLVM's aggressive dead code elimination pass gained the ability to remove unnecessary control flow. This is the final piece of a series of patches to achieve that goal. r289548.

The AVR backend gained a function instrumentation pass, which adds calls to hook functions. r289641.

The PIC relocation model is now used by default for PPC64 ELF. This change matches GCC behaviour. r289743.

Loop vectorisation of loops with conditional stores is now enabled by default. r289975.

Clang commits

clang-tools-extra gained new checkers. cppcoreguidelines-no-malloc will flag up uses of C-style memory management (malloc and friends) in C++ code, while performance-type-promotio-in-math-fn will suggest calls to double-precision math.h functions with float arguments be changed to the single-precision version. r289546, r289627.

inrange annotations are now used on vtable getelementptr. This allows the optimiser to split vtable groups. r289585.

You can now set the default linker when building clang through CLANG_DEFAULT_LINKER . r289668.

Clang gained a testbed and skeleton of a new expression parser. r290004.

Other project commits