[PATCH] D76913: [Coroutines 2/2] Improve symmetric control transfer feature
JunMa via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 27 03:10:30 PDT 2020
junparser created this revision.
junparser added reviewers: modocache, GorNishanov, lewissbaker, wenlei, rsmith.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
junparser added a parent revision: D76911: [Coroutines 1/2] Improve symmetric control transfer feature .
junparser edited the summary of this revision.
This patch implements part 2 described in https://reviews.llvm.org/D76911 which handle conditional branch in simplifyTerminatorLeadingToRet
We do not use LazyValueInfo to handle this since it is too heavy here. Instead, when case number of suspend switch instruction is reduced to 1, llvm::ConstantFoldTerminator simplifies it to 'icmp eq' , so we only need handle this.
@lewissbaker, the two patches fix the stack overflow failure.
TestPlan: check-llvm , cppcoro
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D76913
Files:
llvm/lib/Transforms/Coroutines/CoroSplit.cpp
llvm/test/Transforms/Coroutines/coro-split-musttail3.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76913.253061.patch
Type: text/x-patch
Size: 5986 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200327/600dc048/attachment.bin>
More information about the llvm-commits
mailing list