llvm::BreakCriticalEdgesPass

Pass that breaks critical edges in the CFG by inserting dummy basic blocks.

Synopsis

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

struct BreakCriticalEdgesPass
    : OptionalPassInfoMixin<BreakCriticalEdgesPass>

Description

This pass may be required by passes that cannot deal with critical edges. For that usage, the structure type is forward declared. This pass invalidates the CFG, but can update dominator trees.

Base Classes

NameDescription
OptionalPassInfoMixin<BreakCriticalEdgesPass>A CRTP mix-in for passes that can be skipped.

Member Functions

NameDescription
run Run the break-critical-edges pass over the function.

Static Member Functions

NameDescription
isRequired Return false; optional passes may be skipped.