|
void | add_alloc (const PHV::AllocSlice &alloc) |
| Allocate a slice of this field.
|
|
PHV::AllocSlice * | add_and_return_alloc (const Field *f, PHV::Container c, int fb, int cb, int w, const ActionSet &a) |
|
bool | add_wide_arith_start_bit (int start_bit) |
|
size_t | alloc_size () const |
|
bool | bit_is_wide_arith_lo (int slice_bit) const |
|
bool | bit_used_in_wide_arith (int slice_bit) const |
|
le_bitrange | byteAlignedRangeInBits () const |
|
void | clear_alloc () |
| Clear any PHV allocation for this field.
|
|
void | clearExternalName () |
| Clear the external name, if any has been set.
|
|
int | container_bytes (std::optional< le_bitrange > bits=std::nullopt) const |
|
bool | deparsed () const |
|
bool | deparsed_bottom_bits () const |
|
bool | deparsed_to_tm () const |
|
bool | deparsed_top_bits () const |
|
bool | emitted () const |
|
void | erase_alignment () |
|
void | eraseAlignment () |
| Erase the alignment requirement for this field.
|
|
bool | exact_containers () const |
|
cstring | externalName () const |
|
const PHV::AllocSlice & | for_bit (int bit) const |
|
void | foreach_alloc (const IR::MAU::Table *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (const le_bitrange *r, const IR::MAU::Table *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (const le_bitrange *r, const PHV::AllocContext *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (const PHV::AllocContext *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (le_bitrange r, const IR::MAU::Table *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (le_bitrange r, const PHV::AllocContext *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (le_bitrange r, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_alloc (std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_byte (const IR::MAU::Table *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_byte (const le_bitrange *r, const IR::MAU::Table *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_byte (const le_bitrange *r, const PHV::AllocContext *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_byte (const PHV::AllocContext *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_byte (le_bitrange r, const IR::MAU::Table *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
void | foreach_byte (le_bitrange r, const PHV::AllocContext *ctxt, const PHV::FieldUse *use, std::function< void(const PHV::AllocSlice &)> fn, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
bool | fullyPhvAllocated (AllocState s) const |
|
safe_vector< PHV::AllocSlice > & | get_alloc () |
|
const safe_vector< PHV::AllocSlice > & | get_alloc () const |
|
const std::vector< PHV::AllocSlice > | get_combined_alloc_bytes (const PHV::AllocContext *ctxt, const PHV::FieldUse *use, SliceMatch useTblRefs=SliceMatch::DFLT) const |
|
const std::vector< PHV::AllocSlice > | get_combined_alloc_slices (le_bitrange bits, const PHV::AllocContext *ctxt, const PHV::FieldUse *use) const |
|
const Constraints::AlignmentConstraint & | getAlignmentConstraint () const |
|
const Constraints::DigestConstraint & | getDigestConstraint () const |
|
int | getMaxContainerBytes () const |
|
const Constraints::SolitaryConstraint & | getSolitaryConstraint () const |
|
bitvec | getStartBits (PHV::Size size) const |
|
bool | has_no_split_at_pos () const |
|
bool | hasAllocation (AllocState s) const |
| Determines whether s has a PHV allocation or a CLOT allocation.
|
|
bool | hasClotAllocation (AllocState s) const |
|
bool | hasExternalName () const |
|
bool | hasMaxContainerBytesConstraint () const |
|
bool | hasPhvAllocation (AllocState s) const |
| Utility functions to get field allocation status.
|
|
cstring | header () const |
|
bool | is_avoid_alloc () const |
|
bool | is_checksummed () const |
|
bool | is_dark_candidate () const |
|
bool | is_deparser_zero_candidate () const |
|
bool | is_digest () const |
|
bool | is_fixed_size_header () const |
|
bool | is_flexible () const |
|
bool | is_ignore_alloc () const |
|
bool | is_intrinsic () const |
|
bool | is_invalidate_from_arch () const |
|
bool | is_marshaled () const |
|
bool | is_mocha_candidate () const |
|
bool | is_overlayable () const |
|
bool | is_padding () const |
|
bool | is_solitary () const |
|
bool | is_tphv_candidate (const PhvUse &uses) const |
|
bool | is_unallocated () const |
|
bool | is_upcasted () const |
|
bool | isCompilerGeneratedPaddingField () const |
|
bool | isGhostField () const |
|
bool | isPacketField () const |
|
bool | isReferenced (AllocState s) const |
|
const std::optional< bitvec > & | limited_container_ids () const |
|
bool | no_holes () const |
|
bool | no_split () const |
|
bool | no_split_at (int pos) const |
|
int | no_split_container_size () const |
|
std::vector< le_bitrange > | no_split_ranges () const |
|
size_t | num_pack_conflicts () const |
|
safe_vector< FieldOperation > & | operations () |
|
const safe_vector< FieldOperation > & | operations () const |
|
bool | operator< (const Field &other) const |
| Orders by name.
|
|
bool | parsed () const |
|
bool | partiallyPhvAllocated (AllocState s) const |
|
PHV::Size | prefer_container_size () const |
|
bool | same_container_group () const |
|
void | set_alignment (Constraints::AlignmentConstraint &c) |
|
void | set_alignment (unsigned r, unsigned v) |
|
void | set_alloc (const safe_vector< PHV::AllocSlice > &alloc) |
| Set all allocated slices of this field.
|
|
void | set_avoid_alloc (bool a) |
|
void | set_dark_candidate (bool c) |
|
void | set_deparsed (bool b) |
|
void | set_deparsed_bottom_bits (bool b) |
|
void | set_deparsed_to_tm (bool b) |
|
void | set_deparsed_top_bits (bool b) |
|
void | set_deparser_zero_candidate (bool c) |
|
void | set_digest (uint32_t source) |
|
void | set_emitted (bool b) |
|
void | set_exact_containers (bool b) |
|
void | set_fixed_size_header (bool f) |
|
void | set_flexible (bool b) |
|
void | set_ignore_alloc (bool b) |
|
void | set_intrinsic (bool b) |
|
void | set_invalidate_from_arch (bool b) |
|
void | set_is_checksummed (bool b) |
|
void | set_is_marshaled (bool b) |
|
void | set_limited_container_ids (const std::optional< bitvec > &ids) |
|
void | set_mocha_candidate (bool c) |
|
void | set_no_holes (bool b) |
|
void | set_no_split (bool b) |
|
void | set_no_split_at (le_bitrange range) |
|
void | set_no_split_container_size (int size) |
|
void | set_num_pack_conflicts (size_t no) |
|
void | set_overlayable (bool p) |
|
void | set_padding (bool p) |
|
void | set_parsed (bool b) |
|
void | set_prefer_container_size (PHV::Size cnt_size) |
|
void | set_same_container_group (bool b) |
|
void | set_solitary (uint32_t reason) |
|
void | set_upcasted (bool c) |
|
void | set_written_in_force_immediate (bool b) |
|
void | setExternalName (cstring name) |
|
void | setMaxContainerBytes (int size) |
|
void | setStartBits (PHV::Size size, bitvec startPositions) |
|
void | setStartBitsToLowerBitsOfBottomByte () |
|
void | sort_alloc () |
| Sort by field MSB.
|
|
void | updateAlignment (PHV::AlignmentReason, const FieldAlignment &newAlignment, const Util::SourceInfo &newAlignmentSource) |
|
void | updateValidContainerRange (nw_bitrange newValidRange) |
|
bool | used_in_wide_arith () const |
|
nw_bitrange | validContainerRange () const |
|
bool | written_in_force_immediate_table () const |
|
| OPERATOR (equal, Equal) |
|
| OPERATOR (greater, Greater) |
|
| OPERATOR (greater_equal, GreaterEqual) |
|
| OPERATOR (less, Less) |
|
| OPERATOR (less_equal, LessEqual) |
|
| OPERATOR (not_equal, NotEqual) |
|
bool | operator!= (const Field &other) const |
|
virtual bool | operator< (const Field &) const=0 |
|
bool | operator<= (const Field &other) const |
|
bool | operator== (const Field &other) const |
|
bool | operator> (const Field &other) const |
|
bool | operator>= (const Field &other) const |
|