svf-lib 1.0.1166 → 1.0.1167
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
Binary file
|
|
@@ -344,7 +344,7 @@ protected:
|
|
|
344
344
|
//@}
|
|
345
345
|
/// Collapse a field object into its base for field insensitive anlaysis
|
|
346
346
|
//@{
|
|
347
|
-
void collapsePWCNode(NodeID nodeId);
|
|
347
|
+
virtual void collapsePWCNode(NodeID nodeId);
|
|
348
348
|
void collapseFields();
|
|
349
349
|
bool collapseNodePts(NodeID nodeId);
|
|
350
350
|
bool collapseField(NodeID nodeId);
|
|
@@ -440,9 +440,6 @@ public:
|
|
|
440
440
|
virtual void postProcessNode(NodeID nodeId);
|
|
441
441
|
virtual bool handleLoad(NodeID id, const ConstraintEdge* load);
|
|
442
442
|
virtual bool handleStore(NodeID id, const ConstraintEdge* store);
|
|
443
|
-
|
|
444
|
-
protected:
|
|
445
|
-
virtual void mergeNodeToRep(NodeID nodeId,NodeID newRepId);
|
|
446
443
|
};
|
|
447
444
|
|
|
448
445
|
} // End namespace SVF
|
|
@@ -114,7 +114,6 @@ protected:
|
|
|
114
114
|
while (!isWorklistEmpty())
|
|
115
115
|
{
|
|
116
116
|
NodeID nodeId = popFromWorklist();
|
|
117
|
-
collapsePWCNode(nodeId);
|
|
118
117
|
// Keep solving until workList is empty.
|
|
119
118
|
processNode(nodeId);
|
|
120
119
|
collapseFields();
|
|
@@ -126,8 +125,7 @@ protected:
|
|
|
126
125
|
/// Process each node on the graph, to be implemented in the child class
|
|
127
126
|
virtual inline void processNode(NodeID) {}
|
|
128
127
|
/// collapse positive weight cycles of a graph
|
|
129
|
-
virtual void
|
|
130
|
-
virtual void collapseFields() {};
|
|
128
|
+
virtual void collapseFields() {}
|
|
131
129
|
/// dump statistics
|
|
132
130
|
/// Propagation for the solving, to be implemented in the child class
|
|
133
131
|
virtual void propagate(GNODE* v)
|