[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