CIRCT 22.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 "circt/Dialect/FIRRTL/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
namespace | circt |
The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
namespace | 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 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 34 of file LowerClasses.cpp.
void checkAddContainingModulePorts | ( | bool | hasContainingModule, |
OpBuilder | builder, | ||
SmallVector< Attribute > & | fieldNames, | ||
SmallVector< NamedAttribute > & | fieldTypes | ||
) |
Definition at line 969 of file LowerClasses.cpp.
Referenced by convertClass(), and convertExtClass().
|
static |
Definition at line 1004 of file LowerClasses.cpp.
References checkAddContainingModulePorts().
|
static |
Definition at line 980 of file LowerClasses.cpp.
References checkAddContainingModulePorts().
|
static |
Definition at line 2029 of file LowerClasses.cpp.
|
static |
Definition at line 2163 of file LowerClasses.cpp.
|
static |
Definition at line 2075 of file LowerClasses.cpp.
References assert(), and elementType.
|
static |
Definition at line 1359 of file LowerClasses.cpp.
References assert(), getLoc(), and circt::firrtl::getPropertyAssignment().
Referenced by updateObjectsAndInstancesInClass().
|
static |
Definition at line 1459 of file LowerClasses.cpp.
References circt::igraph::InstanceGraph::replaceInstance().
Referenced by updateInstancesInModule().
|
static |
Definition at line 1487 of file LowerClasses.cpp.
References assert(), and updateInstanceInModule().
|
static |
Definition at line 1238 of file LowerClasses.cpp.
References assert(), getLoc(), and numElements.
Referenced by updateObjectsAndInstancesInClass().
|
static |
Definition at line 1501 of file LowerClasses.cpp.
References updateInstanceInClass(), and updateObjectInClass().