Alex Bradbury via llvm-dev
2019-Jun-17 18:37 UTC
[llvm-dev] LLVM Weekly - #285, June 17th 2019
LLVM Weekly - #285, June 17th 2019 ================================= If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/285>. Welcome to the two hundred and eighty-fifth 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](https://www.linkedin.com/in/alex-bradbury/). 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 8.0.1-rc2 [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132945.html). The 7th HelloLLVM/HelloGCC social in China will [take place](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132971.html) on June 22 in Shanghai. The OpenMandriva Lx 4.0 Linux distribution has [been released](https://www.openmandriva.org/en/news/article/the-best-until-openmandriva-does-better-released-omlx-4-0). Notably, this distribution is (mostly) compiled with Clang/LLVM. ## On the mailing lists * Eli Friedman [shares](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133092.html) a proposed change to the IR semantics: that constant expressions should never have undefined behaviour. Chris Lattner [wonders](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133093.html) if anyone might be interested in removing all trapping operators for constants. * Much more discussion was generated on the proposal to prefer 'int' for regular arithmetic - too much for me to reasonably summarise, but you might want to check out [Chandler Carruth's response](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133023.html). * Jessica Paquette [shared an RFC](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133060.html) on an optimisation remarks based code size analysis tool * Francesco Petrogalli has [rewritten his proposal](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132987.html) for interfacing user-provided vector functions. * Nicolai Hähnle-Montoro is [seeking feedback](http://lists.llvm.org/pipermail/llvm-dev/2019-June/132973.html) on expressing preserved-relations between passes from different modules. * Qing Shan Zhang has written patches to allow scheduling state to be forwarded across machine basic blocks (where there is a single predecessor) and is [looking for reviews](http://lists.llvm.org/pipermail/llvm-dev/2019-June/133113.html). ## LLVM commits * The ValueTracking analysis gained a helpful clarifying comment, explaining that branching off poison isn't undefined behaviour, but executing a side effecting instruction following that branch would be. The LangRef was also expanded with new clarifications on poison. [r363318](https://reviews.llvm.org/rL363318), [r363320](https://reviews.llvm.org/rL363320). * MachineBlockPlacement learnt to move a latch block with conditional exit and multiple predecessors to the top of the loop. [r363471](https://reviews.llvm.org/rL363471). * MC layer support was added for the new non-MVE Arm v8.1-M instructions. [r363059](https://reviews.llvm.org/rL363059). * The semantics for fadd/fmul vector reductions were changed. [r363035](https://reviews.llvm.org/rL363035). * The RISC-V backend gained support for lowering I,J,K inline asm constraints and for PIC addressing sequences. [r363054](https://reviews.llvm.org/rL363054), [r363058](https://reviews.llvm.org/rL363058). * The AArch64 backend now merges globals by default when optimising for size. [r363130](https://reviews.llvm.org/rL363130). * The RISC-V, Mips, and SystemZ backends can now be build using the gn build system.[r363154](https://reviews.llvm.org/rL363154), [r363159](https://reviews.llvm.org/rL363159), [r363170](https://reviews.llvm.org/rL363170). ## Clang commits * The SSE2 intrinsics were ported to PowerPC using Altivec. [r363122](https://reviews.llvm.org/rL363122). * Lexing, parsing, and basic semantics were aded for the C++20 consteval specifier. [r363362](https://reviews.llvm.org/rL363362). ## Other project commits * Documentation describing the new libcxx policy for handling experimental features was committed. [r363072](https://reviews.llvm.org/rL363072). * Documentation was added to libcxx on Clang's C++11 extensions in C++03, and G++03 was officially marked as unsupported with libc++. [r363110](https://reviews.llvm.org/rL363110), [r363219](https://reviews.llvm.org/rL363219).