Alex Bradbury via llvm-dev
2020-Mar-02 21:10 UTC
[llvm-dev] LLVM Weekly - #322, Mar 2nd 2020
LLVM Weekly - #322, Mar 2nd 2020 =============================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/322>. Welcome to the three hundred and twenty-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](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 IBM have announced that [their C/C++ and Fortran compilers will be adopting the LLVM open source infrastructure](https://developer.ibm.com/linuxonpower/2020/02/23/ibm-c-c-and-fortran-compilers-to-adopt-llvm-open-source-infrastructure/). "IBM intends to fully incorporate the LLVM Core and Clang sub-projects in future C/C++ offerings on z/OS, Linux on Power, and AIX platforms." Guidance has been issued for [EuroLLVM 2020 and Coronavirus (COVID-19)](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139517.html). Alex Denisov [released llvm2graphml, a new tool for exploring LLVM bitcode interactively](https://lowlevelbits.org/exploring-llvm-bitcode-interactively/) ## On the mailing lists * Shoaib Meenai wrote to [announce Facebook's intention to contribute an implementation of LLD for Mach-O](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139574.html). * Jeremy Morse wrote an RFC on [a new way of specifying variable locations for debuginfo post-isel](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139440.html), moving away from the current `DBG_VALUE` representation. * Florian Hahn [updated the proposal for matrix support in Clang](http://lists.llvm.org/pipermail/cfe-dev/2020-February/064742.html) in response to feedback. * Christian Kühnel reports that [pre-merge testing is enabled by default on Phabricator](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139513.html), after 3 months of beta testing. * Galina Kistanova shared that [zorg will be ugrading to a recent buildbot version](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139503.html), and indicated steps for bot owners to take to help with the transition. * Pierre van Houtryve asked for [guidance on how to help improve debug experience for optimised code](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139442.html) and received useful responses. ## LLVM commits * The callbr instruction can now return non-void values. [23c2a5c](https://reviews.llvm.org/rG23c2a5ce33f). * A new CoalescingBitVector datatype was implemented and used to solve a compile-time explosion issue in LiveDebugValues. [b0142cd](https://reviews.llvm.org/rGb0142cd9867), [210c485](https://reviews.llvm.org/rG210c4853de2), [a993720](https://reviews.llvm.org/rGa993720397e). * The coverage mapping format was changed to reduce binary size. This shrinks the size of llc's coverage segment by 82%. [9931712](https://reviews.llvm.org/rG99317124e1c). * Fixed point saturating division intrinsics were added. [6e561d1](https://reviews.llvm.org/rG6e561d1c94e). * Infrastructure was added to print and parse MIR MachineOperand comments. [7efabe5](https://reviews.llvm.org/rG7efabe5c7de). * The MachineVerifier was passed up by about 35% through optimisations to calcRegsPassed (converting it reverse post order traversal). It was then sped up by another 15-20% by optimising the set representation. [6f87b16](https://reviews.llvm.org/rG6f87b162e63), [b3bce6a](https://reviews.llvm.org/rGb3bce6a3ddb). * The scalar evolution expander gained new cost models. [cc29600](https://reviews.llvm.org/rGcc29600b908), [756af2f](https://reviews.llvm.org/rG756af2f88bd), [0f3c9b5](https://reviews.llvm.org/rG0f3c9b54e60), and more. * An llvm-gsymutil was started that can convert object files to GSYM and perform lookups. [2f6cc21](https://reviews.llvm.org/rG2f6cc21f44e). * InstCombine was altered to eliminate dead instructions earlier. [4ef272e](https://reviews.llvm.org/rG4ef272ec9c5). ## Clang commits * Clang now supports output constraints on `asm goto`. [50cac24](https://reviews.llvm.org/rG50cac248773). * LLVM IR for C++ operator new now contains additional attributes beyond `noalias`, when appropriate. [3dd5a29](https://reviews.llvm.org/rG3dd5a298bff). ## Other project commits * libcxx now features an implementation of [P1135R6](http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1135r6.html), the C++20 synchronisation library. [54fa9ec](https://reviews.llvm.org/rG54fa9ecd308). * The LLVM libc implementation gained sigprocmask, sigemptyset, and sigaddset. [cd76a02](https://reviews.llvm.org/rGcd76a026399).