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

Public Member Functions

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

Public Attributes

std::string action
 
int hi
 
int lo
 
TableOutputModifier mod = TableOutputModifier::NONE
 
std::string name
 
std::string p4name
 
Tabletbl
 
- Public Attributes inherited from VLIW::Operand::Base
int lineno
 

Member Function Documentation

◆ bitoffset()

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

Reimplemented from VLIW::Operand::Base.

◆ bits()

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

Implements VLIW::Operand::Base.

◆ check()

bool VLIW::Operand::Named::check ( )
inlineoverridevirtual

Reimplemented from VLIW::Operand::Base.

◆ clone()

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

Implements VLIW::Operand::Base.

◆ dbprint()

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

Implements VLIW::Operand::Base.

◆ equiv()

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

Implements VLIW::Operand::Base.

◆ lookup()

auto VLIW::Operand::Named::lookup ( Base *& ref)
overridevirtual

Reimplemented from VLIW::Operand::Base.

◆ pass1()

void VLIW::Operand::Named::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.

◆ phvGroup()

int VLIW::Operand::Named::phvGroup ( )
inlineoverridevirtual

Reimplemented from VLIW::Operand::Base.