llvm::SplitCriticalEdge

SplitCriticalEdge overloads

Synopses

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

Split the critical edge between two basic blocks if one exists.

BasicBlock*
SplitCriticalEdge(
    BasicBlock* Src,
    BasicBlock* Dst,
    CriticalEdgeSplittingOptions const& Options = CriticalEdgeSplittingOptions());
» more...

Split a critical edge from a terminator to one of its successors.

BasicBlock*
SplitCriticalEdge(
    Instruction* TI,
    unsigned int SuccNum,
    CriticalEdgeSplittingOptions const& Options = CriticalEdgeSplittingOptions(),
    Twine const& BBName = "");
» more...

Return Value

The new block if the edge was split, or null otherwise.

Parameters

NameDescription
SrcSource block of the edge.
DstDestination block of the edge.
OptionsAnalyses and policy controlling the split.
TITerminator whose outgoing edge may be split.
SuccNumIndex of the successor edge to split.
BBNameOptional name for the newly created block.