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 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
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
-
Nicolai Hähnle started an RFC discussion on adding thread group semantics to the LangRef, motivated by GPU requirements.
-
Chandler Carruth has shared a holiday update on the LLVM relicensing effort. Over 500 individual agreements have been completed, covering 73% of committers and 80% of commits in the last 6 months and 63% of committers and 74% of commits in the last 2 years. As explained in the email, please fill out the individual agreement and forward the relicensing page to your employer if they're not already listed as having signed or been contacted.
-
JF Bastien shares that Intel's Parallel STL implementation has now been contributed to LLVM.
-
Todd Snider is seeking comments on the 'used' attribute semantics, which he observes seems to be used inconsistently.
-
Carey Williams wrote an RFC on allocatable global register variable for ARM. There is currently limited support for this for the stack pointer, but this RFC proposes extended this for other registers.
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
andllvm.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 ofllvm.mem.parallel_loop_access
metadata. r349823.