[llvm-dev] LLVM Weekly - #415, December 13th 2021
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Dec 13 10:35:12 PST 2021
LLVM Weekly - #415, December 13th 2021
======================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/415>.
Welcome to the four hundred and fifteenth 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 call for papers [is
out](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154215.html) for
the FOSDEM 2022 LLVM devroom, which will take place online on Saturay 5th
February. The deadline for submissions is December 20th.
## On the mailing lists
* Aaron Ballman [proposed relaxing the standardisation requirements for Clang
extensions](https://lists.llvm.org/pipermail/cfe-dev/2021-December/069551.html),
noting that current practice already deviates from what is documented.
* Carlos Galvez kicked off an RFC discussion on [the precise style used for
'end namespace'
comments](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154199.html).
This was
[agreed](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154238.html)
and a patch clarifying the coding guidelines was committed.
* Rafael Auler [provided an updated on efforts to prepare BOLT for the LLVM
monorepo](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154258.html).
* Anton Korobeynikov announced that [the migration from Bugzilla to GitHub
Issues has now
completed](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154314.html).
Thank you to everyone involved.
* Min-Yih Hsu proposed [a new CodeEmitterGen infrastructure for
variable-length
instructions](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154176.html),
intended for use by backends like X86 and M68k rather than the custom
instruction encoders they're currently using.
* Iilya Diyachkov started an RFC discussion on behalf of Intel, Arm, and
Khronos on the [integration of the SPIR-V backend to
LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154270.html).
* Fraser Cormack made an RFC proposal on [adding a new way of specifying
vector alignments in
DataLayout](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154192.html),
specifically to allow specifying alignment based on element size, which is a
better match for architectures like the RISC-V vector extension.
* Philip Reames announced a [beta test case reduction
service](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154309.html).
Simply create a PR against the linked repository to have your
crash-producing or miscompilation (as shown by alive2) test case reduced.
* Geoffrey Martin-Noble proposes [changing the way lit resolves --path
arguments](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154284.html).
* Roman Lebedev shared an RFC about [adding a memory region declaration
intrinsic](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154249.html).
Johannes Doerfert [had a
counter-proposal](https://lists.llvm.org/pipermail/llvm-dev/2021-December/154281.html).
## LLVM commits
* A new basic block layout algorithm was added, aiming to optimise jump
locality and thus processor I$ utilisation.
[f573f68](https://reviews.llvm.org/rGf573f6866e18).
* Cycles were introduced as a generalisation of loops (see
CycleTerminology.rst in the patch for a full description).
[1d0244a](https://reviews.llvm.org/rG1d0244aed781).
* LLVM now has a debuginfod client library.
[0e0f1b2](https://reviews.llvm.org/rG0e0f1b28fce8).
* The Hexagon VLIWMachineScheduler was converted to target-independent code.
[cc3bb85](https://reviews.llvm.org/rGcc3bb8558018).
* The CSKY backend gained compressed instruction mapping between 32-bit and
16-bit instructions. [bdd7c53](https://reviews.llvm.org/rGbdd7c53dc5e0).
* Additional support for D demangling was added, including the ability to
demangle special identifiers and function-local parent symbols.
[8a7ddf9](https://reviews.llvm.org/rG8a7ddf9e2296),
[83087c0](https://reviews.llvm.org/rG83087c096af9).
* A PAC (Pointer Authentication Code) signing mechanism was added for PACBTI-M
on Arm. [63eb7ff4](https://reviews.llvm.org/rG63eb7ff47de5).
* New table instruction intrinsics were added for WebAssembly.
[2fd634a](https://reviews.llvm.org/rG2fd634a5e307).
* A calculated score was added to the register allocation infrastructure. It
intends to provide a measure of the quality of register allocation
independent of the algorithm being used, that can be used to machine
learning algorithms. [fa99cb6](https://reviews.llvm.org/rGfa99cb64ff0e).
* Rather than duplicating the google/benchmark library within the repository,
libcxx and llvm/utils now both use a fork within the thirdparty/ directory.
[5dda2ef](https://reviews.llvm.org/rG5dda2efde574).
* It is now possible to set a DataLayout with pointer sizes that aren't a
whole number of bytes. [0fcb16e](https://reviews.llvm.org/rG0fcb16eeb228).
* Codegen of basic arithmetic and load/store operations is supported in
the CSKY backend. [a556ec8](https://reviews.llvm.org/rGa556ec8861df).
## Clang commits
* Documentation was added for Clang's new dataflow analysis framework.
[ab31d00](https://reviews.llvm.org/rGab31d003e16e).
* `_ExtInt` has been deprecated in favour of `_BitInt`, matching the accepted
C23 proposal. [6c75ab5](https://reviews.llvm.org/rG6c75ab5f66b4).
## Other project commits
* libc++, libc++abi, and libunwind are no longer forcibly built with fPIC.
[a6e5563](https://reviews.llvm.org/rGa6e5563dfaff).
* Support was added for pty redirection to the LLVM qemu-user plugin.
[5c4cb32](https://reviews.llvm.org/rG5c4cb323e86a).
More information about the llvm-dev
mailing list