![]() |
P4C
The P4 Compiler
|
Public Member Functions | |
| EmitAlwaysRunAction (const MauAsmOutput &s, std::ostream &o, const IR::MAU::Table *tbl, indent_t i) | |
Public Member Functions inherited from MauAsmOutput::EmitAction | |
| EmitAction (const MauAsmOutput &s, std::ostream &o, const IR::MAU::Table *tbl, indent_t i) | |
Public Member Functions inherited from P4::Inspector | |
| const IR::Node * | apply_visitor (const IR::Node *, const char *name=0) override |
| profile_t | init_apply (const IR::Node *root) override |
| virtual void | loop_revisit (const IR::Node *) |
| virtual void | postorder (const IR::Node *) |
| virtual bool | preorder (const IR::Node *) |
| virtual void | revisit (const IR::Node *) |
| void | revisit_visited () |
| bool | visit_in_progress (const IR::Node *n) const |
| void | visitAgain () const override |
| void | visitOnce () const override |
Public Member Functions inherited from P4::Visitor | |
| virtual bool | check_global (cstring) |
| virtual void | clear_globals () |
| virtual Visitor * | clone () const |
| virtual ControlFlowVisitor * | controlFlowVisitor () |
| virtual void | end_apply () |
| virtual void | end_apply (const IR::Node *root) |
| virtual void | erase_global (cstring) |
| template<class T> | |
| const T * | findContext () const |
| template<class T> | |
| const T * | findContext (const Context *&c) const |
| template<class T> | |
| const T * | findOrigCtxt () const |
| template<class T> | |
| const T * | findOrigCtxt (const Context *&c) const |
| virtual Visitor & | flow_clone () |
| virtual void | flow_merge (Visitor &) |
| virtual bool | flow_merge_closure (Visitor &) |
| virtual void | flow_merge_global_from (cstring) |
| virtual void | flow_merge_global_to (cstring) |
| const Context * | getChildContext () const |
| int | getChildrenVisited () const |
| const Context * | getContext () const |
| int | getContextDepth () const |
| const IR::Node * | getCurrentNode () const |
| template<class T> | |
| const T * | getCurrentNode () const |
| const IR::Node * | getOriginal () const |
| template<class T> | |
| const T * | getOriginal () const |
| template<class T> | |
| const T * | getParent () const |
| virtual bool | has_flow_joins () const |
| profile_t | init_apply (const IR::Node *root, const Context *parent_context) |
| template<class T> | |
| bool | isInContext () const |
| template<class T> | |
| bool | isInContext (const Context *&c) const |
| bool | isInContext (const IR::Node *n) const |
| virtual const char * | name () const |
| template<class T> | |
| void | parallel_visit (const IR::Vector< T > &v, const char *name, int cidx) |
| template<class T> | |
| void | parallel_visit (const IR::Vector< T > &v, const char *name=0) |
| template<class T> | |
| void | parallel_visit (IR::Vector< T > &v, const char *name, int cidx) |
| template<class T> | |
| void | parallel_visit (IR::Vector< T > &v, const char *name=0) |
| void | print_context () const |
| const Visitor & | setCalledBy (const Visitor *visitor) |
| void | setName (const char *name) |
| void | visit (const IR::Node &n, const char *name, int cidx) |
| void | visit (const IR::Node &n, const char *name=0) |
| void | visit (const IR::Node *&n, const char *name, int cidx) |
| void | visit (const IR::Node *&n, const char *name=0) |
| void | visit (const IR::Node *const &n, const char *name, int cidx) |
| void | visit (const IR::Node *const &n, const char *name=0) |
| void | visit (IR::Node &n, const char *name, int cidx) |
| void | visit (IR::Node &n, const char *name=0) |
| void | visit (IR::Node *&, const char *=0, int=0) |
| template<class T, typename = std::enable_if_t<Util::has_SourceInfo_v<T> && !std::is_pointer_v<T>>, class... Args> | |
| void | warn (const int kind, const char *format, const T &node, Args &&...args) |
| The const ref variant of the above. | |
| template<class T, typename = std::enable_if_t<Util::has_SourceInfo_v<T>>, class... Args> | |
| void | warn (const int kind, const char *format, const T *node, Args &&...args) |
| bool | warning_enabled (int warning_kind) const |
Public Member Functions inherited from TofinoWriteContext | |
| bool | isIxbarRead (bool root_value=false) |
| bool | isRead (bool root_value=false) |
| bool | isWrite (bool root_value=false) |
Additional Inherited Members | |
Public Types inherited from P4::Visitor | |
| typedef Visitor_Context | Context |
Static Public Member Functions inherited from P4::Visitor | |
| static cstring | demangle (const char *) |
| static bool | warning_enabled (const Visitor *visitor, int warning_kind) |
Public Attributes inherited from P4::Visitor | |
| const Visitor * | called_by = nullptr |
| cstring | internalName |
| SplitFlowVisit_base *& | split_link |
| SplitFlowVisit_base * | split_link_mem = nullptr |
Protected Member Functions inherited from MauAsmOutput::EmitAction | |
| void | action_context_json (const IR::MAU::Action *act) |
| void | handle_hash_dist (const IR::Expression *expr) |
| void | handle_phv_expr (const IR::Expression *expr) |
| void | handle_random_number (const IR::Expression *expr) |
| void | mod_cond_value (const IR::MAU::Action *act) |
| void | next_table (const IR::MAU::Action *act, int mem_code) |
| void | postorder (const IR::MAU::Action *) override |
| void | postorder (const IR::MAU::Instruction *) override |
| bool | preorder (const IR::Annotation *) override |
| bool | preorder (const IR::BAnd *e) override |
| bool | preorder (const IR::BoolLiteral *c) override |
| bool | preorder (const IR::Cast *c) override |
| bool | preorder (const IR::Constant *c) override |
| bool | preorder (const IR::Expression *exp) override |
| bool | preorder (const IR::LAnd *e) override |
| bool | preorder (const IR::LNot *) override |
| bool | preorder (const IR::LOr *e) override |
| bool | preorder (const IR::MAU::Action *act) override |
| bool | preorder (const IR::MAU::ActionArg *a) override |
| bool | preorder (const IR::MAU::ActionDataConstant *adc) override |
| bool | preorder (const IR::MAU::AttachedOutput *att) override |
| bool | preorder (const IR::MAU::ConditionalArg *) override |
| bool | preorder (const IR::MAU::HashDist *hd) override |
| bool | preorder (const IR::MAU::Instruction *inst) override |
| bool | preorder (const IR::MAU::IXBarExpression *e) override |
| bool | preorder (const IR::MAU::MultiOperand *mo) override |
| bool | preorder (const IR::MAU::RandomNumber *rn) override |
| bool | preorder (const IR::MAU::SaluAction *act) override |
| bool | preorder (const IR::MAU::SaluFunction *fn) override |
| bool | preorder (const IR::MAU::SaluReg *r) override |
| bool | preorder (const IR::MAU::SaluRegfileRow *srr) override |
| bool | preorder (const IR::MAU::StatefulCounter *sc) override |
| bool | preorder (const IR::MAU::WrappedSlice *sl) override |
| bool | preorder (const IR::Member *m) override |
| bool | preorder (const IR::Neg *) override |
| bool | preorder (const IR::Node *n) override |
| bool | preorder (const IR::Slice *sl) override |
| bool | preorder_binop (const IR::Operation::Binary *bin, const char *op) |
Protected Member Functions inherited from P4::Visitor | |
| virtual void | init_join_flows (const IR::Node *) |
| virtual bool | join_flows (const IR::Node *) |
| virtual void | post_join_flows (const IR::Node *, const IR::Node *) |
| void | visit_children (const IR::Node *, std::function< void()> fn) |
Protected Attributes inherited from MauAsmOutput::EmitAction | |
| std::map< cstring, cstring > | alias |
| indent_t | indent |
| bool | is_empty = false |
| std::ostream & | out |
| const MauAsmOutput & | self |
| const char * | sep = nullptr |
| const IR::MAU::Table * | table |
Protected Attributes inherited from P4::Visitor | |
| bool | dontForwardChildrenBeforePreorder = false |
| bool | joinFlows = false |
| bool | visitDagOnce = true |
Behaves mostly the same as EmitAction, except all the preamble before the action's instructions is replaced with an always_run_action header.