svf-lib 1.0.1882 → 1.0.1884
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-linux/Release-build/bin/ae +0 -0
- package/SVF-linux/Release-build/bin/cfl +0 -0
- package/SVF-linux/Release-build/bin/dvf +0 -0
- package/SVF-linux/Release-build/bin/llvm2svf +0 -0
- package/SVF-linux/Release-build/bin/mta +0 -0
- package/SVF-linux/Release-build/bin/saber +0 -0
- package/SVF-linux/Release-build/bin/svf-ex +0 -0
- package/SVF-linux/Release-build/bin/wpa +0 -0
- package/SVF-linux/Release-build/include/SVF-LLVM/CppUtil.h +0 -4
- package/SVF-linux/Release-build/include/SVF-LLVM/ObjTypeInference.h +2 -2
- package/SVF-linux/Release-build/lib/libSvfLLVM.a +0 -0
- 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/CHG.h +2 -2
- package/SVF-osx/Release-build/include/Graphs/GraphTraits.h +2 -2
- package/SVF-osx/Release-build/include/SVF-LLVM/CppUtil.h +0 -4
- package/SVF-osx/Release-build/include/SVF-LLVM/ObjTypeInference.h +2 -2
- package/SVF-osx/Release-build/include/Util/Casting.h +1 -1
- package/SVF-osx/Release-build/include/Util/NodeIDAllocator.h +2 -2
- package/SVF-osx/Release-build/include/Util/iterator.h +2 -2
- 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
|
|
@@ -148,15 +148,11 @@ bool isTemplateFunc(const Function *foo);
|
|
|
148
148
|
/// whether foo is a cpp dyncast function
|
|
149
149
|
bool isDynCast(const Function *foo);
|
|
150
150
|
|
|
151
|
-
/// whether foo is a cpp heap allocation (new)
|
|
152
|
-
bool isNewAlloc(const Function *foo);
|
|
153
|
-
|
|
154
151
|
/// extract class name from cpp dyncast function
|
|
155
152
|
std::string extractClsNameFromDynCast(const CallBase* callBase);
|
|
156
153
|
|
|
157
154
|
const Type *cppClsNameToType(const std::string &className);
|
|
158
155
|
|
|
159
|
-
std::string typeToClsName(const Type *ty);
|
|
160
156
|
|
|
161
157
|
|
|
162
158
|
/// Constants pertaining to CTir, for C and C++.
|
|
@@ -48,7 +48,7 @@ public:
|
|
|
48
48
|
typedef Map<const Value *, const Type *> ValueToType;
|
|
49
49
|
typedef std::pair<const Value *, bool> ValueBoolPair;
|
|
50
50
|
typedef Map<const Value *, Set<std::string>> ValueToClassNames;
|
|
51
|
-
typedef Map<const Value *, Set<const
|
|
51
|
+
typedef Map<const Value *, Set<const CallBase *>> ObjToClsNameSources;
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
private:
|
|
@@ -122,7 +122,7 @@ protected:
|
|
|
122
122
|
Set<const Value *> &bwFindAllocOrClsNameSources(const Value *startValue);
|
|
123
123
|
|
|
124
124
|
/// forward find class name sources starting from an allocation
|
|
125
|
-
Set<const
|
|
125
|
+
Set<const CallBase *> &fwFindClsNameSources(const Value *startValue);
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
#endif //SVF_OBJTYPEINFERENCE_H
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -350,8 +350,8 @@ struct GenericGraphTraits<SVF::CHNode*>
|
|
|
350
350
|
/// for inverse traversal.
|
|
351
351
|
template <>
|
|
352
352
|
struct GenericGraphTraits<Inverse<SVF::CHNode*>>
|
|
353
|
-
|
|
354
|
-
|
|
353
|
+
: public GenericGraphTraits<
|
|
354
|
+
Inverse<SVF::GenericNode<SVF::CHNode, SVF::CHEdge>*>>
|
|
355
355
|
{
|
|
356
356
|
};
|
|
357
357
|
|
|
@@ -115,7 +115,7 @@ nodes(const GraphType &G)
|
|
|
115
115
|
}
|
|
116
116
|
template <class GraphType>
|
|
117
117
|
iter_range<typename GenericGraphTraits<Inverse<GraphType>>::nodes_iterator>
|
|
118
|
-
|
|
118
|
+
inverse_nodes(const GraphType &G)
|
|
119
119
|
{
|
|
120
120
|
return make_range(GenericGraphTraits<Inverse<GraphType>>::nodes_begin(G),
|
|
121
121
|
GenericGraphTraits<Inverse<GraphType>>::nodes_end(G));
|
|
@@ -131,7 +131,7 @@ children(const typename GenericGraphTraits<GraphType>::NodeRef &G)
|
|
|
131
131
|
|
|
132
132
|
template <class GraphType>
|
|
133
133
|
iter_range<typename GenericGraphTraits<Inverse<GraphType>>::ChildIteratorType>
|
|
134
|
-
|
|
134
|
+
inverse_children(const typename GenericGraphTraits<GraphType>::NodeRef &G)
|
|
135
135
|
{
|
|
136
136
|
return make_range(GenericGraphTraits<Inverse<GraphType>>::child_begin(G),
|
|
137
137
|
GenericGraphTraits<Inverse<GraphType>>::child_end(G));
|
|
@@ -148,15 +148,11 @@ bool isTemplateFunc(const Function *foo);
|
|
|
148
148
|
/// whether foo is a cpp dyncast function
|
|
149
149
|
bool isDynCast(const Function *foo);
|
|
150
150
|
|
|
151
|
-
/// whether foo is a cpp heap allocation (new)
|
|
152
|
-
bool isNewAlloc(const Function *foo);
|
|
153
|
-
|
|
154
151
|
/// extract class name from cpp dyncast function
|
|
155
152
|
std::string extractClsNameFromDynCast(const CallBase* callBase);
|
|
156
153
|
|
|
157
154
|
const Type *cppClsNameToType(const std::string &className);
|
|
158
155
|
|
|
159
|
-
std::string typeToClsName(const Type *ty);
|
|
160
156
|
|
|
161
157
|
|
|
162
158
|
/// Constants pertaining to CTir, for C and C++.
|
|
@@ -48,7 +48,7 @@ public:
|
|
|
48
48
|
typedef Map<const Value *, const Type *> ValueToType;
|
|
49
49
|
typedef std::pair<const Value *, bool> ValueBoolPair;
|
|
50
50
|
typedef Map<const Value *, Set<std::string>> ValueToClassNames;
|
|
51
|
-
typedef Map<const Value *, Set<const
|
|
51
|
+
typedef Map<const Value *, Set<const CallBase *>> ObjToClsNameSources;
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
private:
|
|
@@ -122,7 +122,7 @@ protected:
|
|
|
122
122
|
Set<const Value *> &bwFindAllocOrClsNameSources(const Value *startValue);
|
|
123
123
|
|
|
124
124
|
/// forward find class name sources starting from an allocation
|
|
125
|
-
Set<const
|
|
125
|
+
Set<const CallBase *> &fwFindClsNameSources(const Value *startValue);
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
#endif //SVF_OBJTYPEINFERENCE_H
|
|
@@ -382,7 +382,7 @@ inline typename cast_retty<X, Y *>::ret_type cast(Y *Val)
|
|
|
382
382
|
|
|
383
383
|
template <class X, class Y>
|
|
384
384
|
inline typename cast_retty<X, std::unique_ptr<Y>>::ret_type
|
|
385
|
-
|
|
385
|
+
cast(std::unique_ptr<Y> &&Val)
|
|
386
386
|
{
|
|
387
387
|
assert(SVFUtil::isa<X>(Val.get()) && "cast<Ty>() argument of incompatible type!");
|
|
388
388
|
using ret_type = typename cast_retty<X, std::unique_ptr<Y>>::ret_type;
|
|
@@ -192,8 +192,8 @@ public:
|
|
|
192
192
|
|
|
193
193
|
// From all the candidates, returns the best mapping for pointsToSets (points-to set -> # occurrences).
|
|
194
194
|
static inline std::pair<hclust_fast_methods, std::vector<NodeID>> determineBestMapping(
|
|
195
|
-
|
|
196
|
-
|
|
195
|
+
const std::vector<std::pair<hclust_fast_methods, std::vector<NodeID>>> &candidates,
|
|
196
|
+
Map<PointsTo, unsigned> pointsToSets, const std::string &evalSubtitle, double &evalTime);
|
|
197
197
|
|
|
198
198
|
};
|
|
199
199
|
};
|
|
@@ -352,7 +352,7 @@ struct pointee_iter
|
|
|
352
352
|
template <typename RangeT, typename WrappedIteratorT =
|
|
353
353
|
decltype(std::begin(std::declval<RangeT>()))>
|
|
354
354
|
iter_range<pointee_iter<WrappedIteratorT>>
|
|
355
|
-
|
|
355
|
+
make_pointee_range(RangeT &&Range)
|
|
356
356
|
{
|
|
357
357
|
using PointeeIteratorT = pointee_iter<WrappedIteratorT>;
|
|
358
358
|
return make_range(PointeeIteratorT(std::begin(std::forward<RangeT>(Range))),
|
|
@@ -388,7 +388,7 @@ public:
|
|
|
388
388
|
template <typename RangeT, typename WrappedIteratorT =
|
|
389
389
|
decltype(std::begin(std::declval<RangeT>()))>
|
|
390
390
|
iter_range<pointer_iterator<WrappedIteratorT>>
|
|
391
|
-
|
|
391
|
+
make_pointer_range(RangeT &&Range)
|
|
392
392
|
{
|
|
393
393
|
using PointerIteratorT = pointer_iterator<WrappedIteratorT>;
|
|
394
394
|
return make_range(PointerIteratorT(std::begin(std::forward<RangeT>(Range))),
|
|
Binary file
|
|
Binary file
|