[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-23 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov closed this revision. GorNishanov added a comment. Closed by commit https://reviews.llvm.org/rL303716: [coroutines] Implement correct GRO lifetime (authored by GorNishanov) https://reviews.llvm.org/D31670 ___ cfe-commits mailing list cf

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-23 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov accepted this revision. GorNishanov added a comment. This revision is now accepted and ready to land. Landed as: https://reviews.llvm.org/rL303716 https://reviews.llvm.org/D31670 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-23 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 100027. GorNishanov added a comment. merge with tot, preparing to land https://reviews.llvm.org/D31670 Files: lib/CodeGen/CGCoroutine.cpp test/CodeGenCoroutines/coro-gro.cpp Index: test/CodeGenCoroutines/coro-gro.cpp ===

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-23 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 99923. GorNishanov added a comment. merge to top of the trunk https://reviews.llvm.org/D31670 Files: lib/CodeGen/CGCoroutine.cpp test/CodeGenCoroutines/coro-gro.cpp Index: test/CodeGenCoroutines/coro-gro.cpp

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-23 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 99911. GorNishanov added a comment. merged with top of the trunk https://reviews.llvm.org/D31670 Files: lib/CodeGen/CGCoroutine.cpp test/CodeGenCoroutines/coro-gro.cpp Index: test/CodeGenCoroutines/coro-gro.cpp =

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-22 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov marked an inline comment as done. GorNishanov added a comment. @rsmith, better now? :) https://reviews.llvm.org/D31670 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-22 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov updated this revision to Diff 99837. GorNishanov added a comment. Remember old_top before emitting the cleanup and walk set Active on all emitted cleanups. I tried to add Active flag to Emission, but it ended up being very hairy, so I went with the first option suggested. https://r

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-05-22 Thread Richard Smith via Phabricator via cfe-commits
rsmith added inline comments. Comment at: lib/CodeGen/CGCoroutine.cpp:273 + +// FIXME: There must be a cleaner way to do this! +if (auto *Cleanup = dyn_cast_or_null(&*CGF.EHStack.begin())) { It doesn't seem safe to assume that a prior `EHCleanupScope` wo

[PATCH] D31670: [coroutines] Implement correct GRO lifetime

2017-04-04 Thread Gor Nishanov via Phabricator via cfe-commits
GorNishanov created this revision. Herald added a subscriber: EricWF. Sema creates a declaration for gro variable as: auto $gro = $promise.get_return_object(); However, gro variable has to outlive coroutine frame and coroutine promise, but, it can only be initialized after the coroutine promis