[PATCH] D116330: [Coroutines] Handle lifetime markers, bitcast and unused instruciton for symmetric transfer

Chuanqi Xu via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 28 00:43:51 PST 2021


ChuanqiXu created this revision.
ChuanqiXu added reviewers: rjmccall, lxfind, aeubanks.
ChuanqiXu added a project: LLVM.
Herald added a subscriber: hiraditya.
ChuanqiXu requested review of this revision.
Herald added a subscriber: llvm-commits.

This fixes bug49888. The root cause for this is that `simplifyTerminatorLeadingToRet` didn't handle lifetime markers well. Another issue also noted in D116327 <https://reviews.llvm.org/D116327> is that we deleted some inlined optimization pass in CoroSplit so that  `simplifyTerminatorLeadingToRet` need to remove dead instructions by hand.

This patch fixes bug49888 by skipping lifetime markers and bitcast instruction and removing dead instructions by hand in `simplifyTerminatorLeadingToRet`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D116330

Files:
  llvm/lib/Transforms/Coroutines/CoroSplit.cpp
  llvm/test/Transforms/Coroutines/coro-split-musttail5.ll
  llvm/test/Transforms/Coroutines/coro-split-musttail6.ll
  llvm/test/Transforms/Coroutines/coro-split-musttail7.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D116330.396381.patch
Type: text/x-patch
Size: 5409 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20211228/05ac0067/attachment.bin>


More information about the llvm-commits mailing list