CIRCT
19.0.0git
|
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/HWPasses.h"
#include "mlir/Pass/Pass.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/HW/Passes.h.inc"
Go to the source code of this file.
Namespaces | |
circt | |
The InstanceGraph op interface, see InstanceGraphInterface.td for more details. | |
circt::hw | |
Macros | |
#define | GEN_PASS_DEF_FLATTENIO |
Functions | |
static bool | isStructType (Type type) |
static hw::StructType | getStructType (Type type) |
static bool | isLegalModLikeOp (hw::HWModuleLike moduleLikeOp) |
static llvm::SmallVector< Type > | getInnerTypes (hw::StructType t) |
template<typename... TOp> | |
static void | addSignatureConversion (DenseMap< Operation *, IOInfo > &ioMap, ConversionTarget &target, RewritePatternSet &patterns, FlattenIOTypeConverter &typeConverter) |
template<typename T > | |
static bool | hasUnconvertedOps (mlir::ModuleOp module) |
template<typename T > | |
static DenseMap< Operation *, IOTypes > | populateIOMap (mlir::ModuleOp module) |
template<typename ModTy , typename T > | |
static llvm::SmallVector< Attribute > | updateNameAttribute (ModTy op, StringRef attrName, DenseMap< unsigned, hw::StructType > &structMap, T oldNames, char joinChar) |
template<typename ModTy > | |
static void | updateModulePortNames (ModTy op, hw::ModuleType oldModType, char joinChar) |
static llvm::SmallVector< Location > | updateLocAttribute (DenseMap< unsigned, hw::StructType > &structMap, SmallVectorImpl< Location > &oldLocs) |
static void | updateBlockLocations (hw::HWModuleLike op, DenseMap< unsigned, hw::StructType > &structMap) |
The conversion framework seems to throw away block argument locations. More... | |
static void | setIOInfo (hw::HWModuleLike op, IOInfo &ioInfo) |
template<typename T > | |
static DenseMap< Operation *, IOInfo > | populateIOInfoMap (mlir::ModuleOp module) |
template<typename T > | |
static LogicalResult | flattenOpsOfType (ModuleOp module, bool recursive, StringSet<> &externModules, char joinChar) |
template<typename... TOps> | |
static bool | flattenIO (ModuleOp module, bool recursive, StringSet<> &externModules, char joinChar) |
#define GEN_PASS_DEF_FLATTENIO |
Definition at line 17 of file FlattenIO.cpp.
|
static |
Definition at line 199 of file FlattenIO.cpp.
References compareTypes(), isLegalModLikeOp(), and circt::hw::populateHWModuleLikeTypeConversionPattern().
|
static |
Definition at line 484 of file FlattenIO.cpp.
|
static |
Definition at line 367 of file FlattenIO.cpp.
References circt::calyx::direction::get(), setIOInfo(), updateBlockLocations(), updateLocAttribute(), updateModulePortNames(), and updateNameAttribute().
|
static |
Definition at line 39 of file FlattenIO.cpp.
References circt::hw::getCanonicalType(), and circt::esi::innerType().
|
static |
Definition at line 29 of file FlattenIO.cpp.
References circt::hw::getCanonicalType().
Referenced by setIOInfo(), and updateModulePortNames().
|
static |
Definition at line 249 of file FlattenIO.cpp.
|
static |
Definition at line 34 of file FlattenIO.cpp.
References isStructType().
Referenced by addSignatureConversion().
|
static |
Definition at line 25 of file FlattenIO.cpp.
References circt::hw::getCanonicalType().
Referenced by isLegalModLikeOp().
|
static |
Definition at line 356 of file FlattenIO.cpp.
References setIOInfo().
|
static |
Definition at line 255 of file FlattenIO.cpp.
|
static |
Definition at line 342 of file FlattenIO.cpp.
References getStructType().
Referenced by flattenOpsOfType(), and populateIOInfoMap().
|
static |
The conversion framework seems to throw away block argument locations.
We use this function to copy the location from the original argument to the set of flattened arguments.
Definition at line 333 of file FlattenIO.cpp.
Referenced by flattenOpsOfType().
|
static |
Definition at line 310 of file FlattenIO.cpp.
Referenced by flattenOpsOfType().
|
static |
Definition at line 288 of file FlattenIO.cpp.
References circt::calyx::direction::get(), and getStructType().
Referenced by flattenOpsOfType().
|
static |
Definition at line 264 of file FlattenIO.cpp.
References circt::calyx::direction::get().
Referenced by flattenOpsOfType().