[PATCH] D79605: MachineBasicBlock::updateTerminator now requires an explicit layout successor.

Heejin Ahn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 13 21:15:36 PDT 2020


aheejin added inline comments.


================
Comment at: llvm/lib/CodeGen/MachineBasicBlock.cpp:626
-    if ((*SI)->isEHPad() || *SI == TBB)
-      continue;
-    assert(!FallthroughBB && "Found more than one fallthrough successor.");
----------------
efriedma wrote:
> aheejin wrote:
> > Does this new patch handle when a given layout successor is an EH pad? I might be mistaken, but I think that case should be excluded. But while this code is deleted, I can't find a similar counterpart in the new CL.
> There are three possibilities here:
> 
> 1. The end of the block is unreachable.  This is case we discussed in the other comment.
> 2. We have fallthrough.  The original layout successor can't be an EHPad because it's illegal to fall through into an EHPad.
> 3. We don't have fallthrough.  In this case, the original layout successor is irrelevant.
I'm not sure about case 2; the reason is here: https://reviews.llvm.org/D79605#2035699


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79605





More information about the llvm-commits mailing list