|
static Value | foldStructExtract (Operation *inputOp, uint32_t fieldIndex) |
|
static ArrayAttr | arrayOrEmpty (mlir::MLIRContext *context, ArrayRef< Attribute > attrs) |
|
static void | getAsmBlockArgumentNamesImpl (mlir::Region ®ion, OpAsmSetValueNameFn setNameFn) |
| Get a special name to use when printing the entry block arguments of the region contained by an operation in this dialect.
|
|
template<class Op > |
static bool | hasAdditionalAttributes (Op op, ArrayRef< StringRef > ignoredAttrs={}) |
| Check whether an operation has any additional attributes set beyond its standard list of attributes returned by getAttributeNames .
|
|
static LogicalResult | checkAttributes (Operation *op, Attribute attr, Type type) |
|
static ParseResult | parseParamValue (OpAsmParser &p, Attribute &value, Type &resultType) |
|
static void | printParamValue (OpAsmPrinter &p, Operation *, Attribute value, Type resultType) |
|
template<typename ModuleTy > |
static void | buildModule (OpBuilder &builder, OperationState &result, StringAttr name, const ModulePortInfo &ports, ArrayAttr parameters, ArrayRef< NamedAttribute > attributes, StringAttr comment) |
|
static void | modifyModuleArgs (MLIRContext *context, ArrayRef< std::pair< unsigned, PortInfo > > insertArgs, ArrayRef< unsigned > removeArgs, ArrayRef< Attribute > oldArgNames, ArrayRef< Type > oldArgTypes, ArrayRef< Attribute > oldArgAttrs, ArrayRef< Location > oldArgLocs, SmallVector< Attribute > &newArgNames, SmallVector< Type > &newArgTypes, SmallVector< Attribute > &newArgAttrs, SmallVector< Location > &newArgLocs, Block *body=nullptr) |
| Internal implementation of argument/result insertion and removal on modules.
|
|
static void | modifyModulePorts (Operation *op, ArrayRef< std::pair< unsigned, PortInfo > > insertInputs, ArrayRef< std::pair< unsigned, PortInfo > > insertOutputs, ArrayRef< unsigned > removeInputs, ArrayRef< unsigned > removeOutputs, Block *body=nullptr) |
| Insert and remove ports of a module.
|
|
static bool | hasAttribute (StringRef name, ArrayRef< NamedAttribute > attrs) |
|
template<typename ModuleTy > |
static ParseResult | parseHWModuleOp (OpAsmParser &parser, OperationState &result) |
|
FunctionType | getHWModuleOpType (Operation *op) |
|
template<typename ModuleTy > |
static void | printModuleOp (OpAsmPrinter &p, ModuleTy mod) |
|
static LogicalResult | verifyModuleCommon (HWModuleLike module) |
|
template<typename ModTy > |
static SmallVector< Location > | getAllPortLocs (ModTy module) |
|
template<typename ModTy > |
static void | setAllPortNames (ArrayRef< Attribute > names, ModTy module) |
|
template<typename ModTy > |
static void | setHWModuleType (ModTy &mod, ModuleType type) |
|
template<typename ModuleTy > |
static SmallVector< PortInfo > | getPortList (ModuleTy &mod) |
|
template<typename ModuleTy > |
static PortInfo | getPort (ModuleTy &mod, size_t idx) |
|
static ParseResult | parseSliceTypes (OpAsmParser &p, Type &srcType, Type &idxType) |
|
static void | printSliceTypes (OpAsmPrinter &p, Operation *, Type srcType, Type idxType) |
|
static LogicalResult | foldCreateToSlice (ArrayCreateOp op, PatternRewriter &rewriter) |
|
static std::optional< uint64_t > | getUIntFromValue (Value value) |
|
static ParseResult | parseArrayConcatTypes (OpAsmParser &p, SmallVectorImpl< Type > &inputTypes, Type &resultType) |
|
static void | printArrayConcatTypes (OpAsmPrinter &p, Operation *, TypeRange inputTypes, Type resultType) |
|
static bool | flattenConcatOp (ArrayConcatOp op, PatternRewriter &rewriter) |
|
static bool | mergeConcatSlices (ArrayConcatOp op, PatternRewriter &rewriter) |
|
template<typename AggregateOp , typename AggregateType > |
static LogicalResult | verifyAggregateFieldIndexAndType (AggregateOp &op, AggregateType aggType, Type elementType) |
| Ensure an aggregate op's field index is within the bounds of the aggregate type and the accessed field is of 'elementType'.
|
|
template<typename AggregateType > |
static ParseResult | parseExtractOp (OpAsmParser &parser, OperationState &result) |
| Use the same parser for both struct_extract and union_extract since the syntax is identical.
|
|
template<typename AggType > |
static void | printExtractOp (OpAsmPrinter &printer, AggType op) |
| Use the same printer for both struct_extract and union_extract since the syntax is identical.
|
|