svf-lib 1.0.2243 → 1.0.2245
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-x86_64/Release-build/bin/ae +0 -0
- package/SVF-linux-x86_64/Release-build/bin/cfl +0 -0
- package/SVF-linux-x86_64/Release-build/bin/dvf +0 -0
- package/SVF-linux-x86_64/Release-build/bin/llvm2svf +0 -0
- package/SVF-linux-x86_64/Release-build/bin/mta +0 -0
- package/SVF-linux-x86_64/Release-build/bin/saber +0 -0
- package/SVF-linux-x86_64/Release-build/bin/svf-ex +0 -0
- package/SVF-linux-x86_64/Release-build/bin/wpa +0 -0
- package/SVF-linux-x86_64/Release-build/lib/extapi.bc +1 -1
- package/SVF-linux-x86_64/Release-build/lib/libSvfLLVM.so.16 +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/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 +0 -1
- package/SVF-osx/Release-build/include/Graphs/CallGraph.h +0 -1
- package/SVF-osx/Release-build/include/Graphs/ThreadCallGraph.h +0 -1
- package/SVF-osx/Release-build/include/MTA/MTA.h +0 -1
- package/SVF-osx/Release-build/include/MemoryModel/PointerAnalysis.h +0 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/BreakConstantExpr.h +0 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/CppUtil.h +1 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/DCHG.h +3 -7
- package/SVF-osx/Release-build/include/SVF-LLVM/LLVMModule.h +67 -139
- package/SVF-osx/Release-build/include/SVF-LLVM/LLVMUtil.h +4 -9
- package/SVF-osx/Release-build/include/SVF-LLVM/ObjTypeInference.h +0 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/SVFIRBuilder.h +21 -18
- package/SVF-osx/Release-build/include/SVF-LLVM/SymbolTableBuilder.h +1 -1
- package/SVF-osx/Release-build/include/SVFIR/SVFVariables.h +11 -3
- package/SVF-osx/Release-build/include/Util/CallGraphBuilder.h +0 -1
- package/SVF-osx/Release-build/include/Util/ThreadAPI.h +0 -1
- package/SVF-osx/Release-build/include/WPA/Andersen.h +0 -1
- package/SVF-osx/Release-build/include/WPA/FlowSensitive.h +0 -1
- package/SVF-osx/Release-build/include/WPA/VersionedFlowSensitive.h +0 -1
- package/SVF-osx/Release-build/include/WPA/WPAPass.h +0 -1
- package/SVF-osx/Release-build/lib/libSvfCore.dylib +0 -0
- package/SVF-osx/Release-build/lib/libSvfLLVM.dylib +0 -0
- package/package.json +1 -1
- package/SVF-osx/Release-build/include/SVF-LLVM/SVFLLVMValue.h +0 -387
- package/SVF-osx/Release-build/include/SVF-LLVM/SVFModule.h +0 -186
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
//===- SVFModule.h -- SVFModule* class----------------------------------------//
|
|
2
|
-
//
|
|
3
|
-
// SVF: Static Value-Flow Analysis
|
|
4
|
-
//
|
|
5
|
-
// Copyright (C) <2013-2017> <Yulei Sui>
|
|
6
|
-
//
|
|
7
|
-
|
|
8
|
-
// This program is free software: you can redistribute it and/or modify
|
|
9
|
-
// it under the terms of the GNU Affero General Public License as published by
|
|
10
|
-
// the Free Software Foundation, either version 3 of the License, or
|
|
11
|
-
// (at your option) any later version.
|
|
12
|
-
|
|
13
|
-
// This program is distributed in the hope that it will be useful,
|
|
14
|
-
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
-
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
-
// GNU Affero General Public License for more details.
|
|
17
|
-
|
|
18
|
-
// You should have received a copy of the GNU Affero General Public License
|
|
19
|
-
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
20
|
-
//
|
|
21
|
-
//===----------------------------------------------------------------------===//
|
|
22
|
-
|
|
23
|
-
/*
|
|
24
|
-
* SVFModule.h
|
|
25
|
-
*
|
|
26
|
-
* Created on: Aug 4, 2017
|
|
27
|
-
* Author: Xiaokang Fan
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
#ifndef INCLUDE_SVFMODULE_H_
|
|
31
|
-
#define INCLUDE_SVFMODULE_H_
|
|
32
|
-
|
|
33
|
-
#include "SVF-LLVM/SVFLLVMValue.h"
|
|
34
|
-
#include "Util/NodeIDAllocator.h"
|
|
35
|
-
#include "Util/ThreadAPI.h"
|
|
36
|
-
|
|
37
|
-
namespace SVF
|
|
38
|
-
{
|
|
39
|
-
|
|
40
|
-
class SVFModule
|
|
41
|
-
{
|
|
42
|
-
friend class SVFIRWriter;
|
|
43
|
-
friend class SVFIRReader;
|
|
44
|
-
|
|
45
|
-
public:
|
|
46
|
-
typedef std::vector<const SVFFunction*> FunctionSetType;
|
|
47
|
-
typedef std::vector<SVFLLVMValue*> GlobalSetType;
|
|
48
|
-
typedef std::vector<SVFLLVMValue*> AliasSetType;
|
|
49
|
-
typedef std::vector<SVFLLVMValue*> ConstantType;
|
|
50
|
-
typedef std::vector<SVFLLVMValue*> OtherValueType;
|
|
51
|
-
|
|
52
|
-
/// Iterators type def
|
|
53
|
-
typedef FunctionSetType::iterator iterator;
|
|
54
|
-
typedef FunctionSetType::const_iterator const_iterator;
|
|
55
|
-
typedef GlobalSetType::iterator global_iterator;
|
|
56
|
-
typedef GlobalSetType::const_iterator const_global_iterator;
|
|
57
|
-
typedef AliasSetType::iterator alias_iterator;
|
|
58
|
-
typedef AliasSetType::const_iterator const_alias_iterator;
|
|
59
|
-
typedef ConstantType::iterator cdata_iterator;
|
|
60
|
-
typedef ConstantType::const_iterator const_cdata_iterator;
|
|
61
|
-
typedef OtherValueType::iterator ovalue_iterator;
|
|
62
|
-
typedef OtherValueType::const_iterator const_ovalue_iterator;
|
|
63
|
-
|
|
64
|
-
private:
|
|
65
|
-
static SVFModule* svfModule;
|
|
66
|
-
FunctionSetType FunctionSet; ///< The Functions in the module
|
|
67
|
-
GlobalSetType GlobalSet; ///< The Global Variables in the module
|
|
68
|
-
AliasSetType AliasSet; ///< The Aliases in the module
|
|
69
|
-
ConstantType ConstantSet; ///< The ConstantData in the module
|
|
70
|
-
OtherValueType OtherValueSet; ///< All other values in the module
|
|
71
|
-
|
|
72
|
-
/// Constructors
|
|
73
|
-
SVFModule() = default;
|
|
74
|
-
|
|
75
|
-
public:
|
|
76
|
-
static SVFModule* getSVFModule();
|
|
77
|
-
static void releaseSVFModule();
|
|
78
|
-
|
|
79
|
-
~SVFModule();
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
const SVFFunction* getSVFFunction(const std::string& name);
|
|
83
|
-
|
|
84
|
-
///@{
|
|
85
|
-
inline void addFunctionSet(SVFFunction* svfFunc)
|
|
86
|
-
{
|
|
87
|
-
FunctionSet.push_back(svfFunc);
|
|
88
|
-
}
|
|
89
|
-
inline void addGlobalSet(SVFLLVMValue* glob)
|
|
90
|
-
{
|
|
91
|
-
GlobalSet.push_back(glob);
|
|
92
|
-
}
|
|
93
|
-
inline void addAliasSet(SVFLLVMValue* alias)
|
|
94
|
-
{
|
|
95
|
-
AliasSet.push_back(alias);
|
|
96
|
-
}
|
|
97
|
-
inline void addConstant(SVFLLVMValue* cd)
|
|
98
|
-
{
|
|
99
|
-
ConstantSet.push_back(cd);
|
|
100
|
-
}
|
|
101
|
-
inline void addOtherValue(SVFLLVMValue* ov)
|
|
102
|
-
{
|
|
103
|
-
OtherValueSet.push_back(ov);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
///@}
|
|
107
|
-
|
|
108
|
-
/// Iterators
|
|
109
|
-
///@{
|
|
110
|
-
global_iterator global_begin()
|
|
111
|
-
{
|
|
112
|
-
return GlobalSet.begin();
|
|
113
|
-
}
|
|
114
|
-
const_global_iterator global_begin() const
|
|
115
|
-
{
|
|
116
|
-
return GlobalSet.begin();
|
|
117
|
-
}
|
|
118
|
-
global_iterator global_end()
|
|
119
|
-
{
|
|
120
|
-
return GlobalSet.end();
|
|
121
|
-
}
|
|
122
|
-
const_global_iterator global_end() const
|
|
123
|
-
{
|
|
124
|
-
return GlobalSet.end();
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
alias_iterator alias_begin()
|
|
128
|
-
{
|
|
129
|
-
return AliasSet.begin();
|
|
130
|
-
}
|
|
131
|
-
const_alias_iterator alias_begin() const
|
|
132
|
-
{
|
|
133
|
-
return AliasSet.begin();
|
|
134
|
-
}
|
|
135
|
-
alias_iterator alias_end()
|
|
136
|
-
{
|
|
137
|
-
return AliasSet.end();
|
|
138
|
-
}
|
|
139
|
-
const_alias_iterator alias_end() const
|
|
140
|
-
{
|
|
141
|
-
return AliasSet.end();
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
cdata_iterator constant_begin()
|
|
145
|
-
{
|
|
146
|
-
return ConstantSet.begin();
|
|
147
|
-
}
|
|
148
|
-
const_cdata_iterator constant_begin() const
|
|
149
|
-
{
|
|
150
|
-
return ConstantSet.begin();
|
|
151
|
-
}
|
|
152
|
-
cdata_iterator constant_end()
|
|
153
|
-
{
|
|
154
|
-
return ConstantSet.end();
|
|
155
|
-
}
|
|
156
|
-
const_cdata_iterator constant_end() const
|
|
157
|
-
{
|
|
158
|
-
return ConstantSet.end();
|
|
159
|
-
}
|
|
160
|
-
///@}
|
|
161
|
-
|
|
162
|
-
inline const FunctionSetType& getFunctionSet() const
|
|
163
|
-
{
|
|
164
|
-
return FunctionSet;
|
|
165
|
-
}
|
|
166
|
-
inline const ConstantType& getConstantSet() const
|
|
167
|
-
{
|
|
168
|
-
return ConstantSet;
|
|
169
|
-
}
|
|
170
|
-
inline const GlobalSetType& getGlobalSet() const
|
|
171
|
-
{
|
|
172
|
-
return GlobalSet;
|
|
173
|
-
}
|
|
174
|
-
inline const AliasSetType& getAliasSet() const
|
|
175
|
-
{
|
|
176
|
-
return AliasSet;
|
|
177
|
-
}
|
|
178
|
-
inline const OtherValueType& getOtherValueSet() const
|
|
179
|
-
{
|
|
180
|
-
return OtherValueSet;
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
} // End namespace SVF
|
|
185
|
-
|
|
186
|
-
#endif /* INCLUDE_SVFMODULE_H_ */
|