P4C
The P4 Compiler
 
Loading...
Searching...
No Matches
DPDK::CollectUseDefInfo Class Reference
Inheritance diagram for DPDK::CollectUseDefInfo:

Public Member Functions

 CollectUseDefInfo (P4::TypeMap *typeMap)
 
bool haveSingleUseDef (cstring str)
 
bool preorder (const IR::DpdkBinaryStatement *b) override
 
bool preorder (const IR::DpdkCastStatement *c) override
 
bool preorder (const IR::DpdkChecksumAddStatement *c) override
 
bool preorder (const IR::DpdkChecksumSubStatement *c) override
 
bool preorder (const IR::DpdkCounterCountStatement *c) override
 
bool preorder (const IR::DpdkEmitStatement *e) override
 
bool preorder (const IR::DpdkExtractStatement *e) override
 
bool preorder (const IR::DpdkGetHashStatement *c) override
 
bool preorder (const IR::DpdkJmpCondStatement *b) override
 
bool preorder (const IR::DpdkLearnStatement *b) override
 
bool preorder (const IR::DpdkLookaheadStatement *l) override
 
bool preorder (const IR::DpdkMeterDeclStatement *c) override
 
bool preorder (const IR::DpdkMeterExecuteStatement *e) override
 
bool preorder (const IR::DpdkMirrorStatement *m) override
 
bool preorder (const IR::DpdkMovStatement *mv) override
 
bool preorder (const IR::DpdkRearmStatement *r) override
 
bool preorder (const IR::DpdkRecircidStatement *t) override
 
bool preorder (const IR::DpdkRegisterDeclStatement *r) override
 
bool preorder (const IR::DpdkRegisterReadStatement *r) override
 
bool preorder (const IR::DpdkRegisterWriteStatement *r) override
 
bool preorder (const IR::DpdkRxStatement *r) override
 
bool preorder (const IR::DpdkTable *t) override
 
bool preorder (const IR::DpdkTxStatement *t) override
 
bool preorder (const IR::DpdkUnaryStatement *u) override
 
bool preorder (const IR::DpdkVerifyStatement *v) override
 

Public Attributes

std::unordered_map< cstring, int > defInfo
 
std::unordered_map< cstring, bool > dontEliminate
 
std::unordered_map< cstring, const IR::Expression * > replacementMap
 
std::unordered_map< cstring, int > usesInfo
 

Detailed Description

This pass collect use def info by analysing all possible source and destinations, this info will be used by copy elimination pass