SuccessChanges

Summary

  1. [docs] Add a release note for the removing of -Wreturn-std-move-in-c++11 (details)
  2. [Coroutine] Check indirect uses of alloca when checking lifetime info (details)
  3. [NFC][AIX] Rename aix-csr-vector.ll to aix-csr-vector-extabi.ll (details)
  4. [NARY][NFC] New tests for upcoming changes. (details)
  5. [docs][JITLink] Reintroduce JITLink design/API doc with fixes and improvements. (details)
Commit b950de5c13ef2171c0457a413c3b06aa31047938 by nullptr.cpp
[docs] Add a release note for the removing of -Wreturn-std-move-in-c++11

`-Wreturn-std-move-in-c++11` has been removed in fbee4a0c79cc4ee87c34e51342742a5bc6fcf872.

Reviewed By: aaronpuchert, amccarth

Differential Revision: https://reviews.llvm.org/D97364
The file was modifiedclang/docs/ReleaseNotes.rst
Commit c38000a9fb2cd64ad6e72939643e2c0fa4972690 by lxfind
[Coroutine] Check indirect uses of alloca when checking lifetime info

In the existing logic, we look at the lifetime.start marker of each alloca, and check all uses of the alloca, to see if any pair of the lifetime marker and an use of alloca crosses suspension point.
This approach is unfortunately incorrect. An use of alloca does not need to be a direct use, but can be an indirect use through alias.
Only checking direct uses can miss cases where indirect uses are crossing suspension point.
This can be demonstrated in the newly added test case 007.
In the test case, both x and y are only directly used prior to suspend, but they are captured into an alias, merged through a PHINode (so they couldn't be materialized), and used after CoroSuspend.
If we only check whether the lifetime starts cross suspension points with direct uses, we will put the allocas to the stack, and then capture their addresses in the frame.

Instead of fixing it in D96441 and D96566, this patch takes a different approach which I think is better.
We still checks the lifetime info in the same way as before, but with two differences:
1. The collection of liftime.start is moved into AllocaUseVisitor to make the logic more concentrated.
2. When looking at lifetime.start and use pairs, we not only checks the direct uses as before, but in this patch we check all uses collected by AllocaUseVisitor, which would include all indirect uses through alias. This will make the analysis more accurate without throwing away the lifetime optimization.

Differential Revision: https://reviews.llvm.org/D96922
The file was addedllvm/test/Transforms/Coroutines/coro-alloca-07.ll
The file was modifiedllvm/lib/Transforms/Coroutines/CoroFrame.cpp
The file was addedllvm/test/Transforms/Coroutines/coro-alloca-08.ll
Commit 1c051b7b704257ed9a7c02844ee8c1ea9327dfee by zarko
[NFC][AIX] Rename aix-csr-vector.ll to aix-csr-vector-extabi.ll
The file was removedllvm/test/CodeGen/PowerPC/aix-csr-vector.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-csr-vector-extabi.ll
Commit 6d31ee1cea7554fec9f3be6c4a40fc10e1595879 by ybrevnov
[NARY][NFC] New tests for upcoming changes.
The file was addedllvm/test/Transforms/NaryReassociate/nary-umin.ll
The file was addedllvm/test/Transforms/NaryReassociate/nary-smax.ll
The file was addedllvm/test/Transforms/NaryReassociate/nary-umax.ll
The file was addedllvm/test/Transforms/NaryReassociate/nary-smin.ll
Commit 93c8246952d08fc4640946a8cb4151d399ec1684 by Lang Hames
[docs][JITLink] Reintroduce JITLink design/API doc with fixes and improvements.

This document was originally introduced in ab4648504b2, and was reverted in
912bc4980e9 while I investigated a number of shpinx bot errors. This commit
reintroduces the document with fixes for those errors, as well as some
improvements to the wording and formatting.
The file was addedllvm/docs/JITLink.rst
The file was modifiedllvm/docs/UserGuides.rst
The file was modifiedllvm/docs/ORCv2.rst