Split an edge when the successor is an exception‐handling block.

Synopsis

Declared in <llvm/Transforms/Utils/BasicBlockUtils.h>

BasicBlock*
ehAwareSplitEdge(
    BasicBlock* BB,
    BasicBlock* Succ,
    LandingPadInst* OriginalPad = nullptr,
    PHINode* LandingPadReplacement = nullptr,
    CriticalEdgeSplittingOptions const& Options = CriticalEdgeSplittingOptions(),
    Twine const& BBName = "");

Return Value

The newly created block that splits the EH edge.

Parameters

Name

Description

BB

Source block of the edge.

Succ

Exception‐handling successor block.

OriginalPad

Optional original landing pad associated with the edge.

LandingPadReplacement

Optional PHI that replaces the landing pad.

Options

Analyses and policy controlling the split.

BBName

Optional name for the newly created block.

Created with MrDocs