P4C
The P4 Compiler
 
Loading...
Searching...
No Matches
P4::Reassociation Class Referencefinal
Inheritance diagram for P4::Reassociation:

Public Member Functions

const IR::Node * postorder (IR::Add *expr) override
 
const IR::Node * postorder (IR::BAnd *expr) override
 
const IR::Node * postorder (IR::BOr *expr) override
 
const IR::Node * postorder (IR::BXor *expr) override
 
const IR::Node * postorder (IR::Mul *expr) override
 
const IR::BlockStatement * preorder (IR::BlockStatement *bs) override
 
const IR::Node * reassociate (IR::Operation_Binary *root)
 

Detailed Description

Implements a pass that reorders associative operations when beneficial. For example, (a + c0) + c1 is rewritten as a + (c0 + c1) when cs are constants.