summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
diff options
context:
space:
mode:
authorGor Nishanov <GorNishanov@gmail.com>2017-05-25 00:46:20 +0000
committerGor Nishanov <GorNishanov@gmail.com>2017-05-25 00:46:20 +0000
commit0ea1863b27a6ed31ead3fdb70cc5aaded44e9487 (patch)
treec1b3245a94c429958600796d014fe8d6e8b541e1 /llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
parent29b75d6986caa3f9c12667272d4c65f3c7610e24 (diff)
downloadbcm5719-llvm-0ea1863b27a6ed31ead3fdb70cc5aaded44e9487.tar.gz
bcm5719-llvm-0ea1863b27a6ed31ead3fdb70cc5aaded44e9487.zip
[coroutines] Relocate instructions that maybe spilled after coro.begin
Summary: Frontend generates store instructions after allocas, for example: ``` define i8* @f(i64 %this) "coroutine.presplit"="1" personality i32 0 { entry: %this.addr = alloca i64 store i64 %this, i64* %this.addr .. %hdl = call i8* @llvm.coro.begin(token %id, i8* %alloc) ``` Such instructions may require spilling into coro.frame, but, coro-frame address is only available after coro.begin and thus needs to be moved after coro.begin. The only instructions that should not be moved are the arguments of coro.begin and all of their operands. Reviewers: GorNishanov, majnemer Reviewed By: GorNishanov Subscribers: llvm-commits, EricWF Differential Revision: https://reviews.llvm.org/D33527 llvm-svn: 303825
Diffstat (limited to 'llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud