|
| ConstrGraph (const Function &func, const DataflowNode &n, const NodeState &state, LiveDeadVarsAnalysis *ldva, FiniteVarsExprsProductLattice *divL, bool initialized=true, std::string indent="") |
|
| ConstrGraph (const Function &func, const DataflowNode &n, const NodeState &state, LiveDeadVarsAnalysis *ldva, const std::map< std::pair< std::string, void * >, FiniteVarsExprsProductLattice * > &divL, bool initialized=true, std::string indent="") |
|
| ConstrGraph (const Function &func, const std::set< NodeDesc > &nodes, const NodeState &state, LiveDeadVarsAnalysis *ldva, const std::map< std::pair< std::string, void * >, FiniteVarsExprsProductLattice * > &divL, bool initialized=true, std::string indent="") |
|
| ConstrGraph (ConstrGraph &that, bool initialized=true, std::string indent="") |
|
| ConstrGraph (const ConstrGraph *that, bool initialized=true, std::string indent="") |
|
| ConstrGraph (const std::set< varAffineInequality > &ineqs, const Function &func, const DataflowNode &n, const NodeState &state, LiveDeadVarsAnalysis *ldva, FiniteVarsExprsProductLattice *divL, std::string indent="") |
|
| ConstrGraph (const std::set< varAffineInequality > &ineqs, const Function &func, const DataflowNode &n, const NodeState &state, LiveDeadVarsAnalysis *ldva, const std::map< std::pair< std::string, void * >, FiniteVarsExprsProductLattice * > &divL, std::string indent="") |
|
void | initialize (std::string indent="") |
|
void | initialize () |
|
FiniteVarsExprsProductLattice * | getDivLattice (const varID &var, std::string indent="") |
|
std::string | DivLattices2Str (std::string indent="") |
|
bool | addVar (const varID &scalar, std::string indent="") |
|
bool | removeVar (const varID &scalar, std::string indent="") |
|
const varIDSet & | getVars () const |
|
varIDSet & | getVarsMod () |
|
void | copy (Lattice *that) |
|
Lattice * | copy () const |
|
bool | copyFrom (ConstrGraph &that, std::string indent="") |
|
bool | copyFromReplace (ConstrGraph &that, varID varTo, varID varFrom, std::string indent="") |
|
bool | copyVar (const ConstrGraph &that, const varID &var) |
|
bool | copyConstraints (ConstrGraph &that, std::string indent="") |
|
bool | copyConstraintsReplace (ConstrGraph &that, varID varTo, varID varFrom, std::string indent="") |
|
void | eraseConstraints (bool noBottomCheck=false, std::string indent="") |
|
bool | eraseVarConstr (const varID &eraseVar, bool noConsistencyCheck=false, std::string indent="") |
|
bool | eraseVarConstrNoDiv (const varID &eraseVar, bool noConsistencyCheck=false, std::string indent="") |
|
bool | eraseVarConstrNoDivVars (const varID &eraseVar, bool noConsistencyCheck=false, std::string indent="") |
|
bool | replaceVar (const varID &origVar, const varID &newVar, bool noConsistencyCheck=false, std::string indent="") |
|
bool | copyAnnotVars (std::string srcAnnotName, void *srcAnnotVal, std::string tgtAnnotName, void *tgtAnnotVal, const std::set< std::pair< std::string, void * > > &noCopyAnnots, const std::set< varID > &noCopyVars, std::string indent="") |
|
bool | mergeAnnotVars (const std::string &finalAnnotName, void *finalAnnotVal, const std::string &remAnnotName, void *remAnnotVal, const std::set< std::pair< std::string, void * > > &noCopyAnnots, const std::set< varID > &noCopyVars, std::string indent="") |
|
void | remapVars (const std::map< varID, varID > &, const Function &) |
|
void | incorporateVars (Lattice *) |
|
Lattice * | project (SgExpression *) |
|
bool | unProject (SgExpression *, Lattice *exprState) |
|
ConstrGraph * | getProjection (const varIDSet &focusVars, std::string indent="") |
|
bool | removeVarAnnot (std::string annotName, void *annot, std::string indent="") |
|
bool | replaceVarAnnot (std::string oldAnnotName, void *oldAnnot, std::string newAnnotName, void *newAnnot, std::string indent="") |
|
bool | addVarAnnot (std::string tgtAnnotName, void *tgtAnnotVal, std::string newAnnotName, void *newAnnotVal, std::string indent="") |
|
bool | negate (std::string indent="") |
|
bool | assign (const varAffineInequality &cond, std::string indent="") |
|
bool | assign (varID x, varID y, const affineInequality &ineq, std::string indent="") |
|
bool | assign (varID x, varID y, int a, int b, int c, std::string indent="") |
|
bool | assignBot (varID var, std::string indent="") |
|
bool | assignTop (varID var, std::string indent="") |
|
bool | assertCond (const varAffineInequality &cond, std::string indent="") |
|
bool | assertCond (const varID &x, const varID &y, const affineInequality &ineq, std::string indent="") |
|
bool | assertCond (const varID &x, const varID &y, int a, int b, int c, std::string indent="") |
|
bool | assertEq (const varAffineInequality &cond, std::string indent="") |
|
bool | assertEq (varID x, varID y, const affineInequality &ineq, std::string indent="") |
|
bool | assertEq (const varID &x, const varID &y, int a=1, int b=1, int c=0, std::string indent="") |
|
affineInequality::signs | getVarSign (const varID &var, std::string indent="") |
|
bool | isEqZero (const varID &var, std::string indent="") |
|
bool | eqVars (const varID &v1, const varID &v2, int a=1, int b=1, int c=0, std::string indent="") |
|
bool | eqVars (const varID &v1, const varID &v2, std::string indent="") |
|
bool | isEqVars (const varID &v1, const varID &v2, int &a, int &b, int &c, std::string indent="") |
|
std::map< varID, affineInequality > | getEqVars (varID var, std::string indent="") |
|
bool | lteVars (const varID &v1, const varID &v2, int a=1, int b=1, int c=0, std::string indent="") |
|
bool | ltVars (const varID &v1, const varID &v2, int a=1, int b=1, int c=0, std::string indent="") |
|
leIterator | leBegin (const varID &y) |
|
leIterator | leEnd () |
|
geIterator | geBegin (const varID &y) |
|
geIterator | geEnd () |
|
bool | widenUpdate (InfiniteLattice *that, std::string indent="") |
|
bool | widenUpdate (InfiniteLattice *that) |
|
bool | widenUpdateLimitToThat (InfiniteLattice *that, std::string indent="") |
|
bool | widenUpdate_ex (InfiniteLattice *that_arg, bool limitToThat, std::string indent="") |
|
bool | meetUpdate (Lattice *that, std::string indent="") |
|
bool | meetUpdate (Lattice *that) |
|
bool | meetUpdateLimitToThat (InfiniteLattice *that, std::string indent="") |
|
bool | meetUpdate_ex (Lattice *that_arg, bool limitToThat, std::string indent="") |
|
bool | orUpd (LogicalCond &that, std::string indent="") |
|
bool | orUpd (LogicalCond &that) |
|
bool | andUpd (LogicalCond &that, std::string indent="") |
|
bool | andUpd (LogicalCond &that) |
|
bool | andUpd (ConstrGraph *that, std::string indent="") |
|
bool | andUpd (ConstrGraph *that) |
|
bool | OrAndWidenUpdate (ConstrGraph *that, bool meet, bool OR, bool limitToThat, std::string indent="") |
|
void | OrAndWidenUpdate_XinThisNotThat (bool OR, bool limitToThat, std::map< varID, std::map< varID, affineInequality > >::iterator &itThisX, bool &modified, std::string indent="") |
|
void | OrAndWidenUpdate_XinThatNotThis (bool OR, bool limitToThat, ConstrGraph *that, std::map< varID, std::map< varID, affineInequality > >::iterator &itThatX, std::map< varID, std::map< varID, affineInequality > > &additionsToThis, bool &modified, std::string indent="") |
|
void | OrAndWidenUpdate_YinThisNotThat (bool OR, bool limitToThat, std::map< varID, std::map< varID, affineInequality > >::iterator &itThisX, std::map< varID, affineInequality >::iterator &itThisY, bool &modified, std::string indent="") |
|
void | OrAndWidenUpdate_YinThatNotThis (bool OR, bool limitToThat, std::map< varID, std::map< varID, affineInequality > >::iterator &itThatX, std::map< varID, affineInequality >::iterator &itThatY, std::map< varID, affineInequality > &additionsToThis, bool &modified, std::string indent="") |
|
bool | transitiveClosure (std::string indent="") |
|
bool | localTransClosure (const varID &tgtVar, std::string indent="") |
|
bool | addDivL (FiniteVarsExprsProductLattice *divLattice, std::string annotName, void *annot, std::string indent="") |
|
bool | containsVar (const varID &var, std::string indent="") |
|
affineInequality * | getVal (varID x, varID y, std::string indent="") |
|
bool | setVal (varID x, varID y, int a, int b, int c, std::string indent="") |
|
bool | setVal (varID x, varID y, const affineInequality &ineq, std::string indent="") |
|
bool | setToUninitialized_KeepState (std::string indent="") |
|
bool | setToBottom (std::string indent="") |
|
bool | setToConstrKnown (constrTypes ct, bool eraseCurConstr=true, std::string indent="") |
|
bool | setToInconsistent (std::string indent="") |
|
bool | setToTop (bool onlyIfNotInit=false, std::string indent="") |
|
std::pair< levels, constrTypes > | getLevel (bool noConsistencyCheck=false, std::string indent="") |
|
bool | isSelfConsistent (bool noConsistencyCheck=false, std::string indent="") |
|
bool | hasConsistentConstraints (bool noConsistencyCheck=false, std::string indent="") |
|
bool | isMaximalState (bool noConsistencyCheck=false, std::string indent="") |
|
std::string | str (std::string indent="") |
|
void | varSetStatusToStream (const std::set< varID > &vars, std::ostringstream &outs, bool &needEndl, std::string indent="") |
|
std::string | str (std::string indent, bool useIsBottom) |
|
std::string | toDOT (std::string graphName) |
|
std::string | toDOT (std::string graphName, std::set< varID > &focusVars) |
|
bool | operator!= (ConstrGraph &that) |
|
bool | operator== (ConstrGraph &that) |
|
bool | operator== (Lattice *that) |
|
bool | operator<<= (ConstrGraph &that) |
|
bool | mustOutsideRange (varID x, int b, int c, varID y, std::string indent="") |
|
bool | mayTrue (std::string indent="") |
|
bool | mayTrue () |
|
void | beginTransaction (std::string indent="") |
|
void | endTransaction (std::string indent="") |
|
bool | finiteLattice () |
| Check if this lattice is finite or not.
|
|
bool | operator!= (Lattice *that) |
|
bool | operator== (Lattice &that) |
|
bool | operator!= (Lattice &that) |
|