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

Public Member Functions

 HashDist (int line, Table *t)
 
 HashDist (int line, Table *t, int unit)
 
unsigned bitoffset (int group) const override
 
int bits (int group, int dest_size=-1) override
 
HashDistclone () override
 
void dbprint (std::ostream &out) const override
 
bool equiv (const Base *a_) const override
 
HashDistributionfind_hash_dist (int unit) const
 
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 void pass1 (Table *tbl, int group)
 
virtual int phvGroup ()
 
virtual bool phvRead (std::function< void(const ::Phv::Slice &sl)>)
 

Static Public Member Functions

static HashDistparse (Table *tbl, const VECTOR(value_t) &v)
 

Public Attributes

int hi = -1
 
int lo = -1
 
Tabletable
 
std::vector< int > units
 
- Public Attributes inherited from VLIW::Operand::Base
int lineno
 

Member Function Documentation

◆ bitoffset()

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

Reimplemented from VLIW::Operand::Base.

◆ bits()

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

Implements VLIW::Operand::Base.

◆ clone()

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

Implements VLIW::Operand::Base.

◆ dbprint()

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

Implements VLIW::Operand::Base.

◆ equiv()

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

Implements VLIW::Operand::Base.

◆ pass2()

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