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

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 13 18:02:22 PDT 2020


efriedma 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.");
----------------
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.


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