CIRCT  20.0.0git
Namespaces | Macros | Enumerations | Functions
Passes.h File Reference
#include "mlir/Pass/Pass.h"
#include "mlir/Pass/PassRegistry.h"
#include <memory>
#include <optional>
#include "circt/Dialect/FIRRTL/Passes.h.inc"
Include dependency graph for Passes.h:

Go to the source code of this file.

Namespaces

 mlir
 
 circt
 The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
 
 circt::firrtl
 
 circt::firrtl::PreserveAggregate
 Configure which aggregate values will be preserved by the LowerTypes pass.
 
 circt::firrtl::PreserveValues
 Configure which values will be explicitly preserved by the DropNames pass.
 

Macros

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

Enumerations

enum  circt::firrtl::PreserveAggregate::PreserveMode { circt::firrtl::PreserveAggregate::None , circt::firrtl::PreserveAggregate::OneDimVec , circt::firrtl::PreserveAggregate::Vec , circt::firrtl::PreserveAggregate::All }
 
enum  circt::firrtl::PreserveValues::PreserveMode { circt::firrtl::PreserveValues::Strip , circt::firrtl::PreserveValues::None , circt::firrtl::PreserveValues::Named , circt::firrtl::PreserveValues::All }
 
enum class  circt::firrtl::CompanionMode { circt::firrtl::Bind , circt::firrtl::Instantiate , circt::firrtl::Drop }
 

Functions

std::unique_ptr< mlir::Pass > circt::firrtl::createResolvePathsPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerFIRRTLAnnotationsPass (bool ignoreUnhandledAnnotations=false, bool ignoreClasslessAnnotations=false, bool noRefTypePorts=false, bool allowAddingPortsOnPublic=false)
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerOpenAggsPass ()
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerFIRRTLTypesPass (PreserveAggregate::PreserveMode mode=PreserveAggregate::None, PreserveAggregate::PreserveMode memoryMode=PreserveAggregate::None)
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerBundleVectorTypesPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerCHIRRTLPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerIntmodulesPass (bool fixupEICGWrapper=false)
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerIntrinsicsPass ()
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createIMConstPropPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createRemoveUnusedPortsPass (bool ignoreDontTouch=false)
 
std::unique_ptr< mlir::Pass > circt::firrtl::createInlinerPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createInferReadWritePass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createCreateSiFiveMetadataPass (bool replSeqMem=false, mlir::StringRef replSeqMemFile="")
 
std::unique_ptr< mlir::Pass > circt::firrtl::createVBToBVPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createAddSeqMemPortsPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createDedupPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createEliminateWiresPass ()
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createEmitOMIRPass (mlir::StringRef outputFilename="")
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerMatchesPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerSignaturesPass ()
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createPassiveWiresPass ()
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createExpandWhensPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createFlattenMemoryPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createInferWidthsPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createInferResetsPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerMemoryPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createMemToRegOfVecPass (bool replSeqMem=false, bool ignoreReadEnable=false)
 
std::unique_ptr< mlir::Pass > circt::firrtl::createPrefixModulesPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createFIRRTLFieldSourcePass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createPrintInstanceGraphPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createPrintNLATablePass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createBlackBoxReaderPass (std::optional< mlir::StringRef > inputPrefix={})
 
std::unique_ptr< mlir::Pass > circt::firrtl::createGrandCentralPass (CompanionMode companionMode=CompanionMode::Bind)
 
std::unique_ptr< mlir::Pass > circt::firrtl::createCheckCombLoopsPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createSFCCompatPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createMergeConnectionsPass (bool enableAggressiveMerging=false)
 
std::unique_ptr< mlir::Pass > circt::firrtl::createVectorizationPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createInjectDUTHierarchyPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createDropConstPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createDropNamesPass (PreserveValues::PreserveMode mode=PreserveValues::None)
 
std::unique_ptr< mlir::Pass > circt::firrtl::createExtractInstancesPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createIMDeadCodeElimPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createRandomizeRegisterInitPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createRegisterOptimizerPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerXMRPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createResolveTracesPass (mlir::StringRef outputAnnotationFilename="")
 
std::unique_ptr< mlir::Pass > circt::firrtl::createInnerSymbolDCEPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createFinalizeIRPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerClassesPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerLayersPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLayerMergePass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLayerSinkPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createAdvancedLayerSinkPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createMaterializeDebugInfoPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLintingPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createProbesToSignalsPass ()
 This is the pass constructor. More...
 
std::unique_ptr< mlir::Pass > circt::firrtl::createSpecializeLayersPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createSpecializeOptionPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createCreateCompanionAssume ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createModuleSummaryPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createLowerDPIPass ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createAssignOutputDirsPass (mlir::StringRef outputDir="")
 
std::unique_ptr< mlir::Pass > circt::firrtl::createCheckLayers ()
 
std::unique_ptr< mlir::Pass > circt::firrtl::createCheckRecursiveInstantiation ()
 

Macro Definition Documentation

◆ GEN_PASS_DECL

#define GEN_PASS_DECL

Definition at line 74 of file Passes.h.

◆ GEN_PASS_REGISTRATION

#define GEN_PASS_REGISTRATION

Generate the code for registering passes.

Definition at line 224 of file Passes.h.