llvm::createCFGSimplificationPass

Create a pass that simplifies the CFG of a function.

Synopsis

Declared in <llvm/Transforms/Scalar.h>

FunctionPass*
createCFGSimplificationPass(
    SimplifyCFGOptions Options = SimplifyCFGOptions(),
    std::function<bool(Function const&)> Ftor = nullptr);

Description

Merges basic blocks, eliminates unreachable blocks, simplifies terminators, converts switches to lookup tables, and related cleanups.

Return Value

The newly created FunctionPass.

Parameters

NameDescription
OptionsConfiguration for which CFG simplifications to apply.
FtorOptional predicate; when set, only functions for which it returns true are simplified.