teak-llvm/llvm/test/Transforms/Coroutines
Brian Gesiak 83a9321f60 [Coroutines] Remove corresponding phi values when apply simplifyTerminatorLeadingToRet
Summary:
In addMustTailToCoroResumes, we set musttail on those resume instructions that are followed by a ret instruction. This is done by simplifyTerminatorLeadingToRet which replace a sequence of branches leading to a ret with a clone of the ret.

However it forgets to remove corresponding PHI values that come from basic block of replaced branch, and may cause jumpthreading pass hangs (https://bugs.llvm.org/show_bug.cgi?id=43720)

This patch fix this issue

Test Plan:
cppcoro library with O3+flto
check-llvm

Reviewers: modocache, GorNishanov, lewissbaker

Reviewed By: modocache

Subscribers: mehdi_amini, EricWF, hiraditya, dexonsmith, jfb, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D71826

Patch by junparser (JunMa)!
2020-01-05 18:26:30 -05:00
..
ArgAddr.ll
coro-alloc-with-param.ll
coro-catchswitch.ll
coro-cleanup.ll
coro-debug.ll
coro-early.ll
coro-eh-aware-edge-split.ll
coro-elide.ll
coro-frame-arrayalloca.ll
coro-frame-unreachable.ll
coro-frame.ll
coro-heap-elide.ll
coro-materialize.ll
coro-padding.ll
coro-param-copy.ll
coro-retcon-alloca.ll
coro-retcon-once-value2.ll
coro-retcon-once-value.ll
coro-retcon-resume-values2.ll
coro-retcon-resume-values.ll
coro-retcon-value.ll
coro-retcon.ll
coro-spill-after-phi.ll
coro-spill-corobegin.ll
coro-split-00.ll
coro-split-01.ll
coro-split-02.ll
coro-split-alloc.ll
coro-split-dbg.ll
coro-split-eh.ll
coro-split-hidden.ll
coro-split-musttail1.ll [Coroutines] Remove corresponding phi values when apply simplifyTerminatorLeadingToRet 2020-01-05 18:26:30 -05:00
coro-split-musttail.ll [Coroutines] Remove corresponding phi values when apply simplifyTerminatorLeadingToRet 2020-01-05 18:26:30 -05:00
coro-swifterror.ll
ex0.ll
ex1.ll
ex2.ll
ex3.ll
ex4.ll
ex5.ll
no-suspend.ll
phi-coro-end.ll
restart-trigger.ll
smoketest.ll