[all-commits] [llvm/llvm-project] 2e4c5d: CoroSplit: Fix coroutine splitting for retcon and ...
Arnold Schwaighofer via All-commits
all-commits at lists.llvm.org
Wed Jun 3 12:12:49 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 2e4c5d1c483a986dbb3fc6486bdb2f0eb2adc8c8
https://github.com/llvm/llvm-project/commit/2e4c5d1c483a986dbb3fc6486bdb2f0eb2adc8c8
Author: Arnold Schwaighofer <aschwaighofer at apple.com>
Date: 2020-06-03 (Wed, 03 Jun 2020)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
A llvm/test/Transforms/Coroutines/coro-retcon-frame.ll
Log Message:
-----------
CoroSplit: Fix coroutine splitting for retcon and retcon.once
Summary:
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 has issues with casts before and
uses of those casts after the coro.begin instruction)
%alloca_addr = alloca ...
%escape = ptrtoint %alloca_addr
coro.begin
store %escape to %alloca_addr
rdar://60272809
Subscribers: hiraditya, modocache, mgrang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D81023
More information about the All-commits
mailing list