[PATCH] D88059: [Coroutine] Split PHI Nodes in `cleanuppad` blocks in a way that obeys EH pad rules

Gor Nishanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 22 13:35:03 PDT 2020


GorNishanov accepted this revision.
GorNishanov added a comment.
This revision is now accepted and ready to land.

LGTM.



================
Comment at: llvm/lib/Transforms/Coroutines/CoroFrame.cpp:1145
+  // cleanuppad.corodispatch
+  //    %2 = phi i8[0, %catchswitch], [1, %catch.1]
+  //    %3 = cleanuppad within none []
----------------
rnk wrote:
> Isn't this still a multi-valued phi node? Is it OK because it has constant arguments?
The use of %2 is in the same basic block as the definition for the phi, so it cannot cross a suspend point and therefore we will not try to spill and reload it.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D88059/new/

https://reviews.llvm.org/D88059



More information about the llvm-commits mailing list