[llvm-dev] LLVM Weekly - #388, June 7th 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jun 7 10:21:47 PDT 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).


More information about the llvm-dev mailing list