1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib/Transforms/Coroutines
Xun Li 31f53a9f8c [Coroutine] Properly determine whether an alloca should live on the frame
The existing logic in determining whether an alloca should live on the frame only looks explicit def-use relationships. However a value defined by an alloca may be implicitly needed across suspension points, either because an alias has across-suspension-point def-use relationship, or escaped by store/call/memory intrinsics. To properly handle all these cases, we have to properly visit the alloca pointer up-front. Thie patch extends the exisiting alloca use visitor to determine whether an alloca should live on the frame.

Differential Revision: https://reviews.llvm.org/D89768
2020-10-29 23:56:05 -07:00
..
CMakeLists.txt [Coroutines] Reuse storage for local variables with non-overlapping lifetimes 2020-09-28 15:48:00 +08:00
CoroCleanup.cpp
CoroEarly.cpp
CoroElide.cpp
CoroFrame.cpp [Coroutine] Properly determine whether an alloca should live on the frame 2020-10-29 23:56:05 -07:00
CoroInstr.h [Alignment][NFC] Use proper getter to retrieve alignment from ConstantInt and ConstantSDNode 2020-07-03 08:06:43 +00:00
CoroInternal.h [Coroutines] Refactor/Rewrite Spill and Alloca processing 2020-10-10 22:21:34 -07:00
CoroSplit.cpp [Coroutines] Remove unused includes. NFC. 2020-09-28 10:27:23 +02:00
Coroutines.cpp [Coroutines] Reuse storage for local variables with non-overlapping lifetimes 2020-09-28 15:48:00 +08:00
LLVMBuild.txt