Static Value-Flow Analysis
Loading...
Searching...
No Matches
svf-llvm
tools
MTA
mta.cpp
Go to the documentation of this file.
1
//===- mta.cpp --Program Analysis for Multithreaded Programs------------------//
2
//
3
// SVF: Static Value-Flow Analysis
4
//
5
// Copyright (C) <2013-2022> <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
#include "
SVF-LLVM/LLVMUtil.h
"
24
#include "
SVF-LLVM/SVFIRBuilder.h
"
25
#include "
MTA/MTA.h
"
26
#include "
Util/CommandLine.h
"
27
#include "
Util/Options.h
"
28
29
using namespace
llvm
;
30
using namespace
std;
31
using namespace
SVF
;
32
33
int
main
(
int
argc
,
char
**
argv
)
34
{
35
36
std::vector<std::string>
moduleNameVec
;
37
moduleNameVec
=
OptionBase::parseOptions
(
38
argc
,
argv
,
"MTA Analysis"
,
"[options] <input-bitcode...>"
39
);
40
41
LLVMModuleSet::buildSVFModule
(
moduleNameVec
);
42
SVFIRBuilder
builder
;
43
SVFIR
* pag =
builder
.build();
44
45
46
MTA
mta
;
47
mta
.
runOnModule
(pag);
48
49
LLVMModuleSet::releaseLLVMModuleSet
();
50
51
52
return
0;
53
}
CommandLine.h
LLVMUtil.h
MTA.h
Options.h
SVFIRBuilder.h
OptionBase::parseOptions
static std::vector< std::string > parseOptions(int argc, char *argv[], std::string description, std::string callFormat)
Definition
CommandLine.h:75
SVF::LLVMModuleSet::releaseLLVMModuleSet
static void releaseLLVMModuleSet()
Definition
LLVMModule.h:138
SVF::LLVMModuleSet::buildSVFModule
static void buildSVFModule(Module &mod)
Definition
LLVMModule.cpp:108
SVF::MTA
Definition
MTA.h:56
SVF::MTA::runOnModule
virtual bool runOnModule(SVFIR *module)
We start the pass here.
Definition
MTA.cpp:61
SVF::SVFIRBuilder
Definition
SVFIRBuilder.h:48
SVF::SVFIR
Definition
SVFIR.h:43
main
int main(int argc, char **argv)
Definition
mta.cpp:33
SVF
for isBitcode
Definition
BasicTypes.h:68
SVF::IRBuilder
llvm::IRBuilder IRBuilder
Definition
BasicTypes.h:74
llvm
Definition
GEPTypeBridgeIterator.h:14
Generated by
1.9.8