LLVM Weekly - #214, Feb 5th 2018

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

Reminder: the deadline for paper submissions for EuroLLVM 2018 is this Friday, February 9th.

Adrien Guinet has released DragonFFI, a C Foreign Function Interface (FFI) library based on Clang/LLVM. It aims to provide broader ABI support than libffi and to work around the limitations of Python's cffi C parser through the use of Clang.

On the mailing lists

LLVM commits

LLVM's policies on library layering and header isolation have been documented in the coding standards doc. r324004.

The sigil for machine IR physical registers is now $ rather than % . r323922.

Support has been added to dsymutil for generating Apple accelerator tables. r323655.

update_test_checks.py and update_llc_test_checks.py have been refactored to share common code. r323718.

A scheduling model has been added for the Exynos M3. r323773.

A new extension is now supported, linker options can be passed from the frontend to the linker through the linker_options section. r323783.

The X86 retpoline think insertion pass is now a machine function pass rather than a module pass. r323915.

InstCombine will now canonicalise to i8/i16/i32 operations even if the resulting type isn't legal according to the datalayout. See the llvm-dev thread for more justification. r324174.

Clang commits

Debug information is now generated for C99 VLA (variable-length array) types. r323952.

Partial support for CUDA-9.1 has been added to Clang. r323713.

clangd has been refactored to pass its Context object implicitly using thread local storage. r323872.

Other project commits