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 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
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
-
Fāng-ruì Sòng started a discussion on moving the LLVM developer-facing utility scripts to Python 3.
-
Tanya Lattner is looking for help in fleshing out the LLVM GSoC'18 proposed projects list.
-
Paul Robinson gave a helpful summary of recent work on improving 'debuggability' of optimized code.
-
George Karpenkov wrote up short investigation of exploration strategies and paths for Clang analyzer.
-
Sean Perry has been looking at implementing support for
-fexec-charset
and-finput-charset
, and is seeking feedback.
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
andupdate_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
-
As previously announced, a number of experimental APIs that have been superseded by versions adopted by the C++ standard have been removed. experimental/optional, experimental/any, experimental/numeric and experimental::sample. r323971, r323972, r323975, r323979.
-
The libcxxabi demangler gained improved support for variadic templates and seen a large refactoring. r323906, r324111.
-
New python utilities were added to make it easier to write LLDB tests for when LLDB is acting as a client of a gdb-remote connection. r323636.
-
LLDB tests are now compiled out-of-tree. r323803.