This is an archive of the discontinued LLVM Phabricator instance.

[BasicBlockUtils] Allow critical edge splitting with callbr terminators
ClosedPublic

Authored by nikic on Jul 7 2022, 12:48 AM.

Details

Summary

After D129205, we support SplitBlockPredecessors() for predecessors with callbr terminators. This means that it is now also safe to invoke critical edge splitting for an edge coming from a callbr terminator. Remove checks in various passes that were protecting against that.

Diff Detail

Event Timeline

nikic created this revision.Jul 7 2022, 12:48 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 7 2022, 12:48 AM
nikic requested review of this revision.Jul 7 2022, 12:48 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 7 2022, 12:48 AM

My set of Linux kernel build and QEMU boot tests did not notice any issues with this change.

nickdesaulniers accepted this revision.Jul 7 2022, 1:23 PM
This revision is now accepted and ready to land.Jul 7 2022, 1:23 PM
This revision was landed with ongoing or failed builds.Jul 8 2022, 12:23 AM
This revision was automatically updated to reflect the committed changes.