LLVM Weekly - #260, December 24th 2018

Welcome to the two hundred and sixtieth 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

Registration is now open for EuroLLVM'19 and the call for papers remains open.

LLVM 7.0.1 has been released.

On the mailing lists

LLVM commits

AArch64 now has a control flow speculation tracking pass aimed at mitigating Spectre V1 style vulnerabilities.This tracks control flow miss speculation into a taint regiter, which can be used to mask off registers with sensitive data. See the detailed commit message for much more information. r349456.

FileCheck gained support for dumping its input annotated with diagnostics to aid debugging. This helps to visualise FileCheck's matching behaviour. r349418.

The llvm-mca library was moved from tools/llvm-mca to lib/MCA. r349332.

AggressiveInstCombine learned to to convert a rorate with guard branch into a funnel shift. r349396.

TableGen will now only write output if it changed, instead of relying on CMake to compare the previous output to the new output. r349624.

The BPF backend can now generated BTF (BPF Type Format) debug info. r349640.

llvm.loop.parallel_accesses and llvm.access.group metadata was introduced. r349725.

Clang commits

Clang gained an option to initialise automatic variables with either a pattern or with zeroes. The commit message does a fantastic job of summarising the implementation choices and options considered, so is well worth a read. r349442.

Clang will now generate llvm.loop.parallel_accesses instead of llvm.mem.parallel_loop_access metadata. r349823.

Other project commits