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 https://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
-
Christian Dietrich has written an RFC on 'cHash' AST hashing. This can be used to avoid redundant recompilation.
-
Jakub Kuderski has shared an RFC on adding a batch update API for dominator trees.
-
Francis Visoiu Mistrih has been working on improvements to the current LLVM shrink wrapping optimisations and has written an RFC on his changes.
-
Pete Couperus is proposing the upstreaming of the Synopsys ARC backend.
-
Chad Rosier is seeking feedback on modeling JumpThreading in the inline cost model.
-
Matthias Braun explains the existence of the SelectionDAG schedulers.
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.