CIRCT
20.0.0git
|
This class intends to collect a set of emission patterns in a way to provide fast lookups, but does not allow to add more patterns after construction. More...
#include <EmissionPattern.h>
Classes | |
struct | Impl |
The internal implementation of the frozen pattern set. More... | |
Public Types | |
using | OpSpecificNativePatternListT = DenseMap< KeyTy, std::vector< PatternTy * > > |
A map of type specific native patterns. More... | |
Public Member Functions | |
FrozenEmissionPatternSet () | |
FrozenEmissionPatternSet (EmissionPatternSet< PatternTy > &&patterns) | |
Freeze the patterns held in patterns , and take ownership. More... | |
const OpSpecificNativePatternListT & | getSpecificNativePatterns () const |
Return the native patterns held by this set. More... | |
Private Types | |
using | NativePatternListT = std::vector< std::unique_ptr< PatternTy > > |
Private Attributes | |
std::shared_ptr< Impl > | impl |
A pointer to the internal pattern list. More... | |
This class intends to collect a set of emission patterns in a way to provide fast lookups, but does not allow to add more patterns after construction.
Definition at line 278 of file EmissionPattern.h.
|
private |
Definition at line 279 of file EmissionPattern.h.
using circt::ExportSystemC::FrozenEmissionPatternSet< PatternTy, KeyTy >::OpSpecificNativePatternListT = DenseMap<KeyTy, std::vector<PatternTy *> > |
A map of type specific native patterns.
Definition at line 283 of file EmissionPattern.h.
|
inline |
Definition at line 286 of file EmissionPattern.h.
|
inline |
Freeze the patterns held in patterns
, and take ownership.
Definition at line 289 of file EmissionPattern.h.
References circt::ExportSystemC::FrozenEmissionPatternSet< PatternTy, KeyTy >::impl.
|
inline |
Return the native patterns held by this set.
Definition at line 300 of file EmissionPattern.h.
References circt::ExportSystemC::FrozenEmissionPatternSet< PatternTy, KeyTy >::impl.
Referenced by circt::ExportSystemC::EmissionPrinter::emitAttr(), circt::ExportSystemC::EmissionPrinter::emitOp(), circt::ExportSystemC::EmissionPrinter::emitType(), and circt::ExportSystemC::EmissionPrinter::getInlinable().
|
private |
A pointer to the internal pattern list.
This uses a shared_ptr to avoid the need to compile the same pattern list multiple times. For example, during multi-threaded pass execution, all copies of a pass can share the same pattern list.
Definition at line 319 of file EmissionPattern.h.
Referenced by circt::ExportSystemC::FrozenEmissionPatternSet< PatternTy, KeyTy >::FrozenEmissionPatternSet(), and circt::ExportSystemC::FrozenEmissionPatternSet< PatternTy, KeyTy >::getSpecificNativePatterns().