|
void | circt::firrtl::emitConnect (OpBuilder &builder, Location loc, Value lhs, Value rhs) |
| Emit a connect between two values. More...
|
|
void | circt::firrtl::emitConnect (ImplicitLocOpBuilder &builder, Value lhs, Value rhs) |
| Emit a connect between two values. More...
|
|
IntegerAttr | circt::firrtl::getIntAttr (Type type, const APInt &value) |
| Utiility for generating a constant attribute. More...
|
|
IntegerAttr | circt::firrtl::getIntZerosAttr (Type type) |
| Utility for generating a constant zero attribute. More...
|
|
IntegerAttr | circt::firrtl::getIntOnesAttr (Type type) |
| Utility for generating a constant all ones attribute. More...
|
|
PropAssignOp | circt::firrtl::getPropertyAssignment (FIRRTLPropertyValue value) |
| Return the single assignment to a Property value. More...
|
|
Value | circt::firrtl::getDriverFromConnect (Value val) |
| Return the module-scoped driver of a value only looking through one connect. More...
|
|
Value | circt::firrtl::getValueSource (Value val, bool lookThroughWires, bool lookThroughNodes, bool lookThroughCasts) |
| Return the value that drives another FIRRTL value within module scope. More...
|
|
Value | circt::firrtl::getModuleScopedDriver (Value val, bool lookThroughWires, bool lookThroughNodes, bool lookThroughCasts) |
| Return the value that drives another FIRRTL value within module scope. More...
|
|
template<typename A , typename... B> |
static bool | circt::firrtl::isModuleScopedDrivenBy (Value val, bool lookThroughWires, bool lookThroughNodes, bool lookThroughCasts) |
| Return true if a value is module-scoped driven by a value of a specific type. More...
|
|
bool | circt::firrtl::walkDrivers (FIRRTLBaseValue value, bool lookThroughWires, bool lookThroughNodes, bool lookThroughCasts, WalkDriverCallback callback) |
|
FieldRef | circt::firrtl::getFieldRefFromValue (Value value, bool lookThroughCasts=false) |
| Get the FieldRef from a value. More...
|
|
FieldRef | circt::firrtl::getDeltaRef (Value value, bool lookThroughCasts=false) |
| Get the delta indexing from a value, as a FieldRef. More...
|
|
std::pair< std::string, bool > | circt::firrtl::getFieldName (const FieldRef &fieldRef, bool nameSafe=false) |
| Get a string identifier representing the FieldRef. More...
|
|
Value | circt::firrtl::getValueByFieldID (ImplicitLocOpBuilder builder, Value value, unsigned fieldID) |
| This gets the value targeted by a field id. More...
|
|
void | circt::firrtl::walkGroundTypes (FIRRTLType firrtlType, llvm::function_ref< void(uint64_t, FIRRTLBaseType, bool)> fn) |
| Walk leaf ground types in the firrtlType and apply the function fn . More...
|
|
hw::InnerSymTarget | circt::firrtl::getTargetFor (FieldRef ref) |
| Return the inner sym target for the specified value and fieldID. More...
|
|
FieldRef | circt::firrtl::getFieldRefForTarget (const hw::InnerSymTarget &ist) |
| Get FieldRef pointing to the specified inner symbol target, which must be valid. More...
|
|
std::pair< hw::InnerSymAttr, StringAttr > | circt::firrtl::getOrAddInnerSym (MLIRContext *context, hw::InnerSymAttr attr, uint64_t fieldID, llvm::function_ref< hw::InnerSymbolNamespace &()> getNamespace) |
| Ensure that the the InnerSymAttr has a symbol on the field specified. More...
|
|
StringAttr | circt::firrtl::getOrAddInnerSym (const hw::InnerSymTarget &target, llvm::function_ref< hw::InnerSymbolNamespace &()> getNamespace) |
| Returns an inner symbol identifier for the specified target (op or port), adding one if necessary. More...
|
|
StringAttr | circt::firrtl::getOrAddInnerSym (const hw::InnerSymTarget &target, GetNamespaceCallback getNamespace) |
| Returns an inner symbol identifier for the specified target (op or port), adding one if necessary. More...
|
|
hw::InnerRefAttr | circt::firrtl::getInnerRefTo (const hw::InnerSymTarget &target, GetNamespaceCallback getNamespace) |
| Obtain an inner reference to the target (operation or port), adding an inner symbol as necessary. More...
|
|
static StringAttr | circt::firrtl::getOrAddInnerSym (Operation *op, GetNamespaceCallback getNamespace) |
| Returns an inner symbol identifier for the specified operation, adding one if necessary. More...
|
|
static StringAttr | circt::firrtl::getOrAddInnerSym (Operation *op, uint64_t fieldID, GetNamespaceCallback getNamespace) |
| Returns an inner symbol identifier for the specified operation's field adding one if necessary. More...
|
|
static hw::InnerRefAttr | circt::firrtl::getInnerRefTo (Operation *op, GetNamespaceCallback getNamespace) |
| Obtain an inner reference to an operation, possibly adding an inner symbol. More...
|
|
static hw::InnerRefAttr | circt::firrtl::getInnerRefTo (Operation *op, uint64_t fieldID, GetNamespaceCallback getNamespace) |
| Obtain an inner reference to an operation's field, possibly adding an inner symbol. More...
|
|
static StringAttr | circt::firrtl::getOrAddInnerSym (FModuleLike mod, size_t portIdx, GetNamespaceCallback getNamespace) |
| Returns an inner symbol identifier for the specified port, adding one if necessary. More...
|
|
static StringAttr | circt::firrtl::getOrAddInnerSym (FModuleLike mod, size_t portIdx, uint64_t fieldID, GetNamespaceCallback getNamespace) |
| Returns an inner symbol identifier for the specified port's field, adding one if necessary. More...
|
|
static hw::InnerRefAttr | circt::firrtl::getInnerRefTo (FModuleLike mod, size_t portIdx, GetNamespaceCallback getNamespace) |
| Obtain an inner reference to a port, possibly adding an inner symbol. More...
|
|
static hw::InnerRefAttr | circt::firrtl::getInnerRefTo (FModuleLike mod, size_t portIdx, uint64_t fieldID, GetNamespaceCallback getNamespace) |
| Obtain an inner reference to a port's field, possibly adding an inner symbol. More...
|
|
FIRRTLBaseType | circt::firrtl::getBaseType (Type type) |
| If it is a base type, return it as is. More...
|
|
template<typename T > |
T | circt::firrtl::getBaseOfType (Type type) |
| Get base type if isa<> the requested type, else null. More...
|
|
FIRRTLType | circt::firrtl::mapBaseType (FIRRTLType type, function_ref< FIRRTLBaseType(FIRRTLBaseType)> fn) |
| Return a FIRRTLType with its base type component mutated by the given function. More...
|
|
FIRRTLType | circt::firrtl::mapBaseTypeNullable (FIRRTLType type, function_ref< FIRRTLBaseType(FIRRTLBaseType)> fn) |
| Return a FIRRTLType with its base type component mutated by the given function. More...
|
|
Type | circt::firrtl::lowerType (Type type, std::optional< Location > loc={}, llvm::function_ref< hw::TypeAliasType(Type, BaseTypeAliasType, Location)> getTypeDeclFn={}) |
| Given a type, return the corresponding lowered type for the HW dialect. More...
|
|
std::pair< bool, std::optional< mlir::LocationAttr > > | circt::firrtl::maybeStringToLocation (StringRef spelling, bool skipParsing, StringAttr &locatorFilenameCache, FileLineColLoc &fileLineColLocCache, MLIRContext *context) |
| Parse a string that may encode a FIRRTL location into a LocationAttr. More...
|
|
template<class IterTy , class ResultTy , class ReduceFuncTy , class TransformFuncTy > |
static ResultTy | circt::firrtl::transformReduce (MLIRContext *context, IterTy begin, IterTy end, ResultTy init, ReduceFuncTy reduce, TransformFuncTy transform) |
| Wrapper for llvm::parallelTransformReduce that performs the transform_reduce serially when MLIR multi-threading is disabled. More...
|
|
template<class RangeTy , class ResultTy , class ReduceFuncTy , class TransformFuncTy > |
static ResultTy | circt::firrtl::transformReduce (MLIRContext *context, RangeTy &&r, ResultTy init, ReduceFuncTy reduce, TransformFuncTy transform) |
| Range wrapper. More...
|
|
void | circt::firrtl::makeCommonPrefix (SmallString< 64 > &a, StringRef b) |
| Truncate a to the common prefix of a and b . More...
|
|
PathOp | circt::firrtl::createPathRef (Operation *op, hw::HierPathOp nla, mlir::ImplicitLocOpBuilder &builderOM) |
| Add the tracker annotation to the op and get a PathOp to the op. More...
|
|