#include <include/constraint.h>
Definition at line 94 of file constraint.h.
Public Member Functions | |
void | addConstraints (LocationSet &con) |
void | alphaSubst () |
Constraints () | |
LocationSet & | getConstraints () |
void | print (std::ostream &os) |
char * | prints () |
bool | solve (std::list< ConstraintMap > &solns) |
void | substIntoDisjuncts (ConstraintMap &in) |
void | substIntoEquates (ConstraintMap &in) |
~Constraints () | |
Private Member Functions | |
bool | doSolve (std::list< Exp * >::iterator it, ConstraintMap &extra, std::list< ConstraintMap > &solns) |
bool | unify (Exp *x, Exp *y, ConstraintMap &extra) |
Private Attributes | |
LocationSet | conSet |
std::list< Exp * > | disjunctions |
EquateMap | equates |
ConstraintMap | fixed |
|
Definition at line 104 of file constraint.h. |
|
Definition at line 154 of file constraint.cpp. References LocationSet::begin(), conSet, and LocationSet::end(). |
|
Definition at line 111 of file constraint.h. References conSet, and LocationSet::makeUnion(). Referenced by UserProc::conTypeAnalysis(). |
|
Definition at line 505 of file constraint.cpp. References disjunctions, Exp::getSubExp1(), Exp::getSubExp2(), Exp::isEquality(), Type::isPointerToAlpha(), Exp::isTypeVal(), nextConjunct(), and NULL. |
|
Definition at line 386 of file constraint.cpp. References disjunctions, fixed, LOG, ConstraintMap::makeUnion(), and ConstraintMap::prints(). |
|
Definition at line 110 of file constraint.h. References conSet. |
|
Definition at line 555 of file constraint.cpp. References disjunctions, equates, fixed, EquateMap::print(), ConstraintMap::print(), EquateMap::size(), and ConstraintMap::size(). Referenced by prints(). |
|
Definition at line 567 of file constraint.cpp. References debug_buffer, DEBUG_BUFSIZE, and print(). |
|
Definition at line 269 of file constraint.cpp. References LocationSet::begin(), conSet, LocationSet::end(), Exp::getSubExp1(), Exp::getSubExp2(), LocationSet::insert(), Exp::isAddrOf(), Type::isPointer(), Exp::isTypeOf(), Exp::isTypeVal(), LOG, NULL, LocationSet::print(), LocationSet::remove(), and LocationSet::size(). |
|
Definition at line 162 of file constraint.cpp. References ConstraintMap::begin(), disjunctions, ConstraintMap::end(), and to. |
|
Definition at line 178 of file constraint.cpp. References ConstraintMap::begin(), ConstraintMap::clear(), DEBUG_TA, EquateMap::end(), ConstraintMap::end(), equates, ConstraintMap::find(), EquateMap::find(), fixed, LOG, ConstraintMap::size(), unify(), and VERBOSE. |
|
Definition at line 461 of file constraint.cpp. References ConstraintMap::constrain(), Type::isPointer(), Exp::isTypeVal(), and LOG. Referenced by substIntoEquates(). |
|
Definition at line 95 of file constraint.h. Referenced by addConstraints(), getConstraints(), solve(), and ~Constraints(). |
|
Definition at line 96 of file constraint.h. Referenced by alphaSubst(), doSolve(), print(), and substIntoDisjuncts(). |
|
Definition at line 101 of file constraint.h. Referenced by print(), and substIntoEquates(). |
|
Definition at line 99 of file constraint.h. Referenced by doSolve(), print(), and substIntoEquates(). |