P4C
The P4 Compiler
Loading...
Searching...
No Matches
legacy_action_packing_validator.h
1
19#ifndef BF_P4C_PHV_LEGACY_ACTION_PACKING_VALIDATOR_H_
20#define BF_P4C_PHV_LEGACY_ACTION_PACKING_VALIDATOR_H_
21
22#include <optional>
23
24#include "bf-p4c/phv/action_packing_validator_interface.h"
25#include "lib/ordered_set.h"
26
27namespace PHV {
28namespace legacy {
29
35 private:
36 const ActionSourceTracker &sources_i;
37 const PhvUse &uses_i;
38
39 public:
40 explicit ActionPackingValidator(const ActionSourceTracker &sources, const PhvUse &uses)
41 : sources_i(sources), uses_i(uses) {}
42
47 const ordered_set<const SuperCluster::SliceList *> &can_be_further_split = {},
48 const bool loose_mode = false) const override;
49};
50
51} // namespace legacy
52} // namespace PHV
53
54#endif /* BF_P4C_PHV_LEGACY_ACTION_PACKING_VALIDATOR_H_ */
Definition ordered_set.h:32
Definition action_packing_validator_interface.h:33
ActionSourceTracker collects all source-to-destination for all field slices.
Definition action_source_tracker.h:49
Definition legacy_action_packing_validator.h:34
Result can_pack(const ordered_set< const SuperCluster::SliceList * > &slice_lists, const ordered_set< const SuperCluster::SliceList * > &can_be_further_split={}, const bool loose_mode=false) const override
Definition legacy_action_packing_validator.cpp:575
Definition phv_parde_mau_use.h:154
The namespace encapsulating PHV-related stuff.
Definition gateway.h:32
Definition action_packing_validator_interface.h:35