LLVM 20.0.0git
Public Member Functions | List of all members
llvm::SimplifyCFGPass Class Reference

A pass to simplify and canonicalize the CFG of a function. More...

#include "llvm/Transforms/Scalar/SimplifyCFG.h"

Inheritance diagram for llvm::SimplifyCFGPass:
Inheritance graph
[legend]

Public Member Functions

 SimplifyCFGPass ()
 The default constructor sets the pass options to create canonical IR, rather than optimal IR.
 
 SimplifyCFGPass (const SimplifyCFGOptions &PassOptions)
 Construct a pass with optional optimizations.
 
PreservedAnalyses run (Function &F, FunctionAnalysisManager &AM)
 Run the pass over the function.
 
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 
- Public Member Functions inherited from llvm::PassInfoMixin< SimplifyCFGPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::PassInfoMixin< SimplifyCFGPass >
static StringRef name ()
 Gets the name of the pass we are mixed into.
 

Detailed Description

A pass to simplify and canonicalize the CFG of a function.

This pass iteratively simplifies the entire CFG of a function. It may change or remove control flow to put the CFG into a canonical form expected by other passes of the mid-level optimizer. Depending on the specified options, it may further optimize control-flow to create non-canonical forms.

Definition at line 29 of file SimplifyCFG.h.

Constructor & Destructor Documentation

◆ SimplifyCFGPass() [1/2]

SimplifyCFGPass::SimplifyCFGPass ( )

The default constructor sets the pass options to create canonical IR, rather than optimal IR.

That is, by default we bypass transformations that are likely to improve performance but make analysis for other passes more difficult.

Definition at line 335 of file SimplifyCFGPass.cpp.

References applyCommandLineOverridesToOptions().

◆ SimplifyCFGPass() [2/2]

SimplifyCFGPass::SimplifyCFGPass ( const SimplifyCFGOptions PassOptions)

Construct a pass with optional optimizations.

Definition at line 339 of file SimplifyCFGPass.cpp.

References applyCommandLineOverridesToOptions().

Member Function Documentation

◆ printPipeline()

void SimplifyCFGPass::printPipeline ( raw_ostream OS,
function_ref< StringRef(StringRef)>  MapClassName2PassName 
)

◆ run()

PreservedAnalyses SimplifyCFGPass::run ( Function F,
FunctionAnalysisManager AM 
)

The documentation for this class was generated from the following files: