71 while (!nodeStack.empty())
73 NodeID nodeId = nodeStack.top();
100 double propStart =
stat->getClk();
103 double propEnd =
stat->getClk();
116 double insertStart =
stat->getClk();
125 added -= handled.
pts;
134 const PointsTo& objs = isNewLoad ? all : added;
145 const PointsTo& objs = isNewStore ? all : added;
151 double insertEnd =
stat->getClk();
160 bool changed =
false;
162 piter != epiter; ++piter)
177 bool changed =
false;
179 piter != epiter; ++piter)
static double timeOfProcessLoadStore
static double timeOfProcessCopyGep
ConstraintGraph * consCG
Constraint Graph.
NodeID sccRepNode(NodeID id) const override
SCC methods.
virtual void solveWorklist()
virtual void initialize()
virtual bool handleLoad(const PointsTo &objs, const ConstraintEdge *load)
virtual bool handleStore(const PointsTo &objs, const ConstraintEdge *store)
Map< NodeID, LoadStoreState > loadStoreStates
Per node, the objects and load/store endpoints already handled.
virtual void postProcessNode(NodeID nodeId)
static AndersenWaveDiff * diffWave
virtual void processNode(NodeID nodeId)
void setDetectPWC(bool flag)
virtual void initialize()
Initialize analysis.
virtual NodeStack & SCCDetect()
SCC detection.
virtual void handleCopyGep(ConstraintNode *node)
virtual bool processLoad(NodeID node, const ConstraintEdge *load)
virtual const PointsTo & getPts(NodeID id)
Operation of points-to set.
void collapseFields()
collapse positive weight cycles of a graph
virtual bool processStore(NodeID node, const ConstraintEdge *load)
virtual void finalize()
Finalize analysis.
virtual void collapsePWCNode(NodeID nodeId)
Collapse a field object into its base for field insensitive analysis.
const_iterator outgoingLoadsEnd() const
const ConstraintEdge::ConstraintEdgeSetTy & getStoreInEdges() const
const_iterator incomingStoresBegin() const
const_iterator incomingStoresEnd() const
ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator
const ConstraintEdge::ConstraintEdgeSetTy & getLoadOutEdges() const
const_iterator outgoingLoadsBegin() const
PTAStat * stat
Statistics.
const_iterator end() const
const_iterator begin() const
bool test_and_set(unsigned Idx)
std::stack< NodeID > NodeStack