Alex Bradbury via llvm-dev
2016-Jun-06 14:52 UTC
[llvm-dev] LLVM Weekly - #127, June 6th 2016
LLVM Weekly - #127, June 6th 2016 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/127>. Welcome to the one hundred and twenty-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](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 Graham Markall at Embecosm has been comparing the code size of [RISC-V binaries produced by the GCC and LLVM ports](http://www.embecosm.com/2016/05/26/risc-v-compiler-performance-part-1-code-size-comparisons/), as well as compared to ARM. GCC is currently ahead, though it is worth noting the LLVM port has seen much less attention. Matthias Reisinger is a Google Summer of Code student working on enabling polyhedral optimisations for the Julia programming language. He's written a blog post detailing his [initial steps and immediate future plans](http://www.mreisinger.com/?p=43). Hopefully we'll see more posts over the summer. Loïc Hamot has been working on a [C++ to D converter](http://forum.dlang.org/post/ngxvmfqusvhyezwdbvaq at forum.dlang.org), implemented using Clang. The MSVC team have blogged about the [latest release of Clang with Microsoft CodeGen](https://blogs.msdn.microsoft.com/vcblog/2016/06/03/clang-3-8-in-the-may-release-of-clang-with-microsoft-codegen/), based on Clang 3.8. There is going to be a [clang-tidy code dojo](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100647.html) in Warsaw on Tuesday the 7th of June. ## On the mailing lists * Renato Golin has kicked off a discussion on [moving LLVM's repository hosting to GitHub](http://lists.llvm.org/pipermail/llvm-dev/2016-May/100310.html). Chris Lattner [came out in favour](http://lists.llvm.org/pipermail/llvm-dev/2016-May/100314.html), specifically motivated by GitHub's community aspects. Renato has very helpfully [summarised the discussion](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100507.html). * Peter Smith has shared his [initial port of LLD to ARM](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100598.html) along with his planned roadmap. The currently submitted patch is just enough to link a hello world executable on ARM Linux. * The apt repo hosted at llvm.org has been [temporarily turned off](http://lists.llvm.org/pipermail/llvm-foundation/2016-May/000020.html) as it is resulting in excessive I/O and network activity. Some commenters ask about setting up an Ubuntu PPA or using the OpenSUSE build service. * David Blaikie has written a GDB pretty printer script for some common LLVM types and [described how to use it](http://lists.llvm.org/pipermail/llvm-dev/2016-May/100365.html). * Michael LeMay has posted an [RFC on using segmentation to harden SafeStack](http://lists.llvm.org/pipermail/llvm-dev/2016-May/100346.html). * Rui Ueyama has been investigating [using sendfile to copy file contents in LLD](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100700.html) and shares his results. He concludes the performance improvement is too modest to be worth the change. * If you're interested in register allocation, then [delve in to this thread on LLVM's PBQP allocator and copy propagation](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100523.html). * Daniel Dunbar is [suggesting some changes to the lit default output](http://lists.llvm.org/pipermail/cfe-dev/2016-May/049135.html). * Steven Wu shares a follow-up RFC on [embedded bitcode](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100643.html). * There's a useful discussion in [this thread on lowering loops to use a hardware loop instruction](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100470.html). * Peter Collingbourne [proposes renaming and slightly redesigning the bitset metadata](http://lists.llvm.org/pipermail/llvm-dev/2016-June/100462.html). ## LLVM commits * LLVM gained support for 'SJLJ' (setjmp/longjmp) exception handling on x86 targets. [r271244](http://reviews.llvm.org/rL271244). * LLVM now requires CMake 3.4.3 to build [r271325](http://reviews.llvm.org/rL271325). * Support was added for attaching metadata to global variables. [r271348](http://reviews.llvm.org/rL271348). * The AArch64 backend switched to use SubtargetFeatures rather than testing for specific CPUs. [r271555](http://reviews.llvm.org/rL271555). ## Clang commits * The release notes have been updated to explain the current level of OpenMP support (full support of non-offloading features of OpenMP 4.5). [r271263](http://reviews.llvm.org/rL271263). * Clang's source-based code coverage has been documented. [r271454](http://reviews.llvm.org/rL271454). ## Other project commits * An `-fno-exceptions` libc++abi library variant was defined, to match the `-fno-exceptions` libc++ build. [r271267](http://reviews.llvm.org/rL271267). * LLDB's compact unwind printing tool gained support for ARMv7's compact unwind format. [r271744](http://reviews.llvm.org/rL271744).