Alex Bradbury via llvm-dev
2017-Aug-21 17:53 UTC
[llvm-dev] LLVM Weekly - #190, Aug 21st 2017
LLVM Weekly - #190, Aug 21st 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/190>. Welcome to the one hundred and ninetieth 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. ## News and articles from around the web LLVM on Windows [now supports PDB debug info](http://blog.llvm.org/2017/08/llvm-on-windows-now-supports-pdb-debug.html). Leslie Zhai has announced that [DragonEgg has been updated to work with GCC 8.x and LLVM 6.x](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116705.html). DragonEgg allows LLVM to be used as a GCC backend. The main motivation for doing this would be for languages where GCC has support but there is no LLVM frontend. The next Cambridge LLVM Social [will take place](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116571.html) this Wednesday (Aug 23rd) at 7.30pm. Noam Lewis has released a [collection of Clang plugins](https://github.com/sinelaw/elfs-clang-plugins), aimed at enabling safer C programming. ## On the mailing lists * Ivan A. Kosarev has [proposed a new approach for improving type-based alias analysis](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116554.html). This resulted in a huge discussion thread, which I apologise I don't have time to summarise. If a thread participant or lurker is able to write and post a summary, that would be a very useful contribution for the wider LLVM community. * I have shared an [update](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116709.html) on my RISC-V LLVM backend work, along with a brief roadmap and suggestions on how to contribute. When targeting RV32I at O0, 1315/1352 tests compile and run. See the mailing list post for full details. I would greatly appreciate reviews for the [outstanding patches](https://reviews.llvm.org/differential/?authors=asb&order=updated). Thank you to everyone who has contributed [so far](https://github.com/lowrisc/riscv-llvm#credits). * Graham Yiu has shared an RFC on [improving the partial inliner by outlining cold blocks](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116515.html). The responses discuss this proposal in relation to the existing in-tree machine-level outliner and the proposed IR-level outliner. * Daniel Neilson has posted an RFC on [integrating element atomic memory intrinsics into the MemIntrinsic class hierarchy](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116589.html). * Alex Denisov asked for advice on [debugging instruction selection](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116498.html) and received two helpful answers. * Puyan Lotfi has [proposed](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116518.html) a new tool, mir-canon, for canonicalizing MIR. It has yet to receive feedback, so if this interests you then do drop by and say so. * Hans Wennborg has [sent out a reminder](http://lists.llvm.org/pipermail/llvm-dev/2017-August/116649.html) that the 5.0.0 release notes are still incomplete. If you added something in the past six months, ensure it is mentioned. ## LLVM commits * The PostDominatorTree learnt about infinite loops. [r310940](http://reviews.llvm.org/rL310940). * RISCVInstPrinter has been added, allowing the MC assembler to be tested. [r310917](http://reviews.llvm.org/rL310917). * A new target property was added, allowing interprocedural register allocation to be enabled by default for that target. [r310876](http://reviews.llvm.org/rL310876). * A new strictfp attribute has been introduced. [r310885](http://reviews.llvm.org/rL310885). * Dominators now support batch updates. [r311015](http://reviews.llvm.org/rL311015). * Post-RA scheduling has been improved. [r311072](http://reviews.llvm.org/rL311072). * The CodingStandards and ProgrammersManual documents now give more guidance on when to use `report_fatal_error`. [r311146](http://reviews.llvm.org/rL311146), [r311147](http://reviews.llvm.org/rL311147). ## Clang commits * The clang-diff tool gained HTML side-by-side diff output. [r311241](http://reviews.llvm.org/rL311241). * clang-tidy added a number of close-on-exec checks for Android. [r310858](http://reviews.llvm.org/rL310858), and more. ## Other project commits * The LLVM test suite now has two new benchmarks. HPCG (a conjugate gradient benchmark) and PENNANT (physical algorithms). These are both DOE proxy apps. [r310951](http://reviews.llvm.org/rL310951). * The CMake files for the sanitizers have seen some refactoring. [r310971](http://reviews.llvm.org/rL310971).