CIRCT 24.0.0git
Loading...
Searching...
No Matches
OperationAnalyzer Class Reference
Collaboration diagram for OperationAnalyzer:

Public Member Functions

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

Private Member Functions

FailureOr< LocalVisitor * > getOrComputeLocalVisitor (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
Context ctx
Location loc
StringAttr emptyName

Static Private Attributes

static constexpr StringRef pipelineStr

Detailed Description

Definition at line 512 of file LongestPathAnalysis.cpp.

Constructor & Destructor Documentation

◆ OperationAnalyzer()

OperationAnalyzer::OperationAnalyzer ( Location loc)
inline

Definition at line 519 of file LongestPathAnalysis.cpp.

References ctx, emptyName, loc, and moduleOp.

Member Function Documentation

◆ analyzeOperation()

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

Definition at line 1469 of file LongestPathAnalysis.cpp.

References failure(), getOrComputeLocalVisitor(), and success().

◆ getFunctionTypeForOp()

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

Definition at line 570 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ getOrComputeLocalVisitor()

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

◆ initializePipeline()

LogicalResult OperationAnalyzer::initializePipeline ( )

Definition at line 1500 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 553 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor().

◆ ctx

Context OperationAnalyzer::ctx
private

Definition at line 565 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor(), and OperationAnalyzer().

◆ emptyName

StringAttr OperationAnalyzer::emptyName
private

Definition at line 567 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor(), and OperationAnalyzer().

◆ loc

Location OperationAnalyzer::loc
private

◆ moduleOp

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

Definition at line 563 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor(), and OperationAnalyzer().

◆ passManager

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

Definition at line 559 of file LongestPathAnalysis.cpp.

Referenced by getOrComputeLocalVisitor(), and initializePipeline().

◆ pipelineStr

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

Definition at line 557 of file LongestPathAnalysis.cpp.

Referenced by initializePipeline().


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