CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
OperationAnalyzer Class Reference
Collaboration diagram for OperationAnalyzer:
Collaboration graph
[legend]

Public Member Functions

 OperationAnalyzer (Context *ctx, Location loc)
 
LogicalResult initializePipeline ()
 
LogicalResult getResults (OpResult value, size_t bitPos, SmallVectorImpl< std::tuple< size_t, size_t, int64_t > > &results)
 

Private Member Functions

FailureOr< LocalVisitor * > getOrComputeLocalVisitor (Operation *op)
 
FailureOr< hw::HWModuleOpcreateWrapperModule (Operation *op)
 

Static Private Member Functions

static mlir::FunctionType getFunctionTypeForOp (Operation *op)
 

Private Attributes

llvm::DenseMap< std::pair< mlir::OperationName, mlir::FunctionType >, std::unique_ptr< LocalVisitor > > cache
 
std::unique_ptr< mlir::PassManager > passManager
 
mlir::OwningOpRef< mlir::ModuleOp > moduleOp
 
Contextctx
 
Location loc
 
StringAttr emptyName
 

Static Private Attributes

static constexpr StringRef pipelineStr
 

Detailed Description

Definition at line 456 of file LongestPathAnalysis.cpp.

Constructor & Destructor Documentation

◆ OperationAnalyzer()

OperationAnalyzer::OperationAnalyzer ( Context ctx,
Location  loc 
)
inline

Definition at line 460 of file LongestPathAnalysis.cpp.

Member Function Documentation

◆ createWrapperModule()

FailureOr< hw::HWModuleOp > OperationAnalyzer::createWrapperModule ( Operation *  op)
private

◆ getFunctionTypeForOp()

mlir::FunctionType OperationAnalyzer::getFunctionTypeForOp ( Operation *  op)
staticprivate

Definition at line 515 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ getOrComputeLocalVisitor()

FailureOr< LocalVisitor * > OperationAnalyzer::getOrComputeLocalVisitor ( Operation *  op)
private

◆ getResults()

LogicalResult OperationAnalyzer::getResults ( OpResult  value,
size_t  bitPos,
SmallVectorImpl< std::tuple< size_t, size_t, int64_t > > &  results 
)

Definition at line 1396 of file LongestPathAnalysis.cpp.

References getOrComputeLocalVisitor().

◆ initializePipeline()

LogicalResult OperationAnalyzer::initializePipeline ( )

Definition at line 1427 of file LongestPathAnalysis.cpp.

References loc, passManager, and pipelineStr.

Referenced by getOrComputeLocalVisitor().

Member Data Documentation

◆ cache

llvm::DenseMap<std::pair<mlir::OperationName, mlir::FunctionType>, std::unique_ptr<LocalVisitor> > OperationAnalyzer::cache
private

Definition at line 498 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ ctx

Context* OperationAnalyzer::ctx
private

Definition at line 510 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ emptyName

StringAttr OperationAnalyzer::emptyName
private

Definition at line 512 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ loc

Location OperationAnalyzer::loc
private

Definition at line 511 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor(), and initializePipeline().

◆ moduleOp

mlir::OwningOpRef<mlir::ModuleOp> OperationAnalyzer::moduleOp
private

Definition at line 508 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ passManager

std::unique_ptr<mlir::PassManager> OperationAnalyzer::passManager
private

Definition at line 504 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor(), and initializePipeline().

◆ pipelineStr

constexpr StringRef OperationAnalyzer::pipelineStr
staticconstexprprivate
Initial value:
=
"hw.module(hw-aggregate-to-comb,convert-comb-to-aig,cse,canonicalize)"

Definition at line 502 of file LongestPathAnalysis.cpp.

Referenced by initializePipeline().


The documentation for this class was generated from the following file: