MLIR  20.0.0git
Namespaces | Macros | Functions
Passes.h File Reference
#include "mlir/Pass/Pass.h"
#include "mlir/Pass/PassManager.h"
#include "mlir/Transforms/GreedyPatternRewriteDriver.h"
#include "mlir/Transforms/LocationSnapshot.h"
#include "mlir/Transforms/ViewOpGraph.h"
#include "llvm/Support/Debug.h"
#include <limits>
#include <memory>
#include "mlir/Transforms/Passes.h.inc"

Go to the source code of this file.

Namespaces

 mlir
 Include the generated interface declarations.
 

Macros

#define GEN_PASS_DECL_CANONICALIZER
 
#define GEN_PASS_DECL_CONTROLFLOWSINK
 
#define GEN_PASS_DECL_CSE
 
#define GEN_PASS_DECL_INLINER
 
#define GEN_PASS_DECL_LOOPINVARIANTCODEMOTION
 
#define GEN_PASS_DECL_MEM2REG
 
#define GEN_PASS_DECL_PRINTIRPASS
 
#define GEN_PASS_DECL_PRINTOPSTATS
 
#define GEN_PASS_DECL_SROA
 
#define GEN_PASS_DECL_STRIPDEBUGINFO
 
#define GEN_PASS_DECL_SCCP
 
#define GEN_PASS_DECL_SYMBOLDCE
 
#define GEN_PASS_DECL_SYMBOLPRIVATIZE
 
#define GEN_PASS_DECL_TOPOLOGICALSORT
 
#define GEN_PASS_DECL_COMPOSITEFIXEDPOINTPASS
 
#define GEN_PASS_REGISTRATION
 Generate the code for registering passes. More...
 

Functions

std::unique_ptr< Passmlir::createCanonicalizerPass ()
 Creates an instance of the Canonicalizer pass, configured with default settings (which can be overridden by pass options on the command line). More...
 
std::unique_ptr< Passmlir::createCanonicalizerPass (const GreedyRewriteConfig &config, ArrayRef< std::string > disabledPatterns=std::nullopt, ArrayRef< std::string > enabledPatterns=std::nullopt)
 Creates an instance of the Canonicalizer pass with the specified config. More...
 
std::unique_ptr< Passmlir::createControlFlowSinkPass ()
 Creates a pass to perform control-flow sinking. More...
 
std::unique_ptr< Passmlir::createCSEPass ()
 Creates a pass to perform common sub expression elimination. More...
 
std::unique_ptr< Pass > mlir::createPrintIRPass (const PrintIRPassOptions &={})
 Creates a pass to print IR on the debug stream. More...
 
std::unique_ptr< Passmlir::createGenerateRuntimeVerificationPass ()
 Creates a pass that generates IR to verify ops at runtime. More...
 
std::unique_ptr< Passmlir::createLoopInvariantCodeMotionPass ()
 Creates a loop invariant code motion pass that hoists loop invariant instructions out of the loop. More...
 
std::unique_ptr< Passmlir::createLoopInvariantSubsetHoistingPass ()
 Creates a pass that hoists loop-invariant subset ops. More...
 
std::unique_ptr< Passmlir::createStripDebugInfoPass ()
 Creates a pass to strip debug information from a function. More...
 
std::unique_ptr< Passmlir::createPrintOpStatsPass (raw_ostream &os=llvm::errs())
 Creates a pass which prints the list of ops and the number of occurrences in the module. More...
 
std::unique_ptr< Passmlir::createPrintOpStatsPass (raw_ostream &os, bool printAsJSON)
 Creates a pass which prints the list of ops and the number of occurrences in the module with the output format option. More...
 
std::unique_ptr< Passmlir::createInlinerPass ()
 Creates a pass which inlines calls and callable operations as defined by the CallGraph. More...
 
std::unique_ptr< Passmlir::createInlinerPass (llvm::StringMap< OpPassManager > opPipelines)
 Creates an instance of the inliner pass, and use the provided pass managers when optimizing callable operations with names matching the key type. More...
 
std::unique_ptr< Passmlir::createInlinerPass (llvm::StringMap< OpPassManager > opPipelines, std::function< void(OpPassManager &)> defaultPipelineBuilder)
 Creates an instance of the inliner pass, and use the provided pass managers when optimizing callable operations with names matching the key type. More...
 
std::unique_ptr< Passmlir::createRemoveDeadValuesPass ()
 Creates an optimization pass to remove dead values. More...
 
std::unique_ptr< Passmlir::createSCCPPass ()
 Creates a pass which performs sparse conditional constant propagation over nested operations. More...
 
std::unique_ptr< Passmlir::createSymbolDCEPass ()
 Creates a pass which delete symbol operations that are unreachable. More...
 
std::unique_ptr< Passmlir::createSymbolPrivatizePass (ArrayRef< std::string > excludeSymbols={})
 Creates a pass which marks top-level symbol operations as private unless listed in excludeSymbols. More...
 
std::unique_ptr< Passmlir::createTopologicalSortPass ()
 Creates a pass that recursively sorts nested regions without SSA dominance topologically such that, as much as possible, users of values appear after their producers. More...
 
std::unique_ptr< Passmlir::createCompositeFixedPointPass (std::string name, llvm::function_ref< void(OpPassManager &)> populateFunc, int maxIterations=10)
 Create composite pass, which runs provided set of passes until fixed point or maximum number of iterations reached. More...
 

Macro Definition Documentation

◆ GEN_PASS_DECL_CANONICALIZER

#define GEN_PASS_DECL_CANONICALIZER

Definition at line 34 of file Passes.h.

◆ GEN_PASS_DECL_COMPOSITEFIXEDPOINTPASS

#define GEN_PASS_DECL_COMPOSITEFIXEDPOINTPASS

Definition at line 48 of file Passes.h.

◆ GEN_PASS_DECL_CONTROLFLOWSINK

#define GEN_PASS_DECL_CONTROLFLOWSINK

Definition at line 35 of file Passes.h.

◆ GEN_PASS_DECL_CSE

#define GEN_PASS_DECL_CSE

Definition at line 36 of file Passes.h.

◆ GEN_PASS_DECL_INLINER

#define GEN_PASS_DECL_INLINER

Definition at line 37 of file Passes.h.

◆ GEN_PASS_DECL_LOOPINVARIANTCODEMOTION

#define GEN_PASS_DECL_LOOPINVARIANTCODEMOTION

Definition at line 38 of file Passes.h.

◆ GEN_PASS_DECL_MEM2REG

#define GEN_PASS_DECL_MEM2REG

Definition at line 39 of file Passes.h.

◆ GEN_PASS_DECL_PRINTIRPASS

#define GEN_PASS_DECL_PRINTIRPASS

Definition at line 40 of file Passes.h.

◆ GEN_PASS_DECL_PRINTOPSTATS

#define GEN_PASS_DECL_PRINTOPSTATS

Definition at line 41 of file Passes.h.

◆ GEN_PASS_DECL_SCCP

#define GEN_PASS_DECL_SCCP

Definition at line 44 of file Passes.h.

◆ GEN_PASS_DECL_SROA

#define GEN_PASS_DECL_SROA

Definition at line 42 of file Passes.h.

◆ GEN_PASS_DECL_STRIPDEBUGINFO

#define GEN_PASS_DECL_STRIPDEBUGINFO

Definition at line 43 of file Passes.h.

◆ GEN_PASS_DECL_SYMBOLDCE

#define GEN_PASS_DECL_SYMBOLDCE

Definition at line 45 of file Passes.h.

◆ GEN_PASS_DECL_SYMBOLPRIVATIZE

#define GEN_PASS_DECL_SYMBOLPRIVATIZE

Definition at line 46 of file Passes.h.

◆ GEN_PASS_DECL_TOPOLOGICALSORT

#define GEN_PASS_DECL_TOPOLOGICALSORT

Definition at line 47 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 147 of file Passes.h.