LLVM Weekly - #137, Aug 15th 2016
Welcome to the one hundred and thirty-seventh 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
A number of talk submission deadlines for LLVM-related events are rapidly approaching. The deadline for the 2016 LLVM Developers' Meeting is the 25th of August. Paper submissions for this year's LLVM in HPC workshop are due on September 1st. Finally, the extended deadline for talk proposals for the 2016 LLVM Cauldron is today. Submit your talks now!
On the mailing lists
-
Kirill Bobyrev, who has been working on clang-rename is looking for feedback on adding a clang-refactor tool which would act as an umbrella for other refactoring modules. Unsurprisingly, everyone response so far is positive about the idea.
-
Kate Stone has shared some ideas on 'LLDB evolution', including evaluating the testing strategy, supporting C++ modules, establishing standards for language integration, and being a good citizen in the LLVM community. One suggested way of improving on the final point is to move to LLVM's code formatting standard. Zachary Turner suggests evaluating adopting lit for LLDB's testing. Chris Lattner suggests bringing the discussion about prefixing member variables to the wider LLVM community.
-
Jeroen Ooms queries the state of libcxx compatibility with libstdc++. David Chisnall clarifies what can and cannot be mixed in one binary.
-
The discussion surrounding the tradeoffs pro/con a monolothic Git repository for LLVM has rumbled on. Renato Golin suggests effort should be focused on preparing a detailed proposal, which can then be put out to a much wider community via a survey.
-
Eric Fiselier has posted a proposal on packaging sanitised versions of libc++ with Clang in order to make MSan and other sanitisers easier to use.
LLVM commits
-
Integration of coroutine support continues. Part 6 adds support for elision of dynamic allocation of a coroutine frame and 6b adds a coro.id intrinsic. r278242, r278481.
-
The ARM backend supports two new relocation models, read-only position independence (ROPI) and read-write position independence (RWPI). In ROPI, code and read-only data sections are accessed PC-relative. In RWPI, read-write data is accessed relative to r9. These can be used individually or together and are designed to avoid the need for a dynamic linker on small systems. r278015.
-
The new GlobalISel gained support for simple function calls on AArch64. r278293.
-
A new "resolution-based" link-time optimisation API has been introduced. This is designed for use by ThinLTO. r278330.
Clang commits
-
Clang gained support for C++1z decomposition declarations. r278642.
-
The Clang include-fixer now properly supports processing multiple files in one invocation. r278102.
Other project commits
-
The in-tree version of Google Benchmark has been updated to include a
compare_bench.py
script, which was written to make it easy to compare two benchmark runs (and was written for the libcxx use-case). r278147. -
As part of EfficiencySanitizer, compiler-rt gained a generic resizing hash table implementation. r278024.
-
You can now build both shared and static versions of libc++ in a single build. r278068.
-
std::any was added to libcxx. r278310.