P4C
The P4 Compiler
Loading...
Searching...
No Matches
allocate_clot.h
1
19#ifndef BACKENDS_TOFINO_BF_P4C_PARDE_CLOT_ALLOCATE_CLOT_H_
20#define BACKENDS_TOFINO_BF_P4C_PARDE_CLOT_ALLOCATE_CLOT_H_
21
22#include "clot_info.h"
23
24class PragmaAlias;
25
26class AllocateClot : public PassManager {
27 ClotInfo clotInfo;
28
29 public:
30 explicit AllocateClot(ClotInfo &clotInfo, const PhvInfo &phv, PhvUse &uses,
31 PragmaDoNotUseClot &pragmaDoNotUseClot, PragmaAlias &pragmaAlias,
32 bool log = true);
33};
34
39class ClotAdjuster : public Visitor {
40 ClotInfo &clotInfo;
41 const PhvInfo &phv;
42 Logging::FileLog *log = nullptr;
43
44 public:
45 ClotAdjuster(ClotInfo &clotInfo, const PhvInfo &phv) : clotInfo(clotInfo), phv(phv) {}
46
47 Visitor::profile_t init_apply(const IR::Node *root) override;
48 const IR::Node *apply_visitor(const IR::Node *root, const char *) override;
49 void end_apply(const IR::Node *root) override;
50};
51
52#endif /* BACKENDS_TOFINO_BF_P4C_PARDE_CLOT_ALLOCATE_CLOT_H_ */
Definition allocate_clot.h:26
AllocateClot(ClotInfo &clotInfo, const PhvInfo &phv, PhvUse &uses, PragmaDoNotUseClot &pragmaDoNotUseClot, PragmaAlias &pragmaAlias, bool log=true)
Definition allocate_clot.cpp:1576
Definition allocate_clot.h:39
Definition clot_info.h:41
A FileLog is used to redirect the logging output of a visitor pass to a file.
Definition filelog.h:48
Definition node.h:95
Definition ir/pass_manager.h:40
Definition visitor.h:78
Definition visitor.h:75
Definition phv_fields.h:1095
Definition phv_parde_mau_use.h:154
Definition pa_alias.h:38
do_not_use_clot pragma support.
Definition do_not_use_clot.h:37