Alex Bradbury via llvm-dev
2021-Jun-07 17:21 UTC
[llvm-dev] LLVM Weekly - #388, June 7th 2021
LLVM Weekly - #388, June 7th 2021 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/388>. Welcome to the three hundred and eighty-eighth 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 CAV 2021 features the LLVM-related paper "[An SMT Encoding of LLVM’s Memory Model for Bounded Translation Validation](https://web.ist.utl.pt/nuno.lopes/pubs/alive2-mem-cav21.pdf)". Nikita Popov wrote a blog post about [design issues in LLVM IR](https://www.npopov.com/2021/06/02/Design-issues-in-LLVM-IR.html). The [second Clang Built Linux Meetup](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150863.html) and the [LLVM Distributors Conf 2021](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150861.html) have been announced. OpenASIP v1.23 [has been released](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150853.html). "OpenASIP, also known as TTA-based Co-Design Environment (TCE), is an open source application-specific instruction-set processor (ASIP) toolset for design and programming of customized co-processors (compiler-programmable accelerators). It is based on the static energy efficient Transport Triggered Architecture (TTA) processor template." ## On the mailing lists * George Mitenkov, along with Nuno Lopes and Juneyoung Lee shared an RFC on [introducing a byte type to LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150883.html) with the intent ot fixing miscompilations due to load type punning. Concerns were raised (including [by Chris Lattner](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150883.html)) on whether this is the right way to go, and whether TBAA or other metadata should be used instead. Nuno Lopes [followed up](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150920.html) to explain why he views the issue as orthogonal to TBAA. * Tom Stellard shared a [proposed migration plan](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150823.html) (recommended by the LLVM Foundation Board of Directors) for moving the LLVM mailing lists over to Discourse. * David Blaikie is [seeking feedback](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150903.html) on using simplified template names in DWARF in order to reduce debug info size. e.g. `vector` instead of `vector<int, std::allocator<int>>`. * Djordje Todorovic [suggests reducing metadata in LLVM tests](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150882.html), and proposes a [tool to help do this](https://github.com/djolertrk/llvm-metadataburn). * LLVM GPU News Issue #13 [is out](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150885.html). * Fāng-ruì Sòng is [seeking opinions](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150871.html) on adding `--overwrite-section-script` to the linker. * Sameer Sahasrabuddhe [proposes](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150814.html) making calls "convergent" by default in order to better support operations that are sensitive to the set of threads that execute them together. * David Goldblatt started a thread on [improving codegen for the C++20 spaceship operator](https://lists.llvm.org/pipermail/llvm-dev/2021-June/150833.html). ## LLVM commits * `APInt DemandedBits::getDemandedBits(Use *U)` was introduced. [cbde248](https://reviews.llvm.org/rGcbde2487367a). * The AtomicExpandPass was modified to merge the cmpxchg success and failure when appropriate. [44cdf77](https://reviews.llvm.org/rG44cdf771fe12). * LLVM will be built with `-fno-semantic-interposition` when being built with GCC or Clang 13 or higher. [a96f875](https://reviews.llvm.org/rGa96f875fe98d). ## Clang commits * The `-Wunused-but-set-parameter` and `-Wunused-but-set-variable` warnings were added. [cf49cae](https://reviews.llvm.org/rGcf49cae278b4). * clang-format gained a PPIndentWidth option, allowing a different indent to be set for preprocessor statements. [6f605b8](https://reviews.llvm.org/rG6f605b8d0bc1). * Support was added for MSVC's 'abstract' contextual keyword. [116179c](https://reviews.llvm.org/rG116179c2ee52). ## Other project commits * The MachO LLD linker gained support for `-dead_strip`. [a564551](https://reviews.llvm.org/rGa5645513dba7). * MLIR now allows attaching "debug labels" to patterns, and for filtering based on these labels. This is intended to aid debugging and make it easier to write tests targeted at specific patterns. [0289a26](https://reviews.llvm.org/rG0289a2692e0e). * All algorithms in libcxx were moved into their own header file. [7ed7d4c](https://reviews.llvm.org/rG7ed7d4ccb899). * LLDB performance for parsing symbol tables in MachO files was improved. [b0572ab](https://reviews.llvm.org/rGb0572abf72fd). * An experimental "nesting mode" feature was added to LLVM's OpenMP library, allowing a nesting mode to be configured that matche the topology of the machine being run. [8ec9aa2](https://reviews.llvm.org/rG8ec9aa236e32).