My Project
|
A class for ordering Varnode terms in an additive expression. More...
#include <coreaction.hh>
Public Member Functions | |
TermOrder (PcodeOp *rt) | |
Construct given root PcodeOp. | |
int4 | getSize (void) const |
Get the number of terms in the expression. | |
void | collect (void) |
Collect all the terms in the expression. More... | |
void | sortTerms (void) |
Sort the terms using additiveCompare() | |
const vector< PcodeOpEdge * > & | getSort (void) |
Get the sorted list of references. | |
A class for ordering Varnode terms in an additive expression.
Given the final PcodeOp in a data-flow expression that sums 2 or more Varnode terms, this class collects all the terms then allows sorting of the terms to facilitate constant collapse and factoring simplifications.
void TermOrder::collect | ( | void | ) |
Collect all the terms in the expression.
Assuming root->getOut() is the root of an expression formed with the CPUI_INT_ADD op, collect all the Varnode terms of the expression.