|
CIRCT 23.0.0git
|
#include "circt/Dialect/FIRRTL/FIRRTLAnnotationHelper.h"#include "circt/Dialect/FIRRTL/FIRRTLAnnotations.h"#include "circt/Dialect/FIRRTL/FIRRTLOps.h"#include "circt/Dialect/FIRRTL/FIRRTLTypes.h"#include "circt/Dialect/FIRRTL/Passes.h"#include "mlir/IR/Attributes.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinAttributes.h"#include "mlir/IR/Diagnostics.h"#include "mlir/IR/Operation.h"#include "mlir/IR/SymbolTable.h"#include "mlir/Support/LLVM.h"#include "llvm/ADT/MapVector.h"#include "llvm/ADT/STLExtras.h"#include <iterator>#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_LINKCIRCUITS |
Functions | |
| template<typename CallableT > | |
| static DictionaryAttr | transformAnnotationTarget (DictionaryAttr anno, CallableT transformTokensFn) |
| static LogicalResult | mangleCircuitSymbols (CircuitOp circuit) |
| static void | collectLayerSymbols (LayerOp layer, SmallVectorImpl< FlatSymbolRefAttr > &stack, llvm::DenseSet< Attribute > &layers) |
| static void | collectLayerSymbols (CircuitOp circuit, llvm::DenseSet< Attribute > &layers) |
| static LogicalResult | verifyKnownLayers (FExtModuleOp extModule, const llvm::DenseSet< Attribute > &availableLayers) |
| static LogicalResult | mergeLayer (LayerOp dst, LayerOp src) |
| static FailureOr< bool > | handleCollidingOps (SymbolOpInterface collidingOp, SymbolOpInterface incomingOp, const llvm::DenseSet< Attribute > &mergedLayers, const llvm::DenseSet< Attribute > &incomingLayers) |
| Handles colliding symbols when merging circuits. | |
| #define GEN_PASS_DEF_LINKCIRCUITS |
Definition at line 31 of file LinkCircuits.cpp.
|
static |
Definition at line 168 of file LinkCircuits.cpp.
References collectLayerSymbols().
|
static |
Definition at line 157 of file LinkCircuits.cpp.
References collectLayerSymbols().
Referenced by collectLayerSymbols(), and collectLayerSymbols().
|
static |
Handles colliding symbols when merging circuits.
This function resolves symbol collisions between operations in different circuits during the linking process. It handles three specific cases:
| collidingOp | The operation already present in the merged circuit |
| incomingOp | The operation being added from another circuit |
Definition at line 246 of file LinkCircuits.cpp.
References mergeLayer(), and verifyKnownLayers().
|
static |
Definition at line 72 of file LinkCircuits.cpp.
References updateType().
|
static |
Definition at line 198 of file LinkCircuits.cpp.
References mergeLayer().
Referenced by handleCollidingOps(), and mergeLayer().
|
static |
Definition at line 55 of file LinkCircuits.cpp.
|
static |
Definition at line 176 of file LinkCircuits.cpp.
Referenced by handleCollidingOps().