[PATCH] D24234: [Coroutines] Part12: Handle alloca address-taken

Gor Nishanov via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 5 07:40:35 PDT 2016


GorNishanov created this revision.
GorNishanov added a reviewer: majnemer.
GorNishanov added a subscriber: llvm-commits.
Herald added a subscriber: mehdi_amini.

Move early uses of spilled variables after CoroBegin.

For example, if a parameter had address taken, we may end up with the code
like:
        define @f(i32 %n) {
          %n.addr = alloca i32
          store %n, %n.addr
          ...
          call @coro.begin

This patch fixes the problem by moving uses of spilled variables after CoroBegin.



https://reviews.llvm.org/D24234

Files:
  lib/Transforms/Coroutines/CoroFrame.cpp
  test/Transforms/Coroutines/ArgAddr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24234.70330.patch
Type: text/x-patch
Size: 4217 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160905/f2eacf7c/attachment.bin>


More information about the llvm-commits mailing list