[PATCH] D33733: CGCleanup: No need to do domination fixups for static allocas

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed May 31 12:58:54 PDT 2017


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





More information about the cfe-commits mailing list