CIRCT
18.0.0git
|
Namespaces | |
detail | |
Classes | |
struct | Range |
The [a:b] part in a vector/array type such as logic [a:b] . More... | |
struct | SimpleBitVectorType |
A simple bit vector type. More... | |
class | SVType |
Base class for all SystemVerilog types in the Moore dialect. More... | |
class | UnpackedType |
An unpacked SystemVerilog type. More... | |
class | PackedType |
A packed SystemVerilog type. More... | |
class | VoidType |
The void type. More... | |
class | StringType |
The string type. More... | |
class | ChandleType |
The chandle type. More... | |
class | EventType |
The event type. More... | |
class | IntType |
An integer vector or atom type. More... | |
class | RealType |
A real type. More... | |
class | IndirectTypeBase |
Common base class for name and type reference indirections. More... | |
class | NamedTypeBase |
A named type. More... | |
class | RefTypeBase |
A type reference. More... | |
class | PackedIndirectType |
A packed type indirection. See IndirectTypeBase for details. More... | |
class | UnpackedIndirectType |
An unpacked type indirection. See IndirectTypeBase for details. More... | |
class | PackedNamedType |
A packed named type. See NamedTypeBase for details. More... | |
class | UnpackedNamedType |
An unpacked named type. See NamedTypeBase for details. More... | |
class | PackedRefType |
A packed named type. See NamedTypeBase for details. More... | |
class | UnpackedRefType |
An unpacked named type. See NamedTypeBase for details. More... | |
class | PackedDim |
A packed dimension. More... | |
class | PackedUnsizedDim |
A packed unsized dimension, like [] . More... | |
class | PackedRangeDim |
A packed range dimension, like [a:b] . More... | |
class | UnpackedDim |
An unpacked dimension. More... | |
class | UnpackedUnsizedDim |
An unpacked unsized dimension, like [] . More... | |
class | UnpackedArrayDim |
An unpacked array dimension, like [a] . More... | |
class | UnpackedRangeDim |
An unpacked range dimension, like [a:b] . More... | |
class | UnpackedAssocDim |
An unpacked associative dimension, like [T] or [*] . More... | |
class | UnpackedQueueDim |
An unpacked queue dimension with optional bound, like [$] or [$:a] . More... | |
class | EnumType |
An enum type. More... | |
struct | StructMember |
A member of a struct. More... | |
struct | Struct |
A struct. More... | |
class | PackedStructType |
A packed struct. More... | |
class | UnpackedStructType |
An unpacked struct. More... | |
Enumerations | |
enum class | Domain { TwoValued , FourValued } |
The number of values each bit of a type can assume. More... | |
enum class | Sign { Unsigned , Signed } |
Whether a type is signed or unsigned. More... | |
enum class | RangeDir { Up , Down } |
Which side is greater in a range [a:b] . More... | |
enum class | StructKind { Struct , Union , TaggedUnion } |
Whether a struct is a struct , union , or union tagged . More... | |
Functions | |
StringRef | getKeywordFromSign (const Sign &sign) |
Map a Sign to the corresponding keyword. More... | |
std::optional< Sign > | getSignFromKeyword (StringRef keyword) |
Map the keywords unsigned and signed to the corresponding Sign . More... | |
template<typename Os > | |
Os & | operator<< (Os &os, const Sign &sign) |
llvm::hash_code | hash_value (const Range &x) |
template<typename Os > | |
Os & | operator<< (Os &os, const Range &range) |
llvm::hash_code | hash_value (const SimpleBitVectorType &x) |
template<typename Os > | |
Os & | operator<< (Os &os, const SimpleBitVectorType &type) |
template<typename Ty , std::enable_if_t< std::is_base_of< UnpackedType, Ty >::value, bool > = true> | |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &os, Ty type) |
StringRef | getMnemonicFromStructKind (StructKind kind) |
Map a StructKind to the corresponding mnemonic. More... | |
std::optional< StructKind > | getStructKindFromMnemonic (StringRef mnemonic) |
Map a mnemonic to the corresponding StructKind . More... | |
template<typename Os > | |
Os & | operator<< (Os &os, const StructKind &kind) |
llvm::hash_code | hash_value (const StructMember &x) |
llvm::raw_ostream & | operator<< (llvm::raw_ostream &os, const Struct &strukt) |
|
strong |
The number of values each bit of a type can assume.
Enumerator | |
---|---|
TwoValued | Two-valued types such as |
FourValued | Four-valued types such as |
Definition at line 27 of file MooreTypes.h.
|
strong |
Which side is greater in a range [a:b]
.
Enumerator | |
---|---|
Up |
|
Down |
|
Definition at line 54 of file MooreTypes.h.
|
strong |
Whether a type is signed or unsigned.
Enumerator | |
---|---|
Unsigned | An |
Signed | A |
Definition at line 35 of file MooreTypes.h.
|
strong |
Whether a struct is a struct
, union
, or union tagged
.
Enumerator | |
---|---|
Struct | A |
Union | A |
TaggedUnion | A |
Definition at line 1033 of file MooreTypes.h.
StringRef circt::moore::getKeywordFromSign | ( | const Sign & | sign | ) |
Map a Sign
to the corresponding keyword.
Definition at line 51 of file MooreTypes.cpp.
References Signed, and Unsigned.
Referenced by customTypePrinter(), and operator<<().
StringRef circt::moore::getMnemonicFromStructKind | ( | StructKind | kind | ) |
Map a StructKind
to the corresponding mnemonic.
Definition at line 1009 of file MooreTypes.cpp.
References Struct, TaggedUnion, and Union.
Referenced by customTypePrinter().
std::optional< Sign > circt::moore::getSignFromKeyword | ( | StringRef | keyword | ) |
Map the keywords unsigned
and signed
to the corresponding Sign
.
Definition at line 61 of file MooreTypes.cpp.
References Signed, and Unsigned.
Referenced by customTypeParser().
std::optional< StructKind > circt::moore::getStructKindFromMnemonic | ( | StringRef | mnemonic | ) |
Map a mnemonic to the corresponding StructKind
.
Definition at line 1021 of file MooreTypes.cpp.
References Struct, TaggedUnion, and Union.
Referenced by customTypeParser().
|
inline |
Definition at line 116 of file MooreTypes.h.
References circt::moore::Range::dir, circt::moore::Range::offset, and circt::moore::Range::size.
Referenced by llvm::DenseMapInfo< circt::moore::Range >::getHashValue().
|
inline |
Definition at line 205 of file MooreTypes.h.
References circt::moore::SimpleBitVectorType::domain, circt::moore::SimpleBitVectorType::explicitSign, circt::moore::SimpleBitVectorType::explicitSize, circt::moore::SimpleBitVectorType::sign, circt::moore::SimpleBitVectorType::size, and circt::moore::SimpleBitVectorType::usedAtom.
|
inline |
Definition at line 1069 of file MooreTypes.h.
References circt::moore::StructMember::loc, circt::moore::StructMember::name, and circt::moore::StructMember::type.
|
inline |
Definition at line 1109 of file MooreTypes.h.
References circt::moore::Struct::format().
llvm::raw_ostream& circt::moore::operator<< | ( | llvm::raw_ostream & | os, |
Ty | type | ||
) |
Definition at line 377 of file MooreTypes.h.
Os& circt::moore::operator<< | ( | Os & | os, |
const Range & | range | ||
) |
Definition at line 121 of file MooreTypes.h.
References circt::moore::Range::left(), and circt::moore::Range::right().
Os& circt::moore::operator<< | ( | Os & | os, |
const Sign & | sign | ||
) |
Definition at line 48 of file MooreTypes.h.
References getKeywordFromSign().
Os& circt::moore::operator<< | ( | Os & | os, |
const SimpleBitVectorType & | type | ||
) |
Definition at line 213 of file MooreTypes.h.
References circt::moore::SimpleBitVectorType::domain, circt::moore::SimpleBitVectorType::explicitSign, circt::moore::SimpleBitVectorType::explicitSize, circt::moore::SimpleBitVectorType::getRange(), circt::moore::SimpleBitVectorType::sign, circt::moore::SimpleBitVectorType::size, TwoValued, and Unsigned.
Os& circt::moore::operator<< | ( | Os & | os, |
const StructKind & | kind | ||
) |
Definition at line 1048 of file MooreTypes.h.