[PATCH] D88438: BreakCriticalEdges: bail if loop-simplify form requested for CallBr terminated BB

Bill Wendling via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 19:23:50 PDT 2020


void added a comment.

In D88438#2304953 <https://reviews.llvm.org/D88438#2304953>, @nickdesaulniers wrote:

> In D88438#2304941 <https://reviews.llvm.org/D88438#2304941>, @void wrote:
>
>> I believe that a critical edge may be split on the default path, but not the indirect path.
>
> I don't think https://github.com/llvm/llvm-project/commit/2fe457690da0fc38bc7f9f1d0aee2ba6a6a16ada made a similar distinction?

Yeah. I made an error there...

> I think if I add a `bool CallBrInst::isIndirectDest(BasicBlock&);` method, I would be able to use that here and in the above cases linked without regressing the test case added in the above link.

It should be enough that the block isn't the default destination. (Though recent bug reports seem troubling for this.)

I don't know if it's important enough to allow splitting default edges right now. It may be okay to wait.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88438



More information about the llvm-commits mailing list