svf-lib 1.0.952 → 1.0.953
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
|
|
@@ -202,6 +202,10 @@ public:
|
|
|
202
202
|
return condMgr->isEquivalentBranchCond(lhs, rhs);
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
inline ICFG* getICFG() const {
|
|
206
|
+
return PAG::getPAG()->getICFG();
|
|
207
|
+
}
|
|
208
|
+
|
|
205
209
|
private:
|
|
206
210
|
|
|
207
211
|
/// Allocate path condition for every basic block
|
|
@@ -223,9 +227,9 @@ private:
|
|
|
223
227
|
/// Evaluate loop exit branch
|
|
224
228
|
Condition* evaluateLoopExitBranch(const BasicBlock * bb, const BasicBlock *succ);
|
|
225
229
|
/// Return branch condition after evaluating test null like expression
|
|
226
|
-
Condition* evaluateTestNullLikeExpr(const
|
|
230
|
+
Condition* evaluateTestNullLikeExpr(const BranchStmt* branchStmt, const BasicBlock *succ);
|
|
227
231
|
/// Return condition when there is a branch calls program exit
|
|
228
|
-
Condition* evaluateProgExit(const
|
|
232
|
+
Condition* evaluateProgExit(const BranchStmt* branchStmt, const BasicBlock *succ);
|
|
229
233
|
/// Collect basic block contains program exit function call
|
|
230
234
|
void collectBBCallingProgExit(const BasicBlock& bb);
|
|
231
235
|
bool isBBCallsProgExit(const BasicBlock* bb);
|
|
@@ -269,6 +273,8 @@ private:
|
|
|
269
273
|
}
|
|
270
274
|
//@}
|
|
271
275
|
|
|
276
|
+
|
|
277
|
+
|
|
272
278
|
/// Release memory
|
|
273
279
|
void destroy(){
|
|
274
280
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
#ifndef SABERANNOTATOR_H_
|
|
31
31
|
#define SABERANNOTATOR_H_
|
|
32
32
|
|
|
33
|
-
#include
|
|
33
|
+
#include <MemoryModel/SVFStatements.h>
|
|
34
34
|
#include "Util/Annotator.h"
|
|
35
35
|
|
|
36
36
|
namespace SVF
|
|
@@ -60,10 +60,10 @@ public:
|
|
|
60
60
|
//@{
|
|
61
61
|
void annotateSource();
|
|
62
62
|
void annotateSinks();
|
|
63
|
-
void annotateFeasibleBranch(const
|
|
64
|
-
void annotateInfeasibleBranch(const
|
|
63
|
+
void annotateFeasibleBranch(const BranchStmt *branchStmt, u32_t succPos);
|
|
64
|
+
void annotateInfeasibleBranch(const BranchStmt *branchStmt, u32_t succPos);
|
|
65
65
|
|
|
66
|
-
void annotateSwitch(
|
|
66
|
+
void annotateSwitch(const BranchStmt *swithStmt, u32_t succPos);
|
|
67
67
|
//@}
|
|
68
68
|
};
|
|
69
69
|
|