[PATCH] D81023: CoroSplit: Fix coroutine splitting for retcon and retcon once
Arnold Schwaighofer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 2 12:05:18 PDT 2020
aschwaighofer created this revision.
Herald added subscribers: llvm-commits, mgrang, modocache, hiraditya.
Herald added a project: LLVM.
aschwaighofer added a reviewer: rjmccall.
For retcon and retcon.once coroutines we assume that all uses of spills
can be sunk past coro.begin. This simplifies handling of instructions
that escape the address of an alloca.
The current implementation would have issues if the address of the
alloca is escaped before coro.begin. (It also have issues with casts
before the coro.begin and uses of those casts after the coro.begin)
%alloca_addr = alloca ...
%escape = ptrtoint %alloca_addr
coro.begin
store %escape to %alloca_addr
rdar://60272809
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D81023
Files:
llvm/lib/Transforms/Coroutines/CoroFrame.cpp
llvm/test/Transforms/Coroutines/coro-retcon-frame.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81023.267946.patch
Type: text/x-patch
Size: 6518 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200602/d9c6353a/attachment.bin>
More information about the llvm-commits
mailing list