CIRCT
20.0.0git
|
#include "circt/Dialect/FIRRTL/FIRRTLAnnotationHelper.h"
#include "circt/Dialect/FIRRTL/FIRRTLAnnotations.h"
#include "circt/Dialect/FIRRTL/FIRRTLDialect.h"
#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"
#include "circt/Dialect/FIRRTL/FIRRTLUtils.h"
#include "circt/Dialect/FIRRTL/OwningModuleCache.h"
#include "circt/Dialect/FIRRTL/Passes.h"
#include "circt/Dialect/HW/InnerSymbolNamespace.h"
#include "circt/Dialect/OM/OMAttributes.h"
#include "circt/Dialect/OM/OMOps.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/PatternMatch.h"
#include "mlir/IR/Threading.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Support/LogicalResult.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "circt/Dialect/FIRRTL/Passes.h.inc"
Go to the source code of this file.
Classes | |
struct | FIntegerConstantOpConversion |
struct | BoolConstantOpConversion |
struct | DoubleConstantOpConversion |
struct | StringConstantOpConversion |
struct | ListCreateOpConversion |
struct | ListConcatOpConversion |
struct | IntegerAddOpConversion |
struct | IntegerMulOpConversion |
struct | IntegerShrOpConversion |
struct | IntegerShlOpConversion |
struct | PathOpConversion |
struct | WireOpConversion |
struct | AnyCastOpConversion |
struct | ObjectSubfieldOpConversion |
struct | ClassFieldsOpConversion |
struct | ObjectOpConversion |
struct | ClassOpSignatureConversion |
struct | ClassExternOpSignatureConversion |
struct | ObjectFieldOpConversion |
Namespaces | |
circt | |
The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
circt::firrtl | |
Macros | |
#define | GEN_PASS_DEF_LOWERCLASSES |
Functions | |
void | checkAddContainingModulePorts (bool hasContainingModule, OpBuilder builder, SmallVector< Attribute > &fieldNames, SmallVector< NamedAttribute > &fieldTypes) |
static om::ClassLike | convertExtClass (FModuleLike moduleLike, OpBuilder builder, Twine name, ArrayRef< StringRef > formalParamNames, bool hasContainingModule) |
static om::ClassLike | convertClass (FModuleLike moduleLike, OpBuilder builder, Twine name, ArrayRef< StringRef > formalParamNames, bool hasContainingModule) |
static LogicalResult | updateObjectInClass (firrtl::ObjectOp firrtlObject, const PathInfoTable &pathInfoTable, SmallVectorImpl< RtlPortsInfo > &rtlPortsToCreate, std::mutex &intraPassMutex, SmallVectorImpl< Operation * > &opsToErase) |
static LogicalResult | updateInstanceInClass (InstanceOp firrtlInstance, hw::HierPathOp hierPath, InstanceGraph &instanceGraph, const PathInfoTable &pathInfoTable, SmallVectorImpl< Operation * > &opsToErase) |
static LogicalResult | updateInstanceInModule (InstanceOp firrtlInstance, InstanceGraph &instanceGraph, SmallVectorImpl< Operation * > &opsToErase) |
static LogicalResult | updateInstancesInModule (FModuleOp moduleOp, InstanceGraph &instanceGraph, SmallVectorImpl< Operation * > &opsToErase) |
static LogicalResult | updateObjectsAndInstancesInClass (om::ClassOp classOp, InstanceGraph &instanceGraph, const LoweringState &state, const PathInfoTable &pathInfoTable, SmallVectorImpl< RtlPortsInfo > &rtlPortsToCreate, std::mutex &intraPassMutex, SmallVectorImpl< Operation * > &opsToErase) |
static LogicalResult | convertClassLike (om::ClassLike classOp, TypeConverter typeConverter, ConversionPatternRewriter &rewriter) |
static void | populateConversionTarget (ConversionTarget &target) |
static void | populateTypeConverter (TypeConverter &converter) |
static void | populateRewritePatterns (RewritePatternSet &patterns, TypeConverter &converter, const PathInfoTable &pathInfoTable, const DenseMap< StringAttr, firrtl::ClassType > &classTypeTable) |
#define GEN_PASS_DEF_LOWERCLASSES |
Definition at line 35 of file LowerClasses.cpp.
void checkAddContainingModulePorts | ( | bool | hasContainingModule, |
OpBuilder | builder, | ||
SmallVector< Attribute > & | fieldNames, | ||
SmallVector< NamedAttribute > & | fieldTypes | ||
) |
Definition at line 969 of file LowerClasses.cpp.
References circt::calyx::direction::get().
Referenced by convertClass(), and convertExtClass().
|
static |
Definition at line 1004 of file LowerClasses.cpp.
References checkAddContainingModulePorts(), and circt::calyx::direction::get().
|
static |
Definition at line 1928 of file LowerClasses.cpp.
References circt::calyx::direction::get().
Referenced by ClassExternOpSignatureConversion::matchAndRewrite(), and ClassOpSignatureConversion::matchAndRewrite().
|
static |
Definition at line 980 of file LowerClasses.cpp.
References checkAddContainingModulePorts(), and circt::calyx::direction::get().
|
static |
Definition at line 1998 of file LowerClasses.cpp.
|
static |
Definition at line 2132 of file LowerClasses.cpp.
|
static |
Definition at line 2044 of file LowerClasses.cpp.
References assert(), elementType, and circt::calyx::direction::get().
|
static |
Definition at line 1357 of file LowerClasses.cpp.
References assert(), circt::calyx::direction::get(), and circt::firrtl::getPropertyAssignment().
Referenced by updateObjectsAndInstancesInClass().
|
static |
Definition at line 1457 of file LowerClasses.cpp.
References circt::igraph::InstanceGraph::replaceInstance().
Referenced by updateInstancesInModule().
|
static |
Definition at line 1485 of file LowerClasses.cpp.
References assert(), and updateInstanceInModule().
|
static |
Definition at line 1238 of file LowerClasses.cpp.
References assert(), circt::calyx::direction::get(), and numElements.
Referenced by updateObjectsAndInstancesInClass().
|
static |
Definition at line 1499 of file LowerClasses.cpp.
References updateInstanceInClass(), and updateObjectInClass().