[llvm-dev] LLVM Weekly - #350, September 14th 2020

Alex Bradbury via llvm-dev
Mon, 14 Sep 2020 19:01:47 -0000

LLVM Weekly - #350, September 14th 2020
=====================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/350>.

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

I didn't spot any relevant news this week. As always, feel free to email in
tips.


## On the mailing lists

* Hans Wennborg provided an [update on the 11.0.0 release
status](http://lists.llvm.org/pipermail/llvm-dev/2020-September/144961.html).
There are still
[release blockers](https://bugs.llvm.org/show_bug.cgi?id=46725) that are
awaiting resolution.

* Stephen Neuendorffer [restarted
discussion](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145022.html)
on the use of GitHub PRs, sharing observations from use of PRs by LLVM
incubator projects.

* Min-Yih Hsu shared an RFC on [de-optimising cold functions using PGO
info](http://lists.llvm.org/pipermail/llvm-dev/2020-September/144946.html).
This is motivated by improve compile time performance without heavily
impacting the performance of the generated code.

* ORC JIT Weekly #21 [is
out](http://lists.llvm.org/pipermail/llvm-dev/2020-September/145070.html).
This week: Preview branches for OrcV1 removal, removable code support, and new
out-of-process execution support.


## LLVM commits

* An initial GlobalISel skeleton was added for PowerPC.
[009cd4e](https://reviews.llvm.org/rG009cd4e4910).

* DeadStoreElimination moved to using MemorySSA by default.
[fb109c4](https://reviews.llvm.org/rGfb109c42d91).

* A PreserveCFG check was added to the new pass manager which checks all
passes that report they preserve CFGs actually do.
[28012e00](https://reviews.llvm.org/rG28012e00d80).

* The Arm cost model was tweaked to make i1 operations expensive in terms of
code size for Thumb, as they often involve combining predicates. SimplifyCFG
was also updated to consider the cost of combining predicates.
[0af4147](https://reviews.llvm.org/rG0af4147804a),
[65f78e7](https://reviews.llvm.org/rG65f78e73ad5).

* The PowerPC backend now supports clustering stores to adjacent target
addresses together. [3c0b325](https://reviews.llvm.org/rG3c0b3250230).

* isKnownNonZero and computeKnownBits were implemented for the freeze
instruction. [a6183d0](https://reviews.llvm.org/rGa6183d0f028).


## Clang commits

* clang-tidy gained a new altera-struct-pack-align checker which finds structs
that are inefficiently packed or aligned. This is part of work to add checks
related to Altera's OpenCL for FPGA coding guidelines.
[156b127](https://reviews.llvm.org/rG156b127945a).

* Implementation has started on `[[likely]]` and `[[unlikely]]` attributes.
[08196e0](https://reviews.llvm.org/rG08196e0b2e1).

* Sema support was added for `__attribute__((__swift_error__))`, used to
translate the error semantics for a function to a compatible Swift interface.
[f5ab5b2](https://reviews.llvm.org/rGf5ab5b20fb2).


## Other project commits

* Flang's new compiler and frontend drivers were committed.
[257b297](https://reviews.llvm.org/rG257b29715bb).

* A new MLIR tutorial was added on traversing the IR.
[63d1dc6](https://reviews.llvm.org/rG63d1dc66658).

* The LLD WebAssembly linker gained support for -Map/--print-map.
[cc2da55](https://reviews.llvm.org/rGcc2da5554b5).