LLVM Weekly - #308, November 25th 2019
Welcome to the three hundred and eighth 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
Videos from the LLVM Dev Meeting 2019 continue to be posted.
LLVM 9.0.1-rc1 has been tagged.
The call for presentations for EuroLLVM 2020 is now active. The event will take place April 6-7 in Paris and proposals are due by Jan 11th.
On the mailing lists
-
Chandler Carruth kicked off a lengthy RFC thread on moving towards Discord for real time chat and Discourse for forum/list-style discussions. This proposal follows discussions at the LLVM Dev Meeting and the Women in Compilers and Tools meeting. This proposal has resulted in a large number of responses. A number of people raised concerns about Discord as a proprietary solution. Several respondents suggest it would be productive to separate discussion of the real time chat and the forum solution.
-
Eric Astor is proposing to add MASM (Microsoft Macro Assembler) support to the LLVM MC layer.
-
Bardia Mahjour shared minutes from the loop optimisation working group Nov 20th meeting.
-
Sean Kilmurray posted an RFC on adding a mock backend target to LLVM which could be used to test assumptions like the size of bytes or addressable unit sizes.
-
David Blaikie started a discussion about DW_OP_implicit_pointer, both from a DWARF perspective and the LLVM implementation.
LLVM commits
-
A new API was introduced to determine if an instruction can be safely moved before another instruction. ae8a8c2.
-
Scalable vector MVT size queries are now supported. 3f08ad6.
-
llvm-objdump now prints relocation addends in hexadecimal, just like GNU objdump. 6baec97.
-
Scheduling and cost models were added for the Exynos M5. 9bdfee2.
-
TableGen will no longer error in the case of duplicate includes. ee9b49e.
-
The CMake build system was updated to explicitly mark libraries defined in lib/ as "component libraries". ab41180.
-
The new gen-opt-rst TableGen backend will generate "command guides" for common line options, for use in documentation. 64ada7a.
Clang commits
-
Debug info size for Sema was reduced by adding an
anchor()
method, resulting in a 17% saving for Sema object files on Windows and 14.6% on Linux. 586f65d. -
The new clang-tidy performance-no-automatic-move check will flag when constructs prevent automatic move of local variables. 95fe549.
-
-ffixed-rN
can now be used to reserve r6-r11 on ARM. 2d739f9. -
Support was added for
__attribute__((objc_direct))
and__attribute__((objc_direct_members))
. d4e1ba3.
Other project commits
-
LLVM libc now has a TableGen based header generator. b47f9eb.
-
LLDB gained a document describing caveats related to the usage of Python. 0aed648.
-
LLDB now has some documentation on reproducers. f19ea6e.
-
The Archer tool was added to LLVM's OpenMP implementation. It provides TSan annotations for OpenMP synchronisation. 2b8115b.