LLVM Weekly - #188, Aug 7th 2017

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

Jonathan Boccara has summarised the recent proposal for 'metaclasses' in C++.

Version 3.1 of the SLEEF Vectorized Math Library has been released, adding AArch64 support as well as completing the set of supported C99 math functions. SLEEF exploits SIMD to provide high performance real floating point math functions.

generator-llvm is a small tool for generating project templates for out-of-tree LLVM passes.

On the mailing lists

LLVM commits

The XRay docs have been expanded with a full description of the Flight Data Recorder binary format. r309891.

The stack colouring pass now correctly maintains AliasAnalysis information. r309651, r309849.

Stack frame handling for AArch64 win64 vararg functions has been rewritten. r309744.

PowerPC, ARM, and X86 tests have been cleaned up to not use llc -march . The -march switch only changes the target architecture, but the OS target is unchanged, which can lead to unexpected test output. If you have out-of-tree targets, you might want to check your tests for this potential issue. r309574, r309575.

GlobalISel is now always built as part of LLVM. r309990.

The libFuzzer tests have been ported to LIT. r310075.

After a series of patches over the past few weeks and months, the ARM backend is now MachineVerifier clean. This means the machine verifier can be enabled (e.g. for bots with expensive checks turned on) without resulting in spurious errors. r310180.

Clang commits

The -Wpragma-pack warning will complain about missing #pragma pac (pop) directives. r309559.

OpenCL 2.0 atomic builtin functions have been added as Clang builtins, in order to support the generation of synchronization scope operands. r310082.

Other project commits