[PATCH] D40699: Split IndirectBr critical edges before PGO gen/use passes.

Hiroshi Yamauchi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 1 11:38:32 PST 2017


yamauchi added a comment.

In https://reviews.llvm.org/D40699#941591, @efriedma wrote:

> > The PGO gen/use passes currently fail with an assert failure if there's a critical edge whose source is an IndirectBr instruction.
>
> findIBRPredecessor will fail for blocks with multiple multiple indirectbr predecessors.  And then you're back at square one, with an assertion failure.


True. This change (and SplitIndirectBrCriticalEdges) isn't intended to handle all possible cases (see the comment in BasicBlockUtils.h). It's an improvement in that it can handle single indirectbr predecessor cases.


https://reviews.llvm.org/D40699





More information about the llvm-commits mailing list