|
| ConcreteAllocation (const PhvInfo &, const PhvUse &, bool trivial=false) |
|
const_iterator | begin () const override |
| Iterate through container-->allocation slices.
|
|
bool | contains (PHV::Container c) const override |
|
void | deallocate (const ordered_set< PHV::AllocSlice > &slices) |
|
const_iterator | end () const override |
|
void | foreach_slice (const PHV::Field *f, std::function< void(const AllocSlice &)> cb) const override |
|
const ContainerStatus * | getStatus (const PHV::Container &c) const override |
|
FieldStatus | getStatus (const PHV::Field *f) const override |
|
size_t | size () const override |
|
void | addARAedge (gress_t grs, const IR::MAU::Table *src, const IR::MAU::Table *dst) const |
| Add a pair of tables in the ara_edges for a new ARA table.
|
|
bool | addDarkAllocation (const AllocSlice &slice) |
|
virtual void | addMetadataInitialization (AllocSlice slice, LiveRangeShrinkingMap initNodes) |
|
virtual ContainerAllocStatus | alloc_status (PHV::Container c) const |
|
virtual void | allocate (const AllocSlice slice, LiveRangeShrinkingMap *initNodes=nullptr, bool singleGressParserGroup=false) |
|
std::set< AvailableSpot > | available_spots () const |
| Return a set of available spots of this allocation.
|
|
virtual MutuallyLiveSlices | byteSlicesByLiveness (const PHV::Container c, const AllocSlice &sl, const PragmaNoInit &noInit) const |
|
Transaction * | clone (const Allocation &parent) const |
| Extract the child from the parent transaction and return a cloned version of the difference.
|
|
cstring | commit (Transaction &view) |
|
virtual GressAssignment | deparserGroupGress (PHV::Container c) const |
|
int | empty_containers (PHV::Size size) const |
|
void | foreach_slice (const PHV::Field *f, le_bitrange range, int stage, PHV::FieldUse access, std::function< void(const AllocSlice &)> cb) const |
|
void | foreach_slice (const PHV::Field *f, le_bitrange range, std::function< void(const AllocSlice &)> cb) const |
|
void | foreach_slice (PHV::Container c, int stage, PHV::FieldUse access, std::function< void(const AllocSlice &)> cb) const |
|
void | foreach_slice (PHV::Container c, le_bitrange range, int stage, PHV::FieldUse access, std::function< void(const AllocSlice &)> cb) const |
|
void | foreach_slice (PHV::Container c, le_bitrange range, std::function< void(const AllocSlice &)> cb) const |
|
void | foreach_slice (PHV::Container c, std::function< void(const AllocSlice &)> cb) const |
|
const ordered_map< gress_t, ordered_map< const IR::MAU::Table *, std::set< const IR::MAU::Table * > > > & | getARAedges () const |
|
virtual std::optional< ActionSet > | getInitPoints (const AllocSlice &slice) const |
|
virtual ActionSet | getInitPointsForField (const PHV::Field *f) const |
|
virtual const ordered_set< const PHV::Field * > | getMetadataInits (const IR::MAU::Action *act) const |
|
const ordered_map< const IR::BFN::ParserState *, std::set< PHV::Container > > & | getParserStateToContainers (const PhvInfo &phv, const MapFieldToParserStates &field_to_parser_states) const |
|
const ordered_set< unsigned > | getTagalongCollectionsUsed () const |
|
virtual GressAssignment | gress (const PHV::Container &c) const |
|
virtual bool | isDarkReadAvailable (PHV::Container c, unsigned minStage, unsigned maxStage) const |
|
virtual bool | isDarkWriteAvailable (PHV::Container c, unsigned minStage, unsigned maxStage) const |
|
virtual MutuallyLiveSlices | liverange_overlapped_slices (const PHV::Container c, const std::vector< AllocSlice > &slices) const |
|
virtual Transaction | makeTransaction () const |
| Create a Transaction based on this Allocation.
|
|
virtual ExtractSource | parserExtractGroupSource (PHV::Container c) const |
|
virtual GressAssignment | parserGroupGress (PHV::Container c) const |
|
std::string | printARAedges () const |
|
virtual void | removeAllocatedSlice (const ordered_set< PHV::AllocSlice > &slices) |
|
ordered_set< PHV::AllocSlice > | slices (const PHV::Field *f) const |
|
ordered_set< PHV::AllocSlice > | slices (const PHV::Field *f, int stage, PHV::FieldUse access) const |
|
ordered_set< PHV::AllocSlice > | slices (const PHV::Field *f, le_bitrange range) const |
|
ordered_set< PHV::AllocSlice > | slices (const PHV::Field *f, le_bitrange range, int stage, PHV::FieldUse access) const |
|
ordered_set< AllocSlice > | slices (PHV::Container c) const |
|
ordered_set< AllocSlice > | slices (PHV::Container c, int stage, PHV::FieldUse access) const |
|
ordered_set< AllocSlice > | slices (PHV::Container c, le_bitrange range) const |
|
ordered_set< AllocSlice > | slices (PHV::Container c, le_bitrange range, int stage, PHV::FieldUse access) const |
|
virtual MutuallyLiveSlices | slicesByLiveness (const PHV::Container c, const AllocSlice &sl) const |
|
virtual MutuallyLiveSlices | slicesByLiveness (const PHV::Container c, std::vector< AllocSlice > &slices) const |
|
virtual std::vector< MutuallyLiveSlices > | slicesByLiveness (PHV::Container c) const |
|
virtual cstring | toString () const |
|