# LLVM Weekly - #455, September 19th 2022

**URL:** <https://discourse.llvm.org/t/llvm-weekly-455-september-19th-2022/65363>\
**Category:** Newsletters\
**Tags:** llvm-weekly\
**Created:** [September 19, 2022, 1:10pm UTC](https://discourse.llvm.org/t/llvm-weekly-455-september-19th-2022/65363 "2022-09-19T13:10:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![asb](https://sea1.discourse-cdn.com/flex021/user_avatar/discourse.llvm.org/asb/32/2119_2.png) [@asb](https://discourse.llvm.org/u/asb)\
**Post date:** [September 19, 2022, 1:10pm UTC](https://discourse.llvm.org/t/llvm-weekly-455-september-19th-2022/65363/1 "2022-09-19T13:10:13Z")

</div>

# LLVM Weekly - #455, September 19th 2022

If you prefer, you can read a HTML version of this email at [http://llvmweekly.org/issue/455](http://llvmweekly.org/issue/455).

Welcome to the four hundred and fifty-fifth 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](http://llvmweekly.org) and pass it on to anyone else you think may be interested. Please send any tips or feedback to [asb@asbradbury.org](mailto:asb@asbradbury.org), or @llvmweekly or @asbradbury on Twitter.

## News and articles from around the web

Herb Sutter has [presented](https://www.youtube.com/watch?v=CzuR0Spm0nA&t=17043s) [cppfront](https://github.com/hsutter/cppfront), a proposed potential C++ ‘syntax 2’.

Siddhesh Poyarekar writes on the Red Hat blog about [new levels of fortification supported in GCC](https://developers.redhat.com/articles/2022/09/17/gccs-new-fortification-level), providing additional protoection against buffer overflows.

## On the forums

- Peter Smith wrote up on [notes on initialization code for embedded systems and how this could be applied to LLVM libc](https://discourse.llvm.org/t/llvm-libc-embedded-systems-and-initialization-llvm-embdedded-toolchain-meeting/65294).

- Aaron Ballman [suggested](https://discourse.llvm.org/t/rfc-add-new-discourse-channel-for-potentially-breaking-disruptive-changes-for-clang/65251) adding a new Discourse forum for potentially breaking or disruptive changes for Clang. After some discussion, the [conclusion](https://discourse.llvm.org/t/rfc-add-new-discourse-channel-for-potentially-breaking-disruptive-changes-for-clang/65251/17) was to use [Announcements](https://discourse.llvm.org/c/announce/46) and to start adding the [clang-vendors](https://reviews.llvm.org/project/view/113/) Phabricator project as a subscriber to relevant reviews.

- Andrei Safronov started an RFC thread on [upstreaming a Tensilica Xtensa backend](https://discourse.llvm.org/t/rfc-request-for-upstream-tensilica-xtensa-esp32-backend/65355).

- Joshua Cranmer shared an RFC on [adding opaque types to LLVM IR](https://discourse.llvm.org/t/rfc-adding-opaque-types-to-llvm-ir/65326).

- Gulfem Savrun Yeniceri is [gauging interest in a profiling and coverage and compiler-rt roundtable at the 2022 LLVM Developers’ Meeting](https://discourse.llvm.org/t/round-table-about-profiling-coverage-compiler-rt-in-2022-llvm-dev-mtg/65225).

- Tobias Hieta started a discussion about [centralising the source of truth for the current version of LLVM within the monorepo](https://discourse.llvm.org/t/rfc-centralized-location-for-version-information/65295).

- John Regehr [asked](https://discourse.llvm.org/t/minimal-out-of-tree-pass/65192) about a minimal out-of-tree pass template. Andrzej Warzynski pointed to [Hello-World from llvm-tutor](https://github.com/banach-space/llvm-tutor/tree/main/HelloWorld).

- Gabor Marton [proposed](https://discourse.llvm.org/t/rfc-clang-dataflow-signanalysis-edgetransfer-branchtransfer/65220) adding a `branchTransfer` callback to Clang’s dataflow analysis framework.

- Chuang-Yu Cheng queried [whether defining a single instruction with different operand types is preferred to multiple instruction definitions](https://discourse.llvm.org/t/tablegen-define-single-instruction-allowing-reg-imm-operands-or-split-to-multiple-instructions-instead/65174) and received differing opinions in response.

## LLVM commits

- An IR regularisation pass was added for SPIRV, which performs a number of transformations in order to prepare the LLVM IR for the IR translation. [3544d20](https://reviews.llvm.org/rG3544d200d982).

- llvm-remarkutil was added, a utility for converting between different types of remarks. [7d80b94](https://reviews.llvm.org/rG7d80b94ca3ab).

- AArch64 implemented ABI lowering for calls to/from streaming SME functions and a design document on this ABI was committed. [b00c36c](https://reviews.llvm.org/rGb00c36c2958b), [4fc2c92](https://reviews.llvm.org/rG4fc2c922fe12), [bd4935c](https://reviews.llvm.org/rGbd4935c175ad).

- TableGen will now produce a `getSubRegisterClass` function. [7834194](https://reviews.llvm.org/rG78341948370b).

- Fixes were made to the way the MachinePipeliner interprets the scheduling model. [116838b](https://reviews.llvm.org/rG116838b1516a).

## Clang commits

- Clang release notes will now features a “potentially breaking changes” section. [e076680](https://reviews.llvm.org/rGe076680bd59c).

- `-fsanitizer-coverage=control-flow` was added. [3e52c09](https://reviews.llvm.org/rG3e52c0926c22).

- The link between `-ffast-math` and `-ffp-contract` flags has been broken, matching GCC. [1b69ce1](https://reviews.llvm.org/rG1b69ce120897).

## Other project commits

- LLVM’s libc gained implementations of dup, dup2, dup3, access, pread, pwrite, remove, setrlimit, getrlimit, and uname functions. [8989aa0](https://reviews.llvm.org/rG8989aa003f3d), [419580c](https://reviews.llvm.org/rG419580c69948), [6e675fb](https://reviews.llvm.org/rG6e675fba3a51), [d23d858](https://reviews.llvm.org/rGd23d858d04b3), [f5cbbb9](https://reviews.llvm.org/rGf5cbbb998826), [7fb96fb](https://reviews.llvm.org/rG7fb96fb5d33e).

- The performance of exp2f, sinhf, and coshf in LLVM’s libc was improved. [e6226e6](https://reviews.llvm.org/rGe6226e6b7234), [1c89ae7](https://reviews.llvm.org/rG1c89ae71ea69).

- Relocation scanning in the LLD ELF linker was parallelised, leading to meaningful speedups (e.g. 1.27x as fast for a release Clang with 8 threads on Skylake). [e6aebff](https://reviews.llvm.org/rGe6aebff67426).

- MLIR linalg’s vectorisation pattern was retired. [5279e11](https://reviews.llvm.org/rG5279e11f063d).
