[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