4 #include "genericDataflowCommon.h"
5 #include "VirtualCFGIterator.h"
7 #include "CallGraphTraverse.h"
8 #include "analysisCommon.h"
11 #include "latticeFull.h"
12 #include "liveDeadVarAnalysis.h"
13 #include "printAnalysisStates.h"
15 extern int sgnAnalysisDebugLevel;
63 this->sgnState = that.sgnState;
64 this->level = that.level;
72 this->level = sgnKnown;
73 if(val > 0) this->sgnState = posZero;
74 else this->sgnState = negZero;
81 if(level == uninitialized)
96 bool copyMod(
Lattice* that_arg);
100 bool meetUpdate(
Lattice* that);
102 bool operator==(
Lattice* that);
105 sgnStates getSgnState()
const;
106 sgnLevels getLevel()
const;
118 bool setSgnKnown(sgnStates sgnState);
130 bool plus(
long increment);
138 bool minus(
long increment);
150 bool multdiv(
long multiplier);
160 string str(
string indent=
"");
166 static map<varID, Lattice*> constVars;
167 static bool constVars_init;
182 vector<Lattice*>& initLattices, vector<NodeFact*>& initFacts);
188 void printSgnAnalysisStates(
SgnAnalysis* sa,
string indent=
"");