llvm-project/llvm/lib/Transforms/Coroutines
Chuanqi Xu 2c61848c9d [Coroutines] Handle the writes to promise alloca prior to
llvm.coro.begin

Previously we've taken care of the writes to allocas prior to llvm.coro.begin.
However, since the promise alloca is special so that we never handled it
before. For the long time, since the programmers can't access the
promise_type due to the c++ language specification, we still failed to
recognize the problem until a recent report:
https://github.com/llvm/llvm-project/issues/57861

And we've tested many codes that the problem gone away after we handle
the writes to the promise alloca prior to @llvm.coro.begin()
prope until a recent report:
https://github.com/llvm/llvm-project/issues/57861

And we've tested many codes that the problem gone away after we handle
the writes to the promise alloca prior to @llvm.coro.begin() properly.

Closes https://github.com/llvm/llvm-project/issues/57861
2022-11-18 15:39:39 +08:00
..
CMakeLists.txt [PassManager][Coroutine] Run passes under -O0 conditionally and run GlobalDCE 2022-03-23 11:03:26 -07:00
CoroCleanup.cpp [coro async] Add missing llvm.coro.id.async intrinsic to declaresCoroCleanupIntrinsics 2022-07-19 07:25:04 -07:00
CoroConditionalWrapper.cpp [PrintPipeline] Handle CoroConditionalWrapper and add more verification 2022-10-12 09:36:45 -07:00
CoroEarly.cpp [Coro][Debuginfo] Add debug info to `__NoopCoro_ResumeDestroy` function 2022-08-26 05:49:52 -07:00
CoroElide.cpp [llvm] Qualify auto (NFC) 2022-08-07 23:55:27 -07:00
CoroFrame.cpp [Coroutines] Handle the writes to promise alloca prior to 2022-11-18 15:39:39 +08:00
CoroInstr.h [Coroutines] Offering llvm.coro.align intrinsic 2022-01-19 09:52:45 +08:00
CoroInternal.h [Coroutines] Store the index for final suspend point if there is unwind coro end 2022-08-26 14:05:46 +08:00
CoroSplit.cpp [Transforms] Qualify auto in range-based for loops (NFC) 2022-08-27 21:21:02 -07:00
Coroutines.cpp [Transforms] Qualify auto in range-based for loops (NFC) 2022-08-27 21:21:02 -07:00