rnk accepted this revision.
rnk added inline comments.
This revision is now accepted and ready to land.
================
Comment at: test/CodeGenCoroutines/coro-await-domination.cpp:33
+ int x = 42;
+ x = co_await A{};
+}
----------------
rnk wrote:
> It looks like this is the expression in question. This expression should have
> aggregate evaluation kind, not scalar. We don't need to reload aggregate
> expression evaluation results because they are represented with temporary
> allocas, and they don't have dominance problems. It seems like there is an
> incorrect call to PopCleanupBlocks somewhere, and that's where the real fix
> should be.
OK, nevermind. I found a way to reproduce this issue with gnu statement
expressions, and after trying to fix it at a higher level, I decided the way
you are fixing it is better. I went ahead and landed the fix along with my test
cases. Please go ahead and land the coroutines test, though. More coverage is
better.
https://reviews.llvm.org/D33733
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits