|
CIRCT 23.0.0git
|
Identify a specific subfield (or the whole) of an SSA value using the HW field ID scheme. More...
#include <DeseqUtils.h>

Public Member Functions | |
| ValueField ()=default | |
| ValueField (Value value, uint64_t fieldID, Value projection={}, uint64_t bitID=0, uint64_t bitWidth=0) | |
| Value | getProjected () const |
| bool | operator== (const ValueField &other) const |
| bool | operator!= (const ValueField &other) const |
| operator bool () const | |
Public Attributes | |
| Value | value |
| The root SSA value being accessed (e.g. the full struct or array). | |
| uint64_t | fieldID = 0 |
| The HW field ID describing which subfield is referenced. | |
| uint64_t | bitID = 0 |
| Optional bit/slice projection within the selected field. | |
| uint64_t | bitWidth = 0 |
| Width (in bits) of the final extracted slice. | |
| Value | projection |
| An optional SSA value that already materializes this specific subfield. | |
Identify a specific subfield (or the whole) of an SSA value using the HW field ID scheme.
fieldID == 0 means the whole value.
Definition at line 27 of file DeseqUtils.h.
|
default |
|
inline |
Definition at line 45 of file DeseqUtils.h.
|
inline |
Definition at line 50 of file DeseqUtils.h.
References projection, and value.
|
inline |
Definition at line 57 of file DeseqUtils.h.
References value.
|
inline |
Definition at line 56 of file DeseqUtils.h.
|
inline |
| uint64_t circt::llhd::deseq::ValueField::bitID = 0 |
Optional bit/slice projection within the selected field.
0 means the whole field, otherwise this is lowBit + 1 of a comb.extract applied to the field (and can be chained by addition).
Definition at line 36 of file DeseqUtils.h.
Referenced by llvm::DenseMapInfo< circt::llhd::deseq::ValueField >::getHashValue(), and operator==().
| uint64_t circt::llhd::deseq::ValueField::bitWidth = 0 |
Width (in bits) of the final extracted slice.
0 means no explicit slice width is tracked.
Definition at line 39 of file DeseqUtils.h.
Referenced by llvm::DenseMapInfo< circt::llhd::deseq::ValueField >::getHashValue(), and operator==().
| uint64_t circt::llhd::deseq::ValueField::fieldID = 0 |
The HW field ID describing which subfield is referenced.
0 means the whole value.
Definition at line 32 of file DeseqUtils.h.
Referenced by llvm::DenseMapInfo< circt::llhd::deseq::ValueField >::getHashValue(), and operator==().
| Value circt::llhd::deseq::ValueField::projection |
An optional SSA value that already materializes this specific subfield.
For non-projection values, this is identical to value.
Definition at line 42 of file DeseqUtils.h.
Referenced by getProjected().
| Value circt::llhd::deseq::ValueField::value |
The root SSA value being accessed (e.g. the full struct or array).
Definition at line 29 of file DeseqUtils.h.
Referenced by llvm::DenseMapInfo< circt::llhd::deseq::ValueField >::getHashValue(), getProjected(), synth.Object::is_output_port(), operator bool(), operator==(), and Python.support.OpOperand::type().