[llvm-dev] LLVM Weekly - #396, August 2nd 2021

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Aug 2 10:00:09 PDT 2021


LLVM Weekly - #396, August 2nd 2021
===================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/396>.

Welcome to the three hundred and ninety-sixth 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 13.0.0 [has
branched](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151956.html) and
the first release candidate is [expected
today](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151983.html).


## On the mailing lists

* Jeremy Morse is [seeking
  testers](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151965.html)
  for the new variable location tracking solution that has been added to LLVM,
  but is off by default.

* Luke Kenneth Casson Leighton posted an RFC on a proposed [vector/SIMD ISA
  context
  abstraction](https://lists.llvm.org/pipermail/llvm-dev/2021-July/152008.html).

* Ben Gamari wrote to llvm-dev about a proposed change to the GHC calling
  convention, [querying if this may cause an issue for
  LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151995.html).

* Michał Górny
  [shared](https://lists.llvm.org/pipermail/lldb-dev/2021-July/016975.html)
  that Mortiz Systems has been contracted to enable KGDB compatibility in LLDB
  and so will be working on improving compatibility between LDB and the
  gdbserver protocol as part of this.

* Thomas Goodfellow [asked for
  advice](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151945.html) on
  building compiler-rt for RISC-V and received answers from [Fāng-ruì
  Sòng](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151950.html) and
  [Luís
  Marques](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151962.html).

* Teresa Johnson provided [input from an ThinLTO
  perspective](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151948.html)
  on function specialization.

* Geoffrey Martin-Noble shared that [pre-merge checks have been set up for the
  Bazel build of
  LLVM](https://lists.llvm.org/pipermail/llvm-dev/2021-July/151982.html).


## LLVM commits

* A jump-threading optimisation was added for deterministic finite automata
  was added. One well-known input where this optimisation may be triggered is
  the `core_state_transition` function of coremark.
  [02077da](https://reviews.llvm.org/rG02077da7e7a8).

* Graph reordering in the SLP vectorizer has been improved.
  [e408d1d](https://reviews.llvm.org/rGe408d1dfab42).

* AArch64 GlobalISel will no longer optimise away redundant branches at `-O0`,
  in order to improve the debuggability of emitted code.
  [c5d84d2](https://reviews.llvm.org/rGc5d84d2eb35c).

* The CallPenalty for the inliner is now configurable.
  [46c0366](https://reviews.llvm.org/rG46c03668774c).

* Support for the arch14 SystemZ architecture was added to the SystemZ
  backend. [8cd8120](https://reviews.llvm.org/rG8cd8120a7b5d).

* Emscripten exception handling now works with Emscripten SjLJ
  (setjmp/longjmp). [c285a11](https://reviews.llvm.org/rGc285a11efdb0).

* Initial code was added to generate assembly files on z/OS.
  [a8cfa4b](https://reviews.llvm.org/rGa8cfa4b9bda3).

* `LLVM_ATTRIBUTE_NORETURN` has been replaced with `[[noreturn]]` in the LLVM
  codebase. [6da3d8b](https://reviews.llvm.org/rG6da3d8b19c32).

* A new feature was introduced in AArch64 for Scalable Matrix Extension (SME)
  streaming mode. [3a349d2](https://reviews.llvm.org/rG3a349d22692c).


## Clang commits

* `#pragma include_instead` was introduced, which can be used by system
  headers to indicate to a tool that the file including this pragma shouldn't
  be directly included by user code.
  [e8a64e5](https://reviews.llvm.org/rGe8a64e549126).

* `#pragma clang deprecated` was added in order to enable deprecation of
  preprocessor macros. [26c695b](https://reviews.llvm.org/rG26c695b78930).

* Clang option `-ffp-model=precise` now enables `-ffp-contract=on`.
  [48ad446a](https://reviews.llvm.org/rG48ad446a0fb2).

* Support was added for the `-ffp-eval-method` command-line option.
  [66ddac2](https://reviews.llvm.org/rG66ddac22e2a7).


## Other project commits

* A new on-by-default libc++ CMake option was added to disable the usage of
  incomplete headers which aren't guaranteed to be ABI stable.
  [71909de](https://reviews.llvm.org/rG71909de37495).

* The Hierarchical Trace Representation (HTR) format for large traces (e.g.
  processor traces from Intel PT) was introduced to LLDB.
  [aad17c5](https://reviews.llvm.org/rGaad17c55a811).

* A prototype of a new OpenMP GPU device runtime library was introduced.
  [67ab875](https://reviews.llvm.org/rG67ab875ff578).

* Initial Objective-C and Swift support was added to the ORC runtime's
  MachOPlatform. [cdcc354](https://reviews.llvm.org/rGcdcc35476833).

* The migration of Flang's tests to GTest has been completed.
  [65436e6](https://reviews.llvm.org/rG65436e6ba127).

* A new `-Bsymbolic-non-weak-functions` option was added to the LLD ELF
  linker. [b06426d](https://reviews.llvm.org/rGb06426da764a).

* LLDB gained a new option to write memory tags (when Arm's Memory Tagging
  Extension is supported). [6a7a2ee](https://reviews.llvm.org/rG6a7a2ee8161d).

* MLIR's Python build support was reworked.
  [310c949](https://reviews.llvm.org/rG310c9496d809).

* The llvm-omp-device-info tool was added.
  [313c523](https://reviews.llvm.org/rG313c5239959b).


More information about the llvm-dev mailing list