LLVM Weekly - #197, Oct 9th 2017
Welcome to the one hundred and ninety-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
The registration deadline for the upcoming LLVM Dev Meeting has been extended to October 10th, 11:59PM PDT.
Reminder: If you're still in San Jose on Friday 20th October and are interested in contributing to RISC-V support in LLVM projects, then consider signing up to the working session.
Many more talks from CppCon 2017 are now available on YouTube.
Slides and videos from the recent GNU Tools Cauldron are now online.
On the mailing lists
-
Tanya Lattner is looking for help in tagging 'beginner' bugs on bugzilla.
-
Should LLD switch to using --hash-style=both by default? Rui has summarised the current plan.
-
Matthias Braun is seeking feedback on merging TargetMachine and LLVMTargetMachine.
Review corner
The LLVM Weekly review corner serves to highlight patches that are stuck waiting awaiting review, or work from first-time contributors. See here for more information and how to submit you work for inclusion. Of course the hope is that highlighting these patches will enable LLVM Weekly readers will step up and help to get them merged. I'll be reporting back each week on any activity generated on these patches, as well as sharing a new batch. If you want your patch included you must submit it via the linked form.
Last week featured just one patch. Thanks for Philip Reames for moving that review forwards.
-
"This fixes symbol generation on the exception path for Windows on unnamed functions. It may avoid crashing the program after applying CloneFunction on an unnamed function." (Summary lightly copy-edited). D37434, patch by Pierrick Brunet.
-
"[analyzer] Better handling of arithmetic calculations. This fixes https://bugs.llvm.org/show_bug.cgi?id=32911." D36471, patch by Daniel Marjamäki.
-
"[analyzer] Clarify the warnings when there is undefined behaviour in shift operations." D30295, patch by Daniel Marjamäki.
I'll be at the LLVM Dev Meeting next week. If you have thoughts on this 'review corner' section I'd be very interested in chatting (is it worth continuing? How could it be improved? Alternative ideas?).
LLVM commits
-
The ASM parser can now report multiple near misses for an invalid instruction. This allows the target-specific parser to use heuristics to choose the most appropriate error message(s) to print. See the commit message for more details, as well as the follow-up patch that uses these new diagnostics for ARM. r314774, r314779.
-
llvm-dwarfdump gained the ability to collect and display debug info quality metrics. As suggested in the commit message, this functionality might be used to automatically track debug info quality and highlight any unexpected regressions. r315101.
-
More debug messages have been added to LegalizeDAG. r314773.
-
optimizeMemoryInst in CodeGenPrepare can now handle multiple AddrModes (as long as they differ in at most one field). r314795.
-
It is now possible to specify an AsmOperand's DiagnosticString in TableGen. r314803, r314804.
-
The SLPVectorizer will now attempt to vectorize loads of consecutive memory locations, accessed in a non-consecutive way. r314806. REVERTED
-
The expansion of 64-bit div/rem for AMDGPU has been rewritten to be more efficient. r315081.
Clang commits
-
Clang now has machinery to support "dependent address spaces", i.e. cases where the target address space is dependent on a template parameter.
__attribute__(((address_space(N))))
. r314649, r314650. -
The refactoring interface has been simplified. r314704.
Other project commits
-
If you want to recreate the benchmarks used to evaluate LLD performance, see this commit for details. r314682.
-
Support has been improved for using LLDB to debug FreeBSD kernel modules r314672.
-
It is now possible to create breakpoints and read/write general purpose registers with LLDB for ppc64le. r315008.