[llvm-dev] LLVM Weekly - #378, March 29th 2021
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Mar 29 11:16:46 PDT 2021
LLVM Weekly - #378, March 29th 2021
===================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/378>.
Welcome to the three hundred and seventy-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
The next post in the series about Cling is [now
available](https://blog.llvm.org/posts/2021-03-25-cling-beyond-just-interpreting-cpp/),
discussing how Cling has been extended to support template instantiation on
demand and to act as an "interpreter/compiler as a service".
On the LLVM blog, Arthur Eubanks provided a write-up of [the 'new' pass
manager](https://blog.llvm.org/posts/2021-03-26-the-new-pass-manager/),
detailing what it is, work that has been done to transition so far, and next
steps.
Crystal, a programming language with Ruby-inspired syntax using LLVM as it's
codegen backend has just had its [1.0
release](https://crystal-lang.org/2021/03/22/crystal-1.0-what-to-expect.html).
## On the mailing lists
* Jason Molenda posted an RFC on [adding a new packet type to help describe a
standalone binary for
LLDB](https://lists.llvm.org/pipermail/lldb-dev/2021-March/016806.html).
* [Simon
Cook](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149367.html) and
[John
Byrd](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149479.html)
further discussed the potential of using Tablegen to generate an emulator
core.
* Sjoerd Meijer started a discussion on [adding a function specialisation pass
to LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149380.html),
noting that's it's frequently raised as a reason for performance differences
between GCC and LLVM and that the cost model is where previous proposals
have had issues.
* Philipp Reames [shared a patch to better document community norms around
reverts](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149409.html).
* As part of the move from Bugzilla to GitHub, Anton Korobeynikov is
[requesting](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149441.html)
that users of the LLVM Bugzilla fill out a form to associate any emailed
addresses used for that with their GitHub username.
* Zequan Wu kicked off a thread on [annotating global functions and variables
to prevent identical code
folding](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149352.html)
during linking.
* Clement Courbet initiated an RFC discussion on [adding range metadata to
array
subscripts](https://lists.llvm.org/pipermail/llvm-dev/2021-March/149390.html),
generating a quite a lot of discussion.
## LLVM commits
* Lit's progress indicator is now more accurate, as it takes into account
timings from previous runs.
[962339a5](https://reviews.llvm.org/rG962339a5eca2).
* As part of the long-running OpaquePtr work, the inalloca attribute now has a
mandatory type argument. [4fefed6](https://reviews.llvm.org/rG4fefed65637e).
* A `vscale_range` IR function attribute was added, representing the minimum
and maximum values vscale can take.
[48f5a39](https://reviews.llvm.org/rG48f5a392cb73).
* A new llvm.experimental.stepvector intrinsic was added.
[748ae52](https://reviews.llvm.org/rG748ae5281d4f).
* GlobalISel learned to lower funnel shifts.
[b24436a](https://reviews.llvm.org/rGb24436ac96bd).
* targetShrinkDemandedConstant for RISC-V will now preserve `(and X,
0xffffffff)`, which simplifies pattern matching.
[c40cea6](https://reviews.llvm.org/rGc40cea6f083a).
* An LLJITWithRemoteDebugging example was added.
[258f055](https://reviews.llvm.org/rG258f055ed936).
## Clang commits
* The RangeSet datastructure used by the static analyzer was redesigned.
[02b51e5](https://reviews.llvm.org/rG02b51e5316cd).
* Documentation was improved for the `[[clang::lifetimebound]]` attribute.
[5fab603](https://reviews.llvm.org/rG5fab60377c1a).
* For C++2b (and as an extension, for previous standards with a warning),
lambda without a parameter list are accepted.
[0620e6f](https://reviews.llvm.org/rG0620e6f4b76a).
## Other project commits
* A pre-codegen rewrite pass was added for Flang.
[97d8972](https://reviews.llvm.org/rG97d8972c9cd1).
* LLDB gained a ScriptedProcess process plugin.
[dd391e1](https://reviews.llvm.org/rGdd391e1ef762).
* NoTerminator traits were introduced for MLIR, allowing operations with a
single block region to not provide a terminator.
[973ddb7](https://reviews.llvm.org/rG973ddb7d6e96).
More information about the llvm-dev
mailing list