1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
llvm-mirror/lib/Transforms/Coroutines
Arnold Schwaighofer 317416bce1 [coro] Fix rematerializable instruction sinking to coro.suspend blocks
There is a constraint that coro.suspend instructions need to be in their
own blocks. The coro split pass initially creates IR that obeys this constraint
(which is later checked). Sinking rematerializable instructions into these
blocks breaks that constraint.

Instead rematerialize in the predecessor block to the suspend's single
predecessor block.

Differential Revision: https://reviews.llvm.org/D104051
2021-06-28 09:37:45 -07:00
..
CMakeLists.txt
CoroCleanup.cpp Add @llvm.coro.async.size.replace intrinsic. 2021-02-23 06:43:52 -08:00
CoroEarly.cpp [Coroutine] Properly deal with byval and noalias parameters 2021-06-17 19:06:10 -07:00
CoroElide.cpp [Coroutine] Collect CoroBegin if all of terminators are dominated by one coro.destroy 2021-04-22 11:21:37 +08:00
CoroFrame.cpp [coro] Fix rematerializable instruction sinking to coro.suspend blocks 2021-06-28 09:37:45 -07:00
CoroInstr.h [coro async] Allow a coro.suspend.async to specify which argument is the context argument 2021-03-03 08:27:37 -08:00
CoroInternal.h [Coroutines] Salvege Debug.values 2021-05-13 13:06:33 +08:00
CoroSplit.cpp [coro] Preserve scope line for compiler generated functions 2021-06-02 15:57:12 -07:00
Coroutines.cpp Add @llvm.coro.async.size.replace intrinsic. 2021-02-23 06:43:52 -08:00