CIRCT  20.0.0git
Classes | Namespaces | Macros | Enumerations | Functions
Passes.h File Reference
#include "circt/Dialect/HW/HWOpInterfaces.h"
#include "mlir/Dialect/Affine/IR/AffineOps.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/Pass/Pass.h"
#include <limits>
#include "circt/Transforms/Passes.h.inc"
Include dependency graph for Passes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  circt::SSAMaximizationStrategy
 Strategy class to control the behavior of SSA maximization. More...
 

Namespaces

 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 

Macros

#define GEN_PASS_DECL
 
#define GEN_PASS_REGISTRATION
 Generate the code for registering passes. More...
 

Enumerations

enum class  circt::OpCountEmissionFormat { circt::Readable , circt::ReadableSorted , circt::JSON }
 

Functions

std::unique_ptr< mlir::Pass > circt::createMapArithToCombPass ()
 
std::unique_ptr< mlir::Pass > circt::createFlattenMemRefPass ()
 
std::unique_ptr< mlir::Pass > circt::createFlattenMemRefCallsPass ()
 
std::unique_ptr< mlir::Pass > circt::createStripDebugInfoWithPredPass (const std::function< bool(mlir::Location)> &pred)
 Creates a pass to strip debug information from a function. More...
 
std::unique_ptr< mlir::Pass > circt::createMaximizeSSAPass ()
 
std::unique_ptr< mlir::Pass > circt::createInsertMergeBlocksPass ()
 
std::unique_ptr< mlir::Pass > circt::createPrintOpCountPass ()
 
std::unique_ptr< mlir::Pass > circt::createMemoryBankingPass (std::optional< unsigned > bankingFactor=std::nullopt)
 
std::unique_ptr< mlir::Pass > circt::createIndexSwitchToIfPass ()
 
bool circt::isUniDimensional (mlir::MemRefType memref)
 
bool circt::isRegionSSAMaximized (Region &region)
 
LogicalResult circt::maximizeSSA (Value value, PatternRewriter &rewriter)
 Converts a single value within a function into maximal SSA form. More...
 
LogicalResult circt::maximizeSSA (Operation *op, SSAMaximizationStrategy &strategy, PatternRewriter &rewriter)
 Considers all of an operation's results for SSA maximization, following a provided strategy. More...
 
LogicalResult circt::maximizeSSA (Block *block, SSAMaximizationStrategy &strategy, PatternRewriter &rewriter)
 Considers all values defined by a block (i.e., block arguments and operation results within the block) for SSA maximization, following a provided strategy. More...
 
LogicalResult circt::maximizeSSA (Region &region, SSAMaximizationStrategy &strategy, PatternRewriter &rewriter)
 Considers all blocks within a region for SSA maximization, following a provided strategy. More...
 
mlir::LogicalResult circt::insertMergeBlocks (mlir::Region &r, mlir::ConversionPatternRewriter &rewriter)
 Insert additional blocks that serve as counterparts to the blocks that diverged the control flow. More...
 

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 28 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 131 of file Passes.h.