Alex Bradbury via llvm-dev
2019-Sep-02 19:10 UTC
[llvm-dev] LLVM Weekly - #296, September 2nd 2019
LLVM Weekly - #296, September 2nd 2019 ==================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/296>. Welcome to the two hundred and ninety-sixth 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 LLVM 9.0.0 release candidate 3 is [available](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134836.html). ## On the mailing lists * Tom Stellard has posted [instructions for requesting GitHub commit access](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134840.html). If you currently have SVN commit access, you are requested to add your information to the github-usernames.txt file prior to SVN becoming read-only on October 21st. * Philipp Reames has [proposed changes to atomic load/store in SelectionDAG](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134794.html). Atomic loads and stores will be treated as normal LoadSDNode or StoreSDNodes, but this change will be enabled on a per-backend basis. * Sam Elliott posted an RFC on [adding the GCC C Torture Suite to the external LLVM test suites](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134833.html). As Sam notes, we've found the torture execution tests incredibly useful in backend development. Sam has an [initial patch](https://reviews.llvm.org/D66887) for review. * Reshabh Sharma [provided a summary of his GSoC work to support 64-bit pointers in the RISC-V 32-bit backend](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134760.html). * Seiya Nuta posted a final report on their [GSoC project to improve LLVM binary utilities](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134755.html) like llvm-objcopy, llvm-objdump. * Csaba Dabis has [posted a final report for their GSoC project to apply the Clang Static Analyzer to LLVM](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134739.html). * Vic (Chun-Ju) Yang suggests [moving the RELRO segment to immediate alfter the read-only segment](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134801.html). While Rui Ueyama was [in favour](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134802.html), David Chisnall [raised some concerns](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134832.html). * Graham Hunter started a discussion on [codegen for a scalable vector splat](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134809.html). Renato Golin [recapped](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134830.html) the main argument about the trade-offs of introducing new constructs / node types. ## LLVM commits * The LoopIdiomRecognize pass can now recognise a BCmp loop. [r370454](https://reviews.llvm.org/rL370454). * llvm-ifs, an LLVM Interface Stubs merging and object file generation tool was committed. [r370499](https://reviews.llvm.org/rL370499). * A new shouldExtendTypeInLibCall hook was added and used to ensure libcall lowering on RV64 properly respects the ABI [r370275](https://reviews.llvm.org/rL370275). * The GlobalISel importer learned to handled patterns containing `INSERT_SUBREG` and `SUBREG_TO_REG` [r369973](https://reviews.llvm.org/rL369973), [r370254](https://reviews.llvm.org/rL370254). * Scalable vectors are now supported in intrinsics. [r370053](https://reviews.llvm.org/rL370053). * The return values of allocation functions are now annotated with `dereferenceable_or_null`. [r370168](https://reviews.llvm.org/rL370168). * Arm MTE support was updated with an optimisation for unchecked load/stores of stack offsets. [r370490](https://reviews.llvm.org/rL370490). ## Clang commits * Clang will now warn when it is about to exhaust the stack and can allocate a new stack by spawning a new thread. This improves the user experience when dealing with e.g. heavily recursive template instantiations. [r369940](https://reviews.llvm.org/rL369940). * The clang-tidy-vs Visual Studio plugin was removed. Users are encouraged to use Clang Power Tools instead. [r370096](https://reviews.llvm.org/rL370096). * The new `-gen-cdb-fragment-path` option can be used to emit a fragment of a compilation database for each compilation. [r369938](https://reviews.llvm.org/rL369938). * MaxAtomicInlineWidth and MaxAtomicPromoteWidth are now set appropriately for RISC-V targets. [r370073](https://reviews.llvm.org/rL370073). * Semantic restrictions were implemented for C++20 designated initializers. [r370544](https://reviews.llvm.org/rL370544). ## Other project commits * `std::vector` in libcxx will now unconditionally move elements when exceptions are disabled. [r370502](https://reviews.llvm.org/rL370502). * LLDB's dotest.py saw lots of refactoring and updates. [r370234](https://reviews.llvm.org/rL370234), [r370259](https://reviews.llvm.org/rL370259), and more.