#include "circt/Dialect/HW/HWTypes.h"
#include "circt/Dialect/HW/HWAttributes.h"
#include "circt/Dialect/HW/HWDialect.h"
#include "circt/Dialect/HW/HWOps.h"
#include "circt/Dialect/HW/HWSymCache.h"
#include "circt/Support/LLVM.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Diagnostics.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/StorageUniquerSupport.h"
#include "mlir/IR/Types.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/ADT/TypeSwitch.h"
#include "circt/Dialect/HW/HWTypes.cpp.inc"
Go to the source code of this file.
|
| circt |
| This file defines an intermediate representation for circuits acting as an abstraction for constraints defined over an SMT's solver context.
|
|
| circt::hw |
|
| circt::hw::detail |
|
|
static ParseResult | parseHWElementType (Type &result, AsmParser &p) |
| Parse and print nested HW types nicely. More...
|
|
static void | printHWElementType (Type element, AsmPrinter &p) |
|
bool | circt::hw::detail::operator== (const FieldInfo &a, const FieldInfo &b) |
|
llvm::hash_code | circt::hw::detail::hash_value (const FieldInfo &fi) |
|
static ParseResult | parseFields (AsmParser &p, SmallVectorImpl< FieldInfo > ¶meters) |
| Parse a list of unique field names and types within <>. More...
|
|
static void | printFields (AsmPrinter &p, ArrayRef< FieldInfo > fields) |
| Print out a list of named fields surrounded by <>. More...
|
|
static std::pair< uint64_t, SmallVector< uint64_t > > | getFieldIDsStruct (const StructType &st) |
|
bool | circt::hw::detail::operator== (const OffsetFieldInfo &a, const OffsetFieldInfo &b) |
|
llvm::hash_code | circt::hw::detail::hash_value (const OffsetFieldInfo &fi) |
|
static LogicalResult | parseArray (AsmParser &p, Attribute &dim, Type &inner) |
|
static Type | computeCanonicalType (Type type) |
|
static StringRef | dirToStr (ModulePort::Direction dir) |
|
static ModulePort::Direction | strToDir (StringRef str) |
|
static ParseResult | parsePorts (AsmParser &p, SmallVectorImpl< ModulePort > &ports) |
| Parse a list of field names and types within <>. More...
|
|
static void | printPorts (AsmPrinter &p, ArrayRef< ModulePort > ports) |
| Print out a list of named fields surrounded by <>. More...
|
|
static bool | circt::hw::operator== (const ModulePort &a, const ModulePort &b) |
|
static llvm::hash_code | circt::hw::hash_value (const ModulePort &port) |
|
◆ GET_TYPEDEF_CLASSES
#define GET_TYPEDEF_CLASSES |
◆ GET_TYPEDEF_LIST
◆ computeCanonicalType()
static Type computeCanonicalType |
( |
Type |
type | ) |
|
|
static |
◆ dirToStr()
◆ getFieldIDsStruct()
static std::pair<uint64_t, SmallVector<uint64_t> > getFieldIDsStruct |
( |
const StructType & |
st | ) |
|
|
static |
◆ parseArray()
static LogicalResult parseArray |
( |
AsmParser & |
p, |
|
|
Attribute & |
dim, |
|
|
Type & |
inner |
|
) |
| |
|
static |
◆ parseFields()
static ParseResult parseFields |
( |
AsmParser & |
p, |
|
|
SmallVectorImpl< FieldInfo > & |
parameters |
|
) |
| |
|
static |
Parse a list of unique field names and types within <>.
E.g.: <foo: i7, bar: i8>
Definition at line 243 of file HWTypes.cpp.
◆ parseHWElementType()
static ParseResult parseHWElementType |
( |
Type & |
result, |
|
|
AsmParser & |
p |
|
) |
| |
|
static |
Parse and print nested HW types nicely.
These helper methods allow eliding the "hw." prefix on array, inout, and other types when in a context that expects HW subelement types.
Definition at line 164 of file HWTypes.cpp.
◆ parsePorts()
static ParseResult parsePorts |
( |
AsmParser & |
p, |
|
|
SmallVectorImpl< ModulePort > & |
ports |
|
) |
| |
|
static |
Parse a list of field names and types within <>.
E.g.: <foo: i7, bar: i8>
Definition at line 1041 of file HWTypes.cpp.
◆ printFields()
static void printFields |
( |
AsmPrinter & |
p, |
|
|
ArrayRef< FieldInfo > |
fields |
|
) |
| |
|
static |
Print out a list of named fields surrounded by <>.
Definition at line 275 of file HWTypes.cpp.
◆ printHWElementType()
static void printHWElementType |
( |
Type |
element, |
|
|
AsmPrinter & |
p |
|
) |
| |
|
static |
◆ printPorts()
static void printPorts |
( |
AsmPrinter & |
p, |
|
|
ArrayRef< ModulePort > |
ports |
|
) |
| |
|
static |
Print out a list of named fields surrounded by <>.
Definition at line 1058 of file HWTypes.cpp.
◆ strToDir()