[PATCH] D85279: [Coroutines] Use `Value::stripPointerCasts` to collect lifetime marker of `alloca` in CoroFrame

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 5 00:16:49 PDT 2020


ChuanqiXu created this revision.
ChuanqiXu added reviewers: junparser, lewissbaker, modocache.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
ChuanqiXu requested review of this revision.

In CoroFrame, we collect lifetime marker of an `alloca` by collect the user of `BitCast` who is the user of the `alloca`. However, either the `alloca` itself could be used with the lifetime marker or the `BitCast` of the `alloca` could be transformed to other instructions. (e.g., it may be transformed to all zero reps in `InstCombine` pass). This patch tries to fix these two little bugs.


https://reviews.llvm.org/D85279

Files:
  llvm/lib/Transforms/Coroutines/CoroFrame.cpp
  llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-03.ll
  llvm/test/Transforms/Coroutines/coro-split-sink-lifetime-04.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85279.283140.patch
Type: text/x-patch
Size: 9884 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200805/55cdc935/attachment.bin>


More information about the llvm-commits mailing list