svf-lib 1.0.1218 → 1.0.1219

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
@@ -155,6 +155,15 @@ public:
155
155
  /// Build Bidirectional graph by copying nodes and edges from any graph inherited from GenericGraph
156
156
  /// And transfer Load Store to copy edge and address edge to construct PEG style CFG
157
157
  CFLGraph* buildBiPEGgraph(ConstraintGraph *graph, Kind startKind, GrammarBase *grammar, SVFIR* pag);
158
+
159
+ private:
160
+ void connectVGep(CFLGraph *cflGraph, ConstraintGraph *graph, ConstraintNode *src, ConstraintNode *dst, u32_t level, SVFIR* pag);
161
+
162
+ /// Handle edge except for the GEP
163
+ void addBiCFLEdge(CFLGraph *cflGraph, ConstraintNode* src, ConstraintNode* dst, CFLGrammar::Kind label);
164
+
165
+ /// Add Bidirectional GEP edge with attribute
166
+ void addBiGepCFLEdge(CFLGraph *cflGraph, ConstraintNode* src, ConstraintNode* dst, CFLGrammar::Attribute attri);
158
167
  };
159
168
 
160
169
  }// SVF
@@ -1,7 +1,7 @@
1
1
  Start:
2
2
  V
3
3
  Terminal:
4
- Addr Copy Store Load Gep Vgep
4
+ Addr Copy Store Load Gep
5
5
  Productions:
6
6
  F -> epsilon;
7
7
  M -> Addr V Addrbar;
@@ -14,15 +14,11 @@ Productions:
14
14
  Fbar -> epsilon;
15
15
  Fbar -> Copybar Fbar;
16
16
  Fbar -> M Copybar Fbar;
17
- Gep_1 -> Gep_0 F Vgep;
18
- Gepbar_1 -> Vgepbar Fbar Gepbar_0;
19
- Gepbarpath -> Gepbar_0 Gepbar_0;
20
- Gepbarpath -> Gepbarpath Gepbar_0;
21
- Gep_3 -> Gep_0;
22
- Gepbar_3 -> Gepbar_0;
17
+ ArrayPath -> Gepbar_0 Gepbar_0;
18
+ ArrayPath -> ArrayPath Gepbar_0;
23
19
  Memcpy -> Addrbar V Addr;
24
20
  Memcpy -> Gep_i Memcpy Gepbar_i;
25
21
  Memcpy -> F Memcpy Fbar;
26
22
  V -> Gepbar_i Memcpy Gep_i;
27
23
  V -> Gep_i Memcpy Gepbar_i;
28
- V -> Gepbarpath V Gep_0;
24
+ V -> ArrayPath V Gep_0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-lib",
3
- "version": "1.0.1218",
3
+ "version": "1.0.1219",
4
4
  "description": "SVF's npm support",
5
5
  "main": "index.js",
6
6
  "scripts": {