#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/IRMapping.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.
|
| circt |
| The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
|
|
| circt::firrtl |
|
|
static LogicalResult | updateObjectInClass (firrtl::ObjectOp firrtlObject, const PathInfoTable &pathInfoTable, 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< 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) |
|
◆ GEN_PASS_DEF_LOWERCLASSES
#define GEN_PASS_DEF_LOWERCLASSES |
◆ populateConversionTarget()
static void populateConversionTarget |
( |
ConversionTarget & |
target | ) |
|
|
static |
◆ populateRewritePatterns()
static void populateRewritePatterns |
( |
RewritePatternSet & |
patterns, |
|
|
TypeConverter & |
converter, |
|
|
const PathInfoTable & |
pathInfoTable, |
|
|
const DenseMap< StringAttr, firrtl::ClassType > & |
classTypeTable |
|
) |
| |
|
static |
◆ populateTypeConverter()
static void populateTypeConverter |
( |
TypeConverter & |
converter | ) |
|
|
static |
◆ updateInstanceInClass()
static LogicalResult updateInstanceInClass |
( |
InstanceOp |
firrtlInstance, |
|
|
hw::HierPathOp |
hierPath, |
|
|
InstanceGraph & |
instanceGraph, |
|
|
const PathInfoTable & |
pathInfoTable, |
|
|
SmallVectorImpl< Operation * > & |
opsToErase |
|
) |
| |
|
static |
◆ updateInstanceInModule()
static LogicalResult updateInstanceInModule |
( |
InstanceOp |
firrtlInstance, |
|
|
InstanceGraph & |
instanceGraph, |
|
|
SmallVectorImpl< Operation * > & |
opsToErase |
|
) |
| |
|
static |
◆ updateInstancesInModule()
static LogicalResult updateInstancesInModule |
( |
FModuleOp |
moduleOp, |
|
|
InstanceGraph & |
instanceGraph, |
|
|
SmallVectorImpl< Operation * > & |
opsToErase |
|
) |
| |
|
static |
◆ updateObjectInClass()
static LogicalResult updateObjectInClass |
( |
firrtl::ObjectOp |
firrtlObject, |
|
|
const PathInfoTable & |
pathInfoTable, |
|
|
SmallVectorImpl< Operation * > & |
opsToErase |
|
) |
| |
|
static |
◆ updateObjectsAndInstancesInClass()
static LogicalResult updateObjectsAndInstancesInClass |
( |
om::ClassOp |
classOp, |
|
|
InstanceGraph & |
instanceGraph, |
|
|
const LoweringState & |
state, |
|
|
const PathInfoTable & |
pathInfoTable, |
|
|
SmallVectorImpl< Operation * > & |
opsToErase |
|
) |
| |
|
static |