[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