Alex Bradbury via llvm-dev
2017-Sep-18 18:56 UTC
[llvm-dev] LLVM Weekly - #194, Sep 18th 2017
LLVM Weekly - #194, Sep 18th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/194>. Welcome to the one hundred and ninety-fourth 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](http://asbradbury.org). 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 at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## Review corner>From next week, I'm going to give the ['reviewcorner'](http://llvmweekly.org/reviewcorner) idea a try. If you have patches that have been stuck without any meaningful review for two weeks or more (or are making your first contribution to an LLVM project), please submit them for inclusion. This is an experiment - we're going to see how it works out and fine-tune the details as we go. Feedback always very welcome. Submit your stuck review threads now: <http://llvmweekly.org/reviewcorner> ## News and articles from around the web DIVA: Debug Information Visual Analyser has been [released](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117478.html) by SN Systems as open source. It was first [presented](https://www.youtube.com/watch?v=SwtpXaCk2bE) at the European LLVM Dev Meeting this year. To quote the project description "DIVA is a command line tool that processes DWARF debug information contained within ELF files and prints the semantics of that debug information. The DIVA output is designed to be understandable by software programmers without any low-level compiler or DWARF knowledge; as such, it can be used to report debug information bugs to the compiler provider." BenoƮt Blanchon has written up a handy summary of [new features in clang-format 5.0.0](https://blog.benoitblanchon.fr/clang-format-5/). ## On the mailing lists * Zachary Turner has sent a [heads-up](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117418.html) about a slight change to the lit workflow. If you already use `./bin/llvm-lit` in the build dir rather than `utils/lit/lit.py` from source, you should see no changes. * Dinar Temirbulatov has posted an RFC on adding a ['phantom' memory intrinsic](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117381.html). This would keep track of cases where load operations are removed by passes like InstCombine. * Kyle Butt has posted an RFC [implementing trace-based basic block layout](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117458.html), with a detailed overview of the proposed design. He points to [this paper](https://www.ece.cmu.edu/~ece447/s13/lib/exe/fetch.php?media=p16-pettis.pdf) as a relevant reference. * Discussion has continued regarding the [integration of Polly in to LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117379.html). ## LLVM commits * Support for parameterized register classes has landed. Making use of this feature removed 10k lines from the Hexagon backend. [r313271](http://reviews.llvm.org/rL313271), [r313362](http://reviews.llvm.org/rL313362). * GetElementPtr merging is now undone around indirect branches in some cases. This is another optimisation benchmarked using the Python interpreter loop, this time offering a 5% performance improvement. [r312930](http://reviews.llvm.org/rL312930). * MC-layer support for all RISC-V RV32I instruction has been committed, as well as disassembly support. [r313485](http://reviews.llvm.org/rL313485), [r313486](http://reviews.llvm.org/rL313486). * The llvm-dwarfdump command line parameter naming has been updated, as [discussed](http://lists.llvm.org/pipermail/llvm-dev/2017-September/117301.html) on the mailing list last week. [r312970](http://reviews.llvm.org/rL312970). * LoopAcessAnalysis gained support for generating run-time alias checks in more cases. [r313012](http://reviews.llvm.org/rL313012). * The BPF backend now has an ASMParser. [r313055](http://reviews.llvm.org/rL313055). * A new flag was added to disable LowerDbgDeclare. This improved optimized debug info for address-taken variables, but may reduce accuracy of debug info in some cases. This is a temporary measure until a more long-term resolution can be implemented. [r313108](http://reviews.llvm.org/rL313108). ## Clang commits * An initial version of the clang-refactor tool has been added. [r313244](http://reviews.llvm.org/rL313244). * clang-tidy has a new C++ core guideline checker. This performs checks for `gsl::owner`. [r313067](http://reviews.llvm.org/rL313067). * The recently added 'minimal' runtime for the Undefined Behavior Sanitizer (UBSan) has been documented. [r312957](http://reviews.llvm.org/rL312957). * clangd gained support for snippet completions. [r313029](http://reviews.llvm.org/rL313029). ## Other project commits * LLD now has a GNU LD-style driver for COFF, to make it easier for MinGW toolchains. [r312926](http://reviews.llvm.org/rL312926). * LLD gained initial support for microMIPS code linking. [r313028](http://reviews.llvm.org/rL313028). * LLDB compatibility with OpenOCD has been improved. [r313442](http://reviews.llvm.org/rL313442).