CIRCT 24.0.0git
Loading...
Searching...
No Matches
circt::ExportSystemC::OpEmissionPatternBase Struct Referenceabstract

This is intended to be the base class for all emission patterns matching on operations. More...

#include <EmissionPattern.h>

Inheritance diagram for circt::ExportSystemC::OpEmissionPatternBase:
Collaboration diagram for circt::ExportSystemC::OpEmissionPatternBase:

Public Member Functions

 OpEmissionPatternBase (StringRef operationName, MLIRContext *context)
virtual ~OpEmissionPatternBase ()=default
virtual MatchResult matchInlinable (Value value)=0
 Checks if this pattern is applicable to the given value to emit an inlinable expression.
virtual bool matchStatement (mlir::Operation *op)=0
 Checks if this pattern is applicable to the given operation for statement emission.
virtual void emitInlined (mlir::Value value, EmissionPrinter &p)=0
 Emit the expression for the given value.
virtual void emitStatement (mlir::Operation *op, EmissionPrinter &p)=0
 Emit zero or more statements for the given operation.
Public Member Functions inherited from circt::ExportSystemC::PatternBase
 PatternBase (const void *rootValue)
const void * getRootValue () const
 Get a unique identifier for the C++ type the pattern is matching on.

Additional Inherited Members

Static Public Member Functions inherited from circt::ExportSystemC::PatternBase
template<typename E, typename... Args>
static std::unique_ptr< E > create (Args &&...args)

Detailed Description

This is intended to be the base class for all emission patterns matching on operations.

Definition at line 115 of file EmissionPattern.h.

Constructor & Destructor Documentation

◆ OpEmissionPatternBase()

circt::ExportSystemC::OpEmissionPatternBase::OpEmissionPatternBase ( StringRef operationName,
MLIRContext * context )
inline

◆ ~OpEmissionPatternBase()

virtual circt::ExportSystemC::OpEmissionPatternBase::~OpEmissionPatternBase ( )
virtualdefault

Member Function Documentation

◆ emitInlined()

◆ emitStatement()

◆ matchInlinable()

◆ matchStatement()


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