Split the critical edge between two basic blocks if one exists.
Declared in <llvm/Transforms/Utils/BasicBlockUtils.h>
BasicBlock*
SplitCriticalEdge(
BasicBlock* Src,
BasicBlock* Dst,
CriticalEdgeSplittingOptions const& Options = CriticalEdgeSplittingOptions());
If an edge from Src to Dst is critical, split the edge and return the new block, otherwise return null. This method requires that there be an edge between the two blocks. It updates the analyses passed in the options struct.
The new block if the edge was split, or null otherwise.
| Name | Description |
|---|---|
| Src | Source block of the edge. |
| Dst | Destination block of the edge. |
| Options | Analyses and policy controlling the split. |