P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
VLIW::Operand::Action Struct Reference
Inheritance diagram for VLIW::Operand::Action:
[legend]

Public Member Functions

 Action (int line, const std::string &n, Table *tbl, Table::Format::Field *f, unsigned l, unsigned h)
 
 Action (int line, const std::string &n, Table *tbl, Table::Format::Field *f, unsigned l, unsigned h, const std::string &m)
 
 Action (int line, const std::string &n, TableOutputModifier mod, Table *tbl, unsigned l, unsigned h)
 
 Action (int line, const std::string &n, TableOutputModifier mod, Table *tbl, unsigned l, unsigned h, const std::string &m)
 
unsigned bitoffset (int group) const override
 
int bits (int group, int dest_size=-1) override
 
Actionclone () override
 
void dbprint (std::ostream &out) const override
 
bool equiv (const Base *a_) const override
 
void pass1 (Table *tbl, int group) override
 
void pass2 (int group) override
 
- Public Member Functions inherited from VLIW::Operand::Base
 Base (const Base &a)
 
 Base (int line)
 
virtual bool check ()
 
virtual Baselookup (Base *&ref)
 
virtual int phvGroup ()
 
virtual bool phvRead (std::function< void(const ::Phv::Slice &sl)>)
 

Public Attributes

Table::Format::Fieldfield
 
int hi
 
int lo
 
TableOutputModifier mod = TableOutputModifier::NONE
 
std::string name
 
std::string p4name
 
Tabletable
 
- Public Attributes inherited from VLIW::Operand::Base
int lineno
 

Member Function Documentation

◆ bitoffset()

unsigned VLIW::Operand::Action::bitoffset ( int group) const
inlineoverridevirtual

Reimplemented from VLIW::Operand::Base.

◆ bits()

int VLIW::Operand::Action::bits ( int group,
int dest_size = -1 )
inlineoverridevirtual

Implements VLIW::Operand::Base.

◆ clone()

Action * VLIW::Operand::Action::clone ( )
inlineoverridevirtual

Implements VLIW::Operand::Base.

◆ dbprint()

void VLIW::Operand::Action::dbprint ( std::ostream & out) const
inlineoverridevirtual

Implements VLIW::Operand::Base.

◆ equiv()

bool VLIW::Operand::Action::equiv ( const Base * a_) const
inlineoverridevirtual

Implements VLIW::Operand::Base.

◆ pass1()

void VLIW::Operand::Action::pass1 ( Table * tbl,
int group )
inlineoverridevirtual

pass1 called as part of pass1 processing of stage

Parameters
tbltable containing the action with the instruction with this operand
groupmau PHV group of the ALU (dest) for this instruction

Reimplemented from VLIW::Operand::Base.

◆ pass2()

void VLIW::Operand::Action::pass2 ( int group)
inlineoverridevirtual

pass2 called as part of pass2 processing of stage

Parameters
groupmau PHV group of the ALU (dest) for this instruction

Reimplemented from VLIW::Operand::Base.