Alex Bradbury via llvm-dev
2017-Apr-17 13:24 UTC
[llvm-dev] LLVM Weekly - #172, Apr 17th 2017
LLVM Weekly - #172, Apr 17th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/172>. Welcome to the one hundred and seventy-second 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 John Regehr has written up a [blog post](http://blog.regehr.org/archives/1496) to accompany an upcoming PLDI 2017 paper on undefined behaviour in LLVM. Iota is an intriguing project that [converts LLVM bitcode to Common Lisp](https://github.com/froggey/Iota). The next Paris LLVM Social will be held [on 18th April](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112120.html). Please don't forget to register if you'd like to attend. Portable Computing Language (pocl) version 0.14 [has been released](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111910.html). This adds support for LLVM/Clang 3.9+4.0, a new binary format, and initial support for out-of-order command queue task scheduling. ## On the mailing lists * Mikhail Zolotukhin has contributed an [update on LLVM performance vs January](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112026.html). The good news is that this time LLVM has gotten faster, about 10% compile-time improvement on CTMark vs January. Mikhail has provided a list of potential future optimisations. * Sanjoy Das has a [useful explanation](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112089.html) for some potentially confusing alias analysis results. * Piotr Padlewski has written up the [current status of devirtualization](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112109.html) in LLVM and Clang. * Andrei Grischenko reports he is [starting to work towards upstreaming a Nios II LLVM backend](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112033.html). * Sanjoy Das reports on a [potential semantic issue with marking @malloc and @realloc and noalias](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112009.html). * Nick Johnson has updated his question from last week to details his [partial solution for modelling long register reservations](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111925.html). * Krzysztof Parzyszek [reports](http://lists.llvm.org/pipermail/llvm-dev/2017-April/112004.html) that his initial patchset to support parameterized (variable-sized) register classes are now up for review. * Marshall Clow has proposed a [plan for removing std::experimental components](http://lists.llvm.org/pipermail/llvm-dev/2017-April/111941.html) that have now graduated to the normal std namespace. ## LLVM commits * The LLVM project SVN repository hit 300k commits. Matt Arsenault had the honour of producing the commit that marked this milestone "AMDGPU: Insert wait at start of callee functions". [r300000](http://reviews.llvm.org/rL300000). * Testing scheduling models (specifically latencies and throughput) has been made much easier with the introduction of the `-print-schedule` flag to llc. [r300311](http://reviews.llvm.org/rL300311). * The address space for alloca can now be specified in a target's datalayout string. [r299888](http://reviews.llvm.org/rL299888). * MemorySSA has been moved to Analysis from Transforms/Utils. [r299980](http://reviews.llvm.org/rL299980). * The AMDGPU backend gained a new pass to insert wait instructions for memory reads and writes. [r300023](http://reviews.llvm.org/rL300023). * LLVM's Casting.h now supports `unique_ptr<>`. [r300098](http://reviews.llvm.org/rL300098). * Development of llbm-pdbdump has continued, with support added for recursively dumping class layout. [r300258](http://reviews.llvm.org/rL300258). * The documentation now describes how to simplify .mir tests. [r300282](http://reviews.llvm.org/rL300282). ## Clang commits * UBSan will now insert far fewer alignment checks on C++ object pointers than before. [r300370](http://reviews.llvm.org/rL300370). * The clang-format documentation now has more examples of the effect of the various configuration options. [r299919](http://reviews.llvm.org/rL299919). * To help aid the debugging of issues with codegen for modules, a new `-gen-reproducer` command-line option was added. [r300109](http://reviews.llvm.org/rL300109). ## Other project commits * LeakSanitizer is now supported on ARM Linux. [r299923](http://reviews.llvm.org/rL299923). * The libcxx `uniqute_ptr` tests have been almost completely rewritten, and the implementation of `unique_ptr` has also been overhauled. [r300388](http://reviews.llvm.org/rL300388), [r300406](http://reviews.llvm.org/rL300406). * LLDB's debugserver can now be unit-tested. [r300111](http://reviews.llvm.org/rL300111).