CIRCT
20.0.0git
|
Classes | |
struct | OperationCosts |
class | ArcCostModel |
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... | |
struct | StateInfo |
Gathers information about a given Arc state. More... | |
struct | ModelInfo |
Gathers information about a given Arc model. More... | |
Functions | |
void | registerCombRuntimeCostEstimateInterface (mlir::DialectRegistry ®istry) |
void | registerHWRuntimeCostEstimateInterface (mlir::DialectRegistry ®istry) |
void | registerSCFRuntimeCostEstimateInterface (mlir::DialectRegistry ®istry) |
void | initAllExternalInterfaces (mlir::DialectRegistry ®istry) |
std::unique_ptr< mlir::Pass > | createAddTapsPass (const AddTapsOptions &options={}) |
std::unique_ptr< mlir::Pass > | createAllocateStatePass () |
std::unique_ptr< mlir::Pass > | createArcCanonicalizerPass () |
std::unique_ptr< mlir::Pass > | createDedupPass () |
std::unique_ptr< mlir::Pass > | createFindInitialVectorsPass () |
std::unique_ptr< mlir::Pass > | createGroupResetsAndEnablesPass () |
std::unique_ptr< mlir::Pass > | createInferMemoriesPass (const InferMemoriesOptions &options={}) |
std::unique_ptr< mlir::Pass > | createInlineArcsPass () |
std::unique_ptr< mlir::Pass > | createIsolateClocksPass () |
std::unique_ptr< mlir::Pass > | createLatencyRetimingPass () |
std::unique_ptr< mlir::Pass > | createLegalizeStateUpdatePass () |
std::unique_ptr< mlir::Pass > | createLowerArcsToFuncsPass () |
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 > | createPrintCostModelPass () |
std::unique_ptr< mlir::Pass > | createSimplifyVariadicOpsPass () |
std::unique_ptr< mlir::Pass > | createSplitLoopsPass () |
std::unique_ptr< mlir::Pass > | createStripSVPass () |
void | registerReducePatternDialectInterface (mlir::DialectRegistry ®istry) |
Register the Arc Reduction pattern dialect interface to the given registry. More... | |
mlir::LogicalResult | collectStates (mlir::Value storage, unsigned offset, llvm::SmallVector< StateInfo > &states) |
Collects information about states within the provided Arc model storage storage , assuming default offset , and adds it to states . More... | |
mlir::LogicalResult | collectModels (mlir::ModuleOp module, llvm::SmallVector< ModelInfo > &models) |
Collects information about all Arc models in the provided module , and adds it to models . More... | |
void | serializeModelInfoToJson (llvm::raw_ostream &outputStream, llvm::ArrayRef< ModelInfo > models) |
Serializes models to outputStream in JSON format. More... | |
mlir::LogicalResult | collectAndExportModelInfo (mlir::ModuleOp module, llvm::raw_ostream &os) |
Collects and exports Arc model info to JSON. More... | |
void | registerArcModelInfoTranslation () |
Registers CIRCT translation from Arc to JSON model info. More... | |
mlir::LogicalResult circt::arc::collectAndExportModelInfo | ( | mlir::ModuleOp | module, |
llvm::raw_ostream & | os | ||
) |
Collects and exports Arc model info to JSON.
Referenced by registerArcModelInfoTranslation().
mlir::LogicalResult circt::arc::collectModels | ( | mlir::ModuleOp | module, |
llvm::SmallVector< ModelInfo > & | models | ||
) |
Collects information about all Arc models in the provided module
, and adds it to models
.
mlir::LogicalResult circt::arc::collectStates | ( | mlir::Value | storage, |
unsigned | offset, | ||
llvm::SmallVector< StateInfo > & | states | ||
) |
Collects information about states within the provided Arc model storage storage
, assuming default offset
, and adds it to states
.
std::unique_ptr< Pass > circt::arc::createAddTapsPass | ( | const AddTapsOptions & | options = {} | ) |
Definition at line 103 of file AddTaps.cpp.
std::unique_ptr< Pass > circt::arc::createAllocateStatePass | ( | ) |
Definition at line 167 of file AllocateState.cpp.
std::unique_ptr< mlir::Pass > circt::arc::createArcCanonicalizerPass | ( | ) |
Definition at line 822 of file ArcCanonicalizer.cpp.
Referenced by circt::arc::ArcReducePatternDialectInterface::populateReducePatterns().
std::unique_ptr< Pass > circt::arc::createDedupPass | ( | ) |
Definition at line 744 of file Dedup.cpp.
Referenced by circt::firtool::populateCHIRRTLToLowFIRRTL(), and circt::arc::ArcReducePatternDialectInterface::populateReducePatterns().
std::unique_ptr< Pass > circt::arc::createFindInitialVectorsPass | ( | ) |
Definition at line 277 of file FindInitialVectors.cpp.
std::unique_ptr< Pass > circt::arc::createGroupResetsAndEnablesPass | ( | ) |
Definition at line 222 of file GroupResetsAndEnables.cpp.
std::unique_ptr< Pass > circt::arc::createInferMemoriesPass | ( | const InferMemoriesOptions & | options = {} | ) |
Definition at line 332 of file InferMemories.cpp.
std::unique_ptr< Pass > circt::arc::createInlineArcsPass | ( | ) |
Definition at line 359 of file InlineArcs.cpp.
std::unique_ptr< Pass > circt::arc::createIsolateClocksPass | ( | ) |
Definition at line 225 of file IsolateClocks.cpp.
std::unique_ptr< Pass > circt::arc::createLatencyRetimingPass | ( | ) |
Definition at line 208 of file LatencyRetiming.cpp.
std::unique_ptr< Pass > circt::arc::createLegalizeStateUpdatePass | ( | ) |
Definition at line 595 of file LegalizeStateUpdate.cpp.
std::unique_ptr< Pass > circt::arc::createLowerArcsToFuncsPass | ( | ) |
Definition at line 136 of file LowerArcsToFuncs.cpp.
std::unique_ptr< Pass > circt::arc::createLowerClocksToFuncsPass | ( | ) |
Definition at line 271 of file LowerClocksToFuncs.cpp.
std::unique_ptr< Pass > circt::arc::createLowerLUTPass | ( | ) |
Definition at line 377 of file LowerLUT.cpp.
std::unique_ptr< Pass > circt::arc::createLowerStatePass | ( | ) |
Definition at line 956 of file LowerState.cpp.
std::unique_ptr< Pass > circt::arc::createLowerVectorizationsPass | ( | LowerVectorizationsModeEnum | mode = LowerVectorizationsModeEnum::Full | ) |
Definition at line 284 of file LowerVectorizations.cpp.
std::unique_ptr< Pass > circt::arc::createMakeTablesPass | ( | ) |
Definition at line 185 of file MakeTables.cpp.
std::unique_ptr< Pass > circt::arc::createMuxToControlFlowPass | ( | ) |
Definition at line 336 of file MuxToControlFlow.cpp.
std::unique_ptr< Pass > circt::arc::createPrintCostModelPass | ( | ) |
Definition at line 54 of file PrintCostModel.cpp.
std::unique_ptr< Pass > circt::arc::createSimplifyVariadicOpsPass | ( | ) |
Definition at line 126 of file SimplifyVariadicOps.cpp.
std::unique_ptr< Pass > circt::arc::createSplitLoopsPass | ( | ) |
Definition at line 426 of file SplitLoops.cpp.
std::unique_ptr< Pass > circt::arc::createStripSVPass | ( | ) |
Definition at line 193 of file StripSV.cpp.
Referenced by circt::arc::ArcReducePatternDialectInterface::populateReducePatterns().
|
inline |
Definition at line 30 of file ArcInterfaces.h.
References registerCombRuntimeCostEstimateInterface(), registerHWRuntimeCostEstimateInterface(), and registerSCFRuntimeCostEstimateInterface().
void circt::arc::registerArcModelInfoTranslation | ( | ) |
Registers CIRCT translation from Arc to JSON model info.
Definition at line 32 of file ModelInfoExport.cpp.
References collectAndExportModelInfo().
Referenced by circt::registerAllTranslations().
void circt::arc::registerCombRuntimeCostEstimateInterface | ( | mlir::DialectRegistry & | registry | ) |
Definition at line 115 of file RuntimeCostEstimateInterfaceImpl.cpp.
Referenced by initAllExternalInterfaces().
void circt::arc::registerHWRuntimeCostEstimateInterface | ( | mlir::DialectRegistry & | registry | ) |
Definition at line 122 of file RuntimeCostEstimateInterfaceImpl.cpp.
Referenced by initAllExternalInterfaces().
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.
void circt::arc::registerSCFRuntimeCostEstimateInterface | ( | mlir::DialectRegistry & | registry | ) |
Definition at line 129 of file RuntimeCostEstimateInterfaceImpl.cpp.
Referenced by initAllExternalInterfaces().
void circt::arc::serializeModelInfoToJson | ( | llvm::raw_ostream & | outputStream, |
llvm::ArrayRef< ModelInfo > | models | ||
) |
Serializes models
to outputStream
in JSON format.