Alex Bradbury via llvm-dev
2018-Aug-13 16:33 UTC
[llvm-dev] LLVM Weekly - #241, August 13th 2018
LLVM Weekly - #241, August 13th 2018 =================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/241>. Welcome to the two hundred and forty-first 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 The Julia programming language has reached [version 1.0](https://julialang.org/blog/2018/08/one-point-zero). Congratulations to all contributors. The NetBSD blog provides an [introduction to µUBSan](https://blog.netbsd.org/tnf/entry/introduction_to_%C2%B5ubsan_a_clean), a clean-room reimplementation of the Undefined Behavior Sanitizer runtime Saar Raz [reports](https://old.reddit.com/r/cpp/comments/958sj9/clang_concepts_is_now_featurecomplete/) that his out-of-tree implementation of C++ concepts proposal in Clang is now feature complete. Bekket McClane has written a [tutorial](https://medium.com/@mshockwave/writing-llvm-pass-in-2018-part-i-531c700e85eb) on writing a simple 'hello world' LLVM pass using the new pass manager. ## On the mailing lists * Chijun Sima has written an end-of-GSoC report on [implementing a single updater class for dominators](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125229.html) as well as a [summary of work to preserve the DominatorTree along the pipeline](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125185.html). * Charles Davis started a discussion about an x86-64 compilation mode that has an address space for 32-bit pointers to allow interoperability. Unfortunately discussion is split between [llvm-dev](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125119.html) and [cfe-dev](http://lists.llvm.org/pipermail/cfe-dev/2018-August/058770.html). * Sterling Augustine shared an RFC on [switching to compiler-rt by default for x86-Linux](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125109.html). The RFC hasn't generated much discussion yet. * Stephen Kelly [reports](http://lists.llvm.org/pipermail/cfe-dev/2018-August/058853.html) that the getStartLoc, getLocStart, and getLocEnd APIs are deprecated and will be removed in 4 weeks time. getBeginLoc and getEndLoc should be used instead. * Kenneth Casson Leighton started a [discussion](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125095.html) about supporting his proposed 'SimpleV' RISC-V vectorisation extension. This segwayed into concerns about supporting non-standard extensions with overlapping encodings, which Alex Bradbury [responded to](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125161.html). * Anast Gramm shares and RFC on [adding a DebugLoc parameter to Instruction's Create functions](http://lists.llvm.org/pipermail/llvm-dev/2018-August/125132.html). ## LLVM commits * The WebAssembly backend has a new stack-only instruction mode for its MC layer, which is used by default. [r339474](https://reviews.llvm.org/rL339474). * LLVM's Sphinx configuration now supports documentation written in Markdown. [r338977](https://reviews.llvm.org/rL338977). * The GuardWidening pass learned to widen guards with conditions of frequently taken dominated branches. [r338988](https://reviews.llvm.org/rL338988). * PhysRegSize was removed from MCRegisterClass. [r339350](https://reviews.llvm.org/rL339350). * The MCStatement tablegen class was introduced, which can currently support simple swith and return statements. [r339352](https://reviews.llvm.org/rL339352). * The coding standards and developer policy around whitespace was clarified. [r339455](https://reviews.llvm.org/rL339455). ## Clang commits * Clang gained a new fixed point abstract type, similar to APInt in LLVM. [r339028](https://reviews.llvm.org/rL339028). * The getBeginLoc and getEndLoc APIs replace getLocStart, getStartLoc, and getLocEnd. [r339372](https://reviews.llvm.org/rL339372), [r339374](https://reviews.llvm.org/rL339374), [r339385](https://reviews.llvm.org/rL339385), [r339386](https://reviews.llvm.org/rL339386). * The GNUstep Objective-C ABI v2 now supports Windows. [r339428](https://reviews.llvm.org/rL339428). ## Other project commits * LLD gained initial RISC-V support. [r339364](https://reviews.llvm.org/rL339364). * A range of image processing kernels were added to the set of benchmarks in the LLVM test suite. [r339006](https://reviews.llvm.org/rL339006), [r339010](https://reviews.llvm.org/rL339010), [r339055](https://reviews.llvm.org/rL339055), [r339115](https://reviews.llvm.org/rL339115).