[llvm-dev] LLVM Weekly - #381, April 19th 2021

Alex Bradbury via llvm-dev
Mon, 19 Apr 2021 16:38:50 -0000

LLVM Weekly - #381, April 19th 2021
==================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/381>.

Welcome to the three hundred and eighty-first 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

LLVM 12.0.0 [has been
released](https://lists.llvm.org/pipermail/llvm-announce/2021-April/000092.html).
As always, thank you and congratulations to everyone involved.

Michał Górny has written a blog post on [adding support for fork(2) and
vfork(2) to
LLDB](https://www.moritz.systems/blog/lldb-support-for-fork-and-vfork/), in
order to provide follow-[v]fork functionality on par with GNU GDB.


## On the mailing lists

* ORC JIT Weekly #32 [provides a preview of the ORC
  runtime](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149729.html).
  Lang Hames has also [proposed the ORC runtime library for inclusion in

compiler-rt](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149748.html).

* LLVM GPU News Issue #10 [is
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149958.html).

* Kristof Beyls announced a [regular LLVM sync-up call on pointer

authentication](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149929.html).

* Haowei Wu posted an RFC on [generating LLD reproducers on
  crashes](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149853.html).
  Fangrui Song [pointed
  out](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149916.html) that
  crash reporting is easier to implement in a shell script rather than the LLD

* Chen Liue proposed [always emitting unaligned vector move instructions on
  AVX
  machines](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149838.html),
  with an options to disable this behaviour. Some respondents [had
  concerns](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149841.html).
  process itself.

* Yevgeny Rouban [proposed intrinsics to get the base pointer and offset of
  GC
  pointers](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149813.html).

* Xiang Zhiang posted on RFC on [supporting AMX faster register allocation at
  O0](https://lists.llvm.org/pipermail/llvm-dev/2021-April/149813.html).



## LLVM commits

* llvm.expect intrinsics are now lowered before running simplifycfg.
  [661cc71](https://reviews.llvm.org/rG661cc71a1c50).

* A pass was added to convert lookup tables to relative lookup tables in order
  to make them PIC-friendly. [e96df3e](https://reviews.llvm.org/rGe96df3e531f5).

* The M68k assembly parser was committed.
  [6e098e1](https://reviews.llvm.org/rG6e098e133dc7).

* llvm-objdump's command-line parsing was migrated from llvm::cl to
OptTable.
  [1035123](https://reviews.llvm.org/rG1035123ac50d).

* The PowerPC backend gained MC-layer support for new ROP protection
  instructions introduced in Power 10.
  [f28cb01](https://reviews.llvm.org/rGf28cb01be071).

* The LLVM language reference was extended to clarify the semantics of
  'nocapture'. [1bcadb0](https://reviews.llvm.org/rG1bcadb0984e7).

* The semantics of 'nofree' were clarified.
  [ff55d01](https://reviews.llvm.org/rGff55d01a8e1b).


## Clang commits

* The newly introduced `[[clang::musttail]]` attribute can be used for
  guaranteed tail calls. [8344675](https://reviews.llvm.org/rG834467590842).

* A new clang-tidy check 'bugprone-unhandled-exception-at-new' was added
to
  find calls to `new` with a missing exception handler for `std::bad_alloc`.
  [530456c](https://reviews.llvm.org/rG530456caf908).

* clang-rename can now handle designated initialisers.
  [7dd6068](https://reviews.llvm.org/rG7dd606889925).

* clang-tidy gained a check for implicit widening of a multiplication result.
  [46b8ea2](https://reviews.llvm.org/rG46b8ea2fff90).


## Other project commits

* The lld-macho linker gained support for arm64_32.
  [3bc88eb](https://reviews.llvm.org/rG3bc88eb3924f).

* Endianness detection support was implemented in LLVM's libc.
  [7e075ad](https://reviews.llvm.org/rG7e075ad0b261).

* Implementation of ranges started in libc++.
  [01ace07](https://reviews.llvm.org/rG01ace074fcb6).