svf-lib 1.0.2131 → 1.0.2132
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.
- package/SVF-osx/Release-build/bin/ae +0 -0
- package/SVF-osx/Release-build/bin/cfl +0 -0
- package/SVF-osx/Release-build/bin/dvf +0 -0
- package/SVF-osx/Release-build/bin/llvm2svf +0 -0
- package/SVF-osx/Release-build/bin/mta +0 -0
- package/SVF-osx/Release-build/bin/saber +0 -0
- package/SVF-osx/Release-build/bin/svf-ex +0 -0
- package/SVF-osx/Release-build/bin/wpa +0 -0
- package/SVF-osx/Release-build/include/Graphs/ICFG.h +1 -1
- package/SVF-osx/Release-build/include/Graphs/ICFGEdge.h +14 -8
- package/SVF-osx/Release-build/lib/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/lib/libSvfLLVM.a +0 -0
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -143,7 +143,7 @@ protected:
|
|
|
143
143
|
/// Add intraprocedural and interprocedural control-flow edges.
|
|
144
144
|
//@{
|
|
145
145
|
ICFGEdge* addIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode);
|
|
146
|
-
ICFGEdge* addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode,
|
|
146
|
+
ICFGEdge* addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, s64_t branchCondVal);
|
|
147
147
|
ICFGEdge* addCallEdge(ICFGNode* srcNode, ICFGNode* dstNode);
|
|
148
148
|
ICFGEdge* addRetEdge(ICFGNode* srcNode, ICFGNode* dstNode);
|
|
149
149
|
//@}
|
|
@@ -114,6 +114,8 @@ class IntraCFGEdge : public ICFGEdge
|
|
|
114
114
|
{
|
|
115
115
|
friend class SVFIRWriter;
|
|
116
116
|
friend class SVFIRReader;
|
|
117
|
+
friend class ICFG;
|
|
118
|
+
friend class SVFIRBuilder;
|
|
117
119
|
|
|
118
120
|
public:
|
|
119
121
|
/// Constructor
|
|
@@ -137,7 +139,7 @@ public:
|
|
|
137
139
|
}
|
|
138
140
|
//@}
|
|
139
141
|
|
|
140
|
-
const
|
|
142
|
+
const SVFVar* getCondition() const
|
|
141
143
|
{
|
|
142
144
|
return conditionVar;
|
|
143
145
|
}
|
|
@@ -148,12 +150,6 @@ public:
|
|
|
148
150
|
return branchCondVal;
|
|
149
151
|
}
|
|
150
152
|
|
|
151
|
-
void setBranchCondition(const SVFValue* c, s64_t bVal)
|
|
152
|
-
{
|
|
153
|
-
conditionVar = c;
|
|
154
|
-
branchCondVal = bVal;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
153
|
virtual const std::string toString() const;
|
|
158
154
|
|
|
159
155
|
private:
|
|
@@ -166,8 +162,18 @@ private:
|
|
|
166
162
|
/// Inst3: label 1;
|
|
167
163
|
/// for edge between Inst1 and Inst 2, the first element is %cmp and
|
|
168
164
|
/// the second element is 0
|
|
169
|
-
const
|
|
165
|
+
const SVFVar* conditionVar;
|
|
170
166
|
s64_t branchCondVal;
|
|
167
|
+
|
|
168
|
+
inline void setConditionVar(const SVFVar* c)
|
|
169
|
+
{
|
|
170
|
+
conditionVar = c;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
inline void setBranchCondVal(s64_t bVal)
|
|
174
|
+
{
|
|
175
|
+
branchCondVal = bVal;
|
|
176
|
+
}
|
|
171
177
|
};
|
|
172
178
|
|
|
173
179
|
/*!
|
|
Binary file
|
|
Binary file
|