|
CIRCT 24.0.0git
|
Classes | |
| class | MatchResult |
| This class allows a pattern's match function for inlining to pass its result's precedence to the pattern that requested the expression. More... | |
| class | PatternBase |
| This is indented to be the base class for all emission patterns. More... | |
| struct | OpEmissionPatternBase |
| This is intended to be the base class for all emission patterns matching on operations. More... | |
| struct | TypeEmissionPatternBase |
| This is intended to be the base class for all emission patterns matching on types. More... | |
| struct | AttrEmissionPatternBase |
| This is intended to be the base class for all emission patterns matching on attributes. More... | |
| struct | OpEmissionPattern |
| This is a convenience class providing default implementations for operation emission patterns. More... | |
| struct | TypeEmissionPattern |
| This is a convenience class providing default implementations for type emission patterns. More... | |
| struct | AttrEmissionPattern |
| This is a convenience class providing default implementations for attribute emission patterns. More... | |
| class | EmissionPatternSet |
| This class collects a set of emission patterns with base type 'PatternTy'. More... | |
| class | FrozenEmissionPatternSet |
| 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... | |
| class | EmissionPrinter |
| This is intended to be the driving class for all pattern-based IR emission. More... | |
| class | InlineEmitter |
| This class is returned to a pattern that requested inlined emission of a value. More... | |
Enumerations | |
| enum class | Precedence { LIT = 0 , VAR = 0 , SCOPE_RESOLUTION = 1 , POSTFIX_INC = 2 , POSTFIX_DEC = 2 , FUNCTIONAL_CAST = 2 , FUNCTION_CALL = 2 , SUBSCRIPT = 2 , MEMBER_ACCESS = 2 , PREFIX_INC = 3 , PREFIX_DEC = 3 , NOT = 3 , CAST = 3 , DEREFERENCE = 3 , ADDRESS_OF = 3 , SIZEOF = 3 , NEW = 3 , DELETE = 3 , POINTER_TO_MEMBER = 4 , MUL = 5 , DIV = 5 , MOD = 5 , ADD = 6 , SUB = 6 , SHL = 7 , SHR = 7 , RELATIONAL = 9 , EQUALITY = 10 , BITWISE_AND = 11 , BITWISE_XOR = 12 , BITWISE_OR = 13 , LOGICAL_AND = 14 , LOGICAL_OR = 15 , TERNARY = 16 , THROW = 16 , ASSIGN = 16 , COMMA = 17 } |
| This enum encodes the precedence of C++ expressions. More... | |
Functions | |
| LogicalResult | exportSystemC (ModuleOp module, llvm::raw_ostream &os) |
| LogicalResult | exportSplitSystemC (ModuleOp module, StringRef directory) |
| void | registerExportSystemCTranslation () |
| void | populateBuiltinOpEmitters (OpEmissionPatternSet &patterns, MLIRContext *context) |
| Register Builtin operation emission patterns. | |
| void | populateBuiltinTypeEmitters (TypeEmissionPatternSet &patterns) |
| Register Builtin type emission patterns. | |
| void | populateBuiltinAttrEmitters (AttrEmissionPatternSet &patterns) |
| Register Builtin attribute emission patterns. | |
| void | populateEmitCOpEmitters (OpEmissionPatternSet &patterns, MLIRContext *context) |
| Register EmitC operation emission patterns. | |
| void | populateEmitCTypeEmitters (TypeEmissionPatternSet &patterns) |
| Register EmitC type emission patterns. | |
| void | populateEmitCAttrEmitters (AttrEmissionPatternSet &patterns) |
| Register EmitC attribute emission patterns. | |
| void | populateHWEmitters (OpEmissionPatternSet &patterns, MLIRContext *context) |
| void | populateSystemCOpEmitters (OpEmissionPatternSet &patterns, MLIRContext *context) |
| Register SystemC operation emission patterns. | |
| void | populateSystemCTypeEmitters (TypeEmissionPatternSet &patterns) |
| Register SystemC type emission patterns. | |
| void | registerAllOpEmitters (OpEmissionPatternSet &patterns, MLIRContext *context) |
| Collects the operation emission patterns of all supported dialects. | |
| void | registerAllTypeEmitters (TypeEmissionPatternSet &patterns) |
| Collects the type emission patterns of all supported dialects. | |
| void | registerAllAttrEmitters (AttrEmissionPatternSet &patterns) |
Definition at line 35 of file EmissionPatternSupport.h.
Definition at line 41 of file EmissionPatternSupport.h.
Definition at line 37 of file EmissionPatternSupport.h.
Definition at line 39 of file EmissionPatternSupport.h.
Definition at line 33 of file EmissionPatternSupport.h.
Definition at line 34 of file EmissionPatternSupport.h.
|
strong |
This enum encodes the precedence of C++ expressions.
A lower number means higher precedence. Source: https://en.cppreference.com/w/cpp/language/operator_precedence
Definition at line 33 of file EmissionPattern.h.
| LogicalResult circt::ExportSystemC::exportSplitSystemC | ( | ModuleOp | module, |
| StringRef | directory ) |
Definition at line 87 of file ExportSystemC.cpp.
Referenced by registerExportSystemCTranslation().
| LogicalResult circt::ExportSystemC::exportSystemC | ( | ModuleOp | module, |
| llvm::raw_ostream & | os ) |
Definition at line 82 of file ExportSystemC.cpp.
References emitFile().
Referenced by registerExportSystemCTranslation().
| void circt::ExportSystemC::populateBuiltinAttrEmitters | ( | AttrEmissionPatternSet & | patterns | ) |
Register Builtin attribute emission patterns.
Definition at line 129 of file BuiltinEmissionPatterns.cpp.
Referenced by registerAllAttrEmitters().
| void circt::ExportSystemC::populateBuiltinOpEmitters | ( | OpEmissionPatternSet & | patterns, |
| MLIRContext * | context ) |
Register Builtin operation emission patterns.
Definition at line 119 of file BuiltinEmissionPatterns.cpp.
References context.
Referenced by registerAllOpEmitters().
| void circt::ExportSystemC::populateBuiltinTypeEmitters | ( | TypeEmissionPatternSet & | patterns | ) |
Register Builtin type emission patterns.
Definition at line 124 of file BuiltinEmissionPatterns.cpp.
Referenced by registerAllTypeEmitters().
| void circt::ExportSystemC::populateEmitCAttrEmitters | ( | AttrEmissionPatternSet & | patterns | ) |
Register EmitC attribute emission patterns.
Definition at line 264 of file EmitCEmissionPatterns.cpp.
Referenced by registerAllAttrEmitters().
| void circt::ExportSystemC::populateEmitCOpEmitters | ( | OpEmissionPatternSet & | patterns, |
| MLIRContext * | context ) |
Register EmitC operation emission patterns.
Definition at line 252 of file EmitCEmissionPatterns.cpp.
References context.
Referenced by registerAllOpEmitters().
| void circt::ExportSystemC::populateEmitCTypeEmitters | ( | TypeEmissionPatternSet & | patterns | ) |
Register EmitC type emission patterns.
Definition at line 259 of file EmitCEmissionPatterns.cpp.
Referenced by registerAllTypeEmitters().
| void circt::ExportSystemC::populateHWEmitters | ( | OpEmissionPatternSet & | patterns, |
| MLIRContext * | context ) |
Definition at line 49 of file HWEmissionPatterns.cpp.
References context.
Referenced by registerAllOpEmitters().
| void circt::ExportSystemC::populateSystemCOpEmitters | ( | OpEmissionPatternSet & | patterns, |
| MLIRContext * | context ) |
Register SystemC operation emission patterns.
Definition at line 576 of file SystemCEmissionPatterns.cpp.
References context.
Referenced by registerAllOpEmitters().
| void circt::ExportSystemC::populateSystemCTypeEmitters | ( | TypeEmissionPatternSet & | patterns | ) |
Register SystemC type emission patterns.
Definition at line 591 of file SystemCEmissionPatterns.cpp.
Referenced by registerAllTypeEmitters().
|
inline |
Definition at line 42 of file RegisterAllEmitters.h.
References populateBuiltinAttrEmitters(), and populateEmitCAttrEmitters().
Referenced by emitFile().
|
inline |
Collects the operation emission patterns of all supported dialects.
Definition at line 27 of file RegisterAllEmitters.h.
References context, populateBuiltinOpEmitters(), populateEmitCOpEmitters(), populateHWEmitters(), and populateSystemCOpEmitters().
Referenced by emitFile().
|
inline |
Collects the type emission patterns of all supported dialects.
Definition at line 36 of file RegisterAllEmitters.h.
References populateBuiltinTypeEmitters(), populateEmitCTypeEmitters(), and populateSystemCTypeEmitters().
Referenced by emitFile().
| void circt::ExportSystemC::registerExportSystemCTranslation | ( | ) |
Definition at line 128 of file ExportSystemC.cpp.
References exportSplitSystemC(), and exportSystemC().
Referenced by circt::registerAllTranslations().