|
CIRCT 23.0.0git
|
#include "../PassDetails.h"#include "circt/Dialect/ESI/ESIOps.h"#include "circt/Dialect/HW/HWOps.h"#include "circt/Dialect/HW/PortConverter.h"#include "circt/Dialect/SV/SVOps.h"#include "circt/Support/BackedgeBuilder.h"#include "circt/Support/LLVM.h"#include "circt/Support/SymCache.h"#include "mlir/Transforms/DialectConversion.h"#include "llvm/Support/MathExtras.h"#include "circt/Dialect/ESI/ESIPasses.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::esi |
Macros | |
| #define | GEN_PASS_DEF_LOWERESIPORTS |
Functions | |
| static StringRef | getStringAttributeOr (Operation *op, StringRef attrName, StringRef def) |
| static Value | getArrayElement (OpBuilder &b, Location loc, Value array, size_t idx) |
| Extract element 'idx' from the array-typed value 'array'. | |
| static Value | packArray (OpBuilder &b, Location loc, ArrayRef< Value > elements) |
| Pack a list of element values (with 'elements[i]' destined for array index 'i') into an hw.array. | |
| static StringRef | getOperandName (Value operand) |
| static std::string & | constructInstanceName (Value operand, sv::InterfaceOp iface, std::string &name) |
| Create a reasonable name for a SV interface instance. | |
| #define GEN_PASS_DEF_LOWERESIPORTS |
Definition at line 25 of file ESILowerPorts.cpp.
|
static |
Create a reasonable name for a SV interface instance.
Definition at line 689 of file ESILowerPorts.cpp.
References getOperandName().
|
static |
Extract element 'idx' from the array-typed value 'array'.
Definition at line 276 of file ESILowerPorts.cpp.
References hw.ArrayGetOp::create(), and hw.ConstantOp::create().
|
static |
Definition at line 672 of file ESILowerPorts.cpp.
Referenced by constructInstanceName().
|
inlinestatic |
Definition at line 37 of file ESILowerPorts.cpp.
|
static |
Pack a list of element values (with 'elements[i]' destined for array index 'i') into an hw.array.
hw.array_create takes its operands in reverse order (operand 0 becomes the highest index), so the list is reversed to keep 'elements[i]' at array index 'i'.
Definition at line 289 of file ESILowerPorts.cpp.
References hw.ArrayCreateOp::create().