CIRCT  20.0.0git
Public Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for circt::ExportSystemC::OpEmissionPatternBase:
Collaboration graph
[legend]

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. More...
 
virtual bool matchStatement (mlir::Operation *op)=0
 Checks if this pattern is applicable to the given operation for statement emission. More...
 
virtual void emitInlined (mlir::Value value, EmissionPrinter &p)=0
 Emit the expression for the given value. More...
 
virtual void emitStatement (mlir::Operation *op, EmissionPrinter &p)=0
 Emit zero or more statements for the given operation. More...
 
- 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. More...
 

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

Definition at line 116 of file EmissionPattern.h.

◆ ~OpEmissionPatternBase()

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

Member Function Documentation

◆ emitInlined()

virtual void circt::ExportSystemC::OpEmissionPatternBase::emitInlined ( mlir::Value  value,
EmissionPrinter p 
)
pure virtual

◆ emitStatement()

virtual void circt::ExportSystemC::OpEmissionPatternBase::emitStatement ( mlir::Operation *  op,
EmissionPrinter p 
)
pure virtual

◆ matchInlinable()

virtual MatchResult circt::ExportSystemC::OpEmissionPatternBase::matchInlinable ( Value  value)
pure virtual

◆ matchStatement()

virtual bool circt::ExportSystemC::OpEmissionPatternBase::matchStatement ( mlir::Operation *  op)
pure virtual

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