CIRCT  18.0.0git
Classes | Functions
circt::arc Namespace Reference

Classes

class  RuntimeCostEstimateDialectInterface
 A dialect interface to get runtime cost estimates of MLIR operations. More...
 
struct  ArcReducePatternDialectInterface
 A dialect interface to provide reduction patterns to a reducer tool. More...
 

Functions

void registerCombRuntimeCostEstimateInterface (mlir::DialectRegistry &registry)
 
void registerHWRuntimeCostEstimateInterface (mlir::DialectRegistry &registry)
 
void registerSCFRuntimeCostEstimateInterface (mlir::DialectRegistry &registry)
 
void initAllExternalInterfaces (mlir::DialectRegistry &registry)
 
std::unique_ptr< mlir::Pass > createAddTapsPass (std::optional< bool > tapPorts={}, std::optional< bool > tapWires={}, std::optional< bool > tapNamedValues={})
 
std::unique_ptr< mlir::Pass > createAllocateStatePass ()
 
std::unique_ptr< mlir::Pass > createArcCanonicalizerPass ()
 
std::unique_ptr< mlir::Pass > createDedupPass ()
 
std::unique_ptr< mlir::Pass > createGroupResetsAndEnablesPass ()
 
std::unique_ptr< mlir::Pass > createInferMemoriesPass (std::optional< bool > tapPorts={})
 
std::unique_ptr< mlir::Pass > createInferStatePropertiesPass ()
 
std::unique_ptr< mlir::Pass > createInlineArcsPass ()
 
std::unique_ptr< mlir::Pass > createInlineModulesPass ()
 
std::unique_ptr< mlir::Pass > createIsolateClocksPass ()
 
std::unique_ptr< mlir::Pass > createLatencyRetimingPass ()
 
std::unique_ptr< mlir::Pass > createLegalizeStateUpdatePass ()
 
std::unique_ptr< mlir::Pass > createLowerClocksToFuncsPass ()
 
std::unique_ptr< mlir::Pass > createLowerLUTPass ()
 
std::unique_ptr< mlir::Pass > createLowerStatePass ()
 
std::unique_ptr< mlir::Pass > createLowerVectorizationsPass (LowerVectorizationsModeEnum mode=LowerVectorizationsModeEnum::Full)
 
std::unique_ptr< mlir::Pass > createMakeTablesPass ()
 
std::unique_ptr< mlir::Pass > createMuxToControlFlowPass ()
 
std::unique_ptr< mlir::Pass > createPrintStateInfoPass (llvm::StringRef stateFile="")
 
std::unique_ptr< mlir::Pass > createSimplifyVariadicOpsPass ()
 
std::unique_ptr< mlir::Pass > createSplitLoopsPass ()
 
std::unique_ptr< mlir::Pass > createStripSVPass ()
 
void registerReducePatternDialectInterface (mlir::DialectRegistry &registry)
 Register the Arc Reduction pattern dialect interface to the given registry. More...
 

Function Documentation

◆ createAddTapsPass()

std::unique_ptr< Pass > circt::arc::createAddTapsPass ( std::optional< bool >  tapPorts = {},
std::optional< bool >  tapWires = {},
std::optional< bool >  tapNamedValues = {} 
)

Definition at line 97 of file AddTaps.cpp.

◆ createAllocateStatePass()

std::unique_ptr< Pass > circt::arc::createAllocateStatePass ( )

Definition at line 167 of file AllocateState.cpp.

◆ createArcCanonicalizerPass()

std::unique_ptr< mlir::Pass > circt::arc::createArcCanonicalizerPass ( )

◆ createDedupPass()

std::unique_ptr< Pass > circt::arc::createDedupPass ( )

◆ createGroupResetsAndEnablesPass()

std::unique_ptr< Pass > circt::arc::createGroupResetsAndEnablesPass ( )

Definition at line 222 of file GroupResetsAndEnables.cpp.

◆ createInferMemoriesPass()

std::unique_ptr< Pass > circt::arc::createInferMemoriesPass ( std::optional< bool >  tapPorts = {})

Definition at line 332 of file InferMemories.cpp.

◆ createInferStatePropertiesPass()

std::unique_ptr< Pass > circt::arc::createInferStatePropertiesPass ( )

Definition at line 475 of file InferStateProperties.cpp.

◆ createInlineArcsPass()

std::unique_ptr< Pass > circt::arc::createInlineArcsPass ( )

Definition at line 206 of file InlineArcs.cpp.

◆ createInlineModulesPass()

std::unique_ptr< Pass > circt::arc::createInlineModulesPass ( )

Definition at line 147 of file InlineModules.cpp.

◆ createIsolateClocksPass()

std::unique_ptr< Pass > circt::arc::createIsolateClocksPass ( )

Definition at line 225 of file IsolateClocks.cpp.

◆ createLatencyRetimingPass()

std::unique_ptr< Pass > circt::arc::createLatencyRetimingPass ( )

Definition at line 146 of file LatencyRetiming.cpp.

◆ createLegalizeStateUpdatePass()

std::unique_ptr< Pass > circt::arc::createLegalizeStateUpdatePass ( )

Definition at line 600 of file LegalizeStateUpdate.cpp.

◆ createLowerClocksToFuncsPass()

std::unique_ptr< Pass > circt::arc::createLowerClocksToFuncsPass ( )

Definition at line 203 of file LowerClocksToFuncs.cpp.

◆ createLowerLUTPass()

std::unique_ptr< Pass > circt::arc::createLowerLUTPass ( )

Definition at line 377 of file LowerLUT.cpp.

◆ createLowerStatePass()

std::unique_ptr< Pass > circt::arc::createLowerStatePass ( )

Definition at line 834 of file LowerState.cpp.

◆ createLowerVectorizationsPass()

std::unique_ptr< Pass > circt::arc::createLowerVectorizationsPass ( LowerVectorizationsModeEnum  mode = LowerVectorizationsModeEnum::Full)

Definition at line 284 of file LowerVectorizations.cpp.

◆ createMakeTablesPass()

std::unique_ptr< Pass > circt::arc::createMakeTablesPass ( )

Definition at line 185 of file MakeTables.cpp.

◆ createMuxToControlFlowPass()

std::unique_ptr< Pass > circt::arc::createMuxToControlFlowPass ( )

Definition at line 336 of file MuxToControlFlow.cpp.

◆ createPrintStateInfoPass()

std::unique_ptr<mlir::Pass> circt::arc::createPrintStateInfoPass ( llvm::StringRef  stateFile = "")

◆ createSimplifyVariadicOpsPass()

std::unique_ptr< Pass > circt::arc::createSimplifyVariadicOpsPass ( )

Definition at line 126 of file SimplifyVariadicOps.cpp.

◆ createSplitLoopsPass()

std::unique_ptr< Pass > circt::arc::createSplitLoopsPass ( )

Definition at line 407 of file SplitLoops.cpp.

◆ createStripSVPass()

std::unique_ptr< Pass > circt::arc::createStripSVPass ( )

◆ initAllExternalInterfaces()

void circt::arc::initAllExternalInterfaces ( mlir::DialectRegistry &  registry)
inline

◆ registerCombRuntimeCostEstimateInterface()

void circt::arc::registerCombRuntimeCostEstimateInterface ( mlir::DialectRegistry &  registry)

Definition at line 115 of file RuntimeCostEstimateInterfaceImpl.cpp.

Referenced by initAllExternalInterfaces().

◆ registerHWRuntimeCostEstimateInterface()

void circt::arc::registerHWRuntimeCostEstimateInterface ( mlir::DialectRegistry &  registry)

Definition at line 122 of file RuntimeCostEstimateInterfaceImpl.cpp.

Referenced by initAllExternalInterfaces().

◆ registerReducePatternDialectInterface()

void circt::arc::registerReducePatternDialectInterface ( mlir::DialectRegistry &  registry)

Register the Arc Reduction pattern dialect interface to the given registry.

Definition at line 63 of file ArcReductions.cpp.

◆ registerSCFRuntimeCostEstimateInterface()

void circt::arc::registerSCFRuntimeCostEstimateInterface ( mlir::DialectRegistry &  registry)

Definition at line 129 of file RuntimeCostEstimateInterfaceImpl.cpp.

Referenced by initAllExternalInterfaces().