svf-tools 1.0.633 → 1.0.635
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/CMakeLists.txt +111 -90
- package/SVF-doxygen/html/html/CFL_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/CMakeLists_8txt.html +73 -0
- package/SVF-doxygen/html/html/DDA_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/Example_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/LockResultValidator_8cpp.html +2 -3
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -52
- package/SVF-doxygen/html/html/LockResultValidator_8h.html +2 -3
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -26
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp.html +3 -3
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -57
- package/SVF-doxygen/html/html/MTAAnnotator_8h.html +5 -6
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -22
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp.html +2 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +12 -72
- package/SVF-doxygen/html/html/MTAResultValidator_8h.html +6 -6
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +76 -114
- package/SVF-doxygen/html/html/MTA_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/SABER_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/WPA_2CMakeLists_8txt.html +102 -0
- package/SVF-doxygen/html/html/annotated.html +9 -468
- package/SVF-doxygen/html/html/cfl_8cpp.html +5 -10
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -12
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +51 -119
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator-members.html +2 -14
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +14 -49
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator-members.html +25 -43
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +67 -187
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator-members.html +20 -48
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +345 -1317
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator-members.html +8 -23
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +137 -758
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator_1_1AccessPair-members.html +3 -7
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator_1_1AccessPair.html +37 -184
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator-members.html +1 -13
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +13 -48
- package/SVF-doxygen/html/html/classes.html +10 -123
- package/SVF-doxygen/html/html/dda_8cpp.html +172 -63
- package/SVF-doxygen/html/html/dda_8cpp_source.html +8 -20
- package/SVF-doxygen/html/html/dir_0c09191358c30c0f2d864382d285cb43.html +1 -1
- package/SVF-doxygen/html/html/files.html +19 -288
- package/SVF-doxygen/html/html/functions.html +322 -300
- package/SVF-doxygen/html/html/functions_func.html +171 -1020
- package/SVF-doxygen/html/html/functions_type.html +27 -17
- package/SVF-doxygen/html/html/functions_vars.html +151 -364
- package/SVF-doxygen/html/html/globals.html +53 -11
- package/SVF-doxygen/html/html/globals_func.html +22 -236
- package/SVF-doxygen/html/html/hierarchy.html +9 -543
- package/SVF-doxygen/html/html/menudata.js +44 -294
- package/SVF-doxygen/html/html/mta_8cpp.html +8 -16
- package/SVF-doxygen/html/html/mta_8cpp_source.html +4 -18
- package/SVF-doxygen/html/html/namespaceSVF.html +9 -6287
- package/SVF-doxygen/html/html/namespacemembers.html +3 -35
- package/SVF-doxygen/html/html/namespacemembers_type.html +3 -26
- package/SVF-doxygen/html/html/namespaces.html +2 -9
- package/SVF-doxygen/html/html/saber_8cpp.html +104 -53
- package/SVF-doxygen/html/html/saber_8cpp_source.html +5 -19
- package/SVF-doxygen/html/html/search/all_0.js +1 -131
- package/SVF-doxygen/html/html/search/all_1.js +4 -449
- package/SVF-doxygen/html/html/search/all_10.js +9 -310
- package/SVF-doxygen/html/html/search/all_11.js +1 -187
- package/SVF-doxygen/html/html/search/all_12.js +4 -474
- package/SVF-doxygen/html/html/search/all_2.js +17 -141
- package/SVF-doxygen/html/html/search/all_3.js +5 -592
- package/SVF-doxygen/html/html/search/all_4.js +3 -222
- package/SVF-doxygen/html/html/search/all_5.js +3 -141
- package/SVF-doxygen/html/html/search/all_6.js +12 -211
- package/SVF-doxygen/html/html/search/all_7.js +1 -923
- package/SVF-doxygen/html/html/search/all_8.js +17 -187
- package/SVF-doxygen/html/html/search/all_9.js +11 -553
- package/SVF-doxygen/html/html/search/all_a.js +17 -10
- package/SVF-doxygen/html/html/search/all_b.js +11 -21
- package/SVF-doxygen/html/html/search/all_c.js +5 -112
- package/SVF-doxygen/html/html/search/all_d.js +15 -190
- package/SVF-doxygen/html/html/search/all_e.js +7 -198
- package/SVF-doxygen/html/html/search/all_f.js +6 -122
- package/SVF-doxygen/html/html/search/classes_0.js +1 -25
- package/SVF-doxygen/html/html/search/classes_1.js +1 -7
- package/SVF-doxygen/html/html/search/classes_2.js +3 -69
- package/SVF-doxygen/html/html/search/classes_3.js +2 -32
- package/SVF-doxygen/html/html/search/files_0.js +2 -11
- package/SVF-doxygen/html/html/search/files_1.js +1 -5
- package/SVF-doxygen/html/html/search/files_2.js +2 -48
- package/SVF-doxygen/html/html/search/files_3.js +5 -14
- package/SVF-doxygen/html/html/search/files_4.js +2 -4
- package/SVF-doxygen/html/html/search/files_5.js +1 -13
- package/SVF-doxygen/html/html/search/functions_0.js +3 -339
- package/SVF-doxygen/html/html/search/functions_1.js +8 -73
- package/SVF-doxygen/html/html/search/functions_2.js +4 -228
- package/SVF-doxygen/html/html/search/functions_3.js +3 -69
- package/SVF-doxygen/html/html/search/functions_4.js +1 -50
- package/SVF-doxygen/html/html/search/functions_5.js +12 -49
- package/SVF-doxygen/html/html/search/functions_6.js +1 -766
- package/SVF-doxygen/html/html/search/functions_7.js +7 -143
- package/SVF-doxygen/html/html/search/functions_8.js +2 -393
- package/SVF-doxygen/html/html/search/functions_9.js +9 -4
- package/SVF-doxygen/html/html/search/functions_a.js +5 -1
- package/SVF-doxygen/html/html/search/functions_b.js +4 -20
- package/SVF-doxygen/html/html/search/functions_c.js +2 -72
- package/SVF-doxygen/html/html/search/functions_d.js +2 -31
- package/SVF-doxygen/html/html/search/functions_e.js +5 -58
- package/SVF-doxygen/html/html/search/functions_f.js +4 -132
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/searchdata.js +9 -21
- package/SVF-doxygen/html/html/search/typedefs_0.js +3 -15
- package/SVF-doxygen/html/html/search/typedefs_1.js +2 -24
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -120
- package/SVF-doxygen/html/html/search/typedefs_3.js +1 -41
- package/SVF-doxygen/html/html/search/typedefs_4.js +3 -15
- package/SVF-doxygen/html/html/search/typedefs_5.js +2 -41
- package/SVF-doxygen/html/html/search/variables_0.js +1 -131
- package/SVF-doxygen/html/html/search/variables_1.js +2 -66
- package/SVF-doxygen/html/html/search/variables_2.js +4 -30
- package/SVF-doxygen/html/html/search/variables_3.js +2 -136
- package/SVF-doxygen/html/html/search/variables_4.js +8 -54
- package/SVF-doxygen/html/html/search/variables_5.js +6 -35
- package/SVF-doxygen/html/html/search/variables_6.js +3 -66
- package/SVF-doxygen/html/html/search/variables_7.js +10 -30
- package/SVF-doxygen/html/html/search/variables_8.js +7 -8
- package/SVF-doxygen/html/html/search/variables_9.js +2 -68
- package/SVF-doxygen/html/html/search/variables_a.js +4 -3
- package/SVF-doxygen/html/html/search/variables_b.js +2 -10
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +31 -86
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -64
- package/SVF-doxygen/html/html/wpa_8cpp.html +6 -12
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +2 -14
- package/package.json +1 -1
- package/svf/CMakeLists.txt +26 -0
- package/{include → svf/include}/AbstractExecution/AbstractValue.h +0 -0
- package/{include → svf/include}/AbstractExecution/AddressValue.h +0 -0
- package/{include → svf/include}/AbstractExecution/ExeState.h +0 -0
- package/{include → svf/include}/AbstractExecution/IntervalExeState.h +0 -0
- package/{include → svf/include}/AbstractExecution/IntervalValue.h +0 -0
- package/{include → svf/include}/AbstractExecution/NumericLiteral.h +0 -0
- package/{include → svf/include}/AbstractExecution/RelExeState.h +0 -0
- package/{include → svf/include}/AbstractExecution/RelationSolver.h +0 -0
- package/{include → svf/include}/AbstractExecution/SVFIR2ItvExeState.h +0 -0
- package/{include → svf/include}/AbstractExecution/WTO.h +0 -0
- package/{include → svf/include}/CFL/CFGNormalizer.h +0 -0
- package/{include → svf/include}/CFL/CFLAlias.h +0 -0
- package/{include → svf/include}/CFL/CFLBase.h +0 -0
- package/{include → svf/include}/CFL/CFLData.h +0 -0
- package/{include → svf/include}/CFL/CFLDataBuilder.h +0 -0
- package/{include → svf/include}/CFL/CFLGramGraphChecker.h +0 -0
- package/{include → svf/include}/CFL/CFLGrammar.h +0 -0
- package/{include → svf/include}/CFL/CFLGrammar.txt +0 -0
- package/{include → svf/include}/CFL/CFLGraphBuilder.h +0 -0
- package/{include → svf/include}/CFL/CFLSolver.h +0 -0
- package/{include → svf/include}/CFL/CFLStat.h +0 -0
- package/{include → svf/include}/CFL/CFLVF.h +0 -0
- package/{include → svf/include}/CFL/GrammarBuilder.h +0 -0
- package/{include → svf/include}/CFL/PEGGrammar.txt +0 -0
- package/{include → svf/include}/CFL/VFG.txt +0 -0
- package/{include → svf/include}/DDA/ContextDDA.h +0 -0
- package/{include → svf/include}/DDA/DDAClient.h +0 -0
- package/{include → svf/include}/DDA/DDAPass.h +0 -0
- package/{include → svf/include}/DDA/DDAStat.h +0 -0
- package/{include → svf/include}/DDA/DDAVFSolver.h +0 -0
- package/{include → svf/include}/DDA/FlowDDA.h +0 -0
- package/{include → svf/include}/FastCluster/LICENSE.TXT +0 -0
- package/{include → svf/include}/FastCluster/fastcluster.h +0 -0
- package/{include → svf/include}/Graphs/CFLGraph.h +0 -0
- package/{include → svf/include}/Graphs/CHG.h +0 -0
- package/{include → svf/include}/Graphs/ConsG.h +0 -0
- package/{include → svf/include}/Graphs/ConsGEdge.h +0 -0
- package/{include → svf/include}/Graphs/ConsGNode.h +0 -0
- package/{include → svf/include}/Graphs/DOTGraphTraits.h +0 -0
- package/{include → svf/include}/Graphs/GenericGraph.h +0 -0
- package/{include → svf/include}/Graphs/GraphPrinter.h +0 -0
- package/{include → svf/include}/Graphs/GraphTraits.h +0 -0
- package/{include → svf/include}/Graphs/GraphWriter.h +0 -0
- package/{include → svf/include}/Graphs/ICFG.h +0 -0
- package/{include → svf/include}/Graphs/ICFGEdge.h +0 -0
- package/{include → svf/include}/Graphs/ICFGNode.h +0 -0
- package/{include → svf/include}/Graphs/ICFGStat.h +0 -0
- package/{include → svf/include}/Graphs/IRGraph.h +0 -0
- package/{include → svf/include}/Graphs/PTACallGraph.h +0 -0
- package/{include → svf/include}/Graphs/SVFG.h +0 -0
- package/{include → svf/include}/Graphs/SVFGEdge.h +0 -0
- package/{include → svf/include}/Graphs/SVFGNode.h +0 -0
- package/{include → svf/include}/Graphs/SVFGOPT.h +0 -0
- package/{include → svf/include}/Graphs/SVFGStat.h +0 -0
- package/{include → svf/include}/Graphs/ThreadCallGraph.h +0 -0
- package/{include → svf/include}/Graphs/VFG.h +0 -0
- package/{include → svf/include}/Graphs/VFGEdge.h +0 -0
- package/{include → svf/include}/Graphs/VFGNode.h +0 -0
- package/{include → svf/include}/MSSA/MSSAMuChi.h +0 -0
- package/{include → svf/include}/MSSA/MemPartition.h +0 -0
- package/{include → svf/include}/MSSA/MemRegion.h +0 -0
- package/{include → svf/include}/MSSA/MemSSA.h +0 -0
- package/{include → svf/include}/MSSA/SVFGBuilder.h +0 -0
- package/{include → svf/include}/MTA/FSMPTA.h +0 -0
- package/{include → svf/include}/MTA/LockAnalysis.h +0 -0
- package/{include → svf/include}/MTA/MHP.h +0 -0
- package/{include → svf/include}/MTA/MTA.h +0 -0
- package/{include → svf/include}/MTA/MTAResultValidator.h +0 -0
- package/{include → svf/include}/MTA/MTAStat.h +0 -0
- package/{include → svf/include}/MTA/PCG.h +0 -0
- package/{include → svf/include}/MTA/TCT.h +0 -0
- package/{include → svf/include}/MemoryModel/AbstractPointsToDS.h +0 -0
- package/{include → svf/include}/MemoryModel/ConditionalPT.h +0 -0
- package/{include → svf/include}/MemoryModel/LocationSet.h +0 -0
- package/{include → svf/include}/MemoryModel/MutablePointsToDS.h +0 -0
- package/{include → svf/include}/MemoryModel/PersistentPointsToCache.h +0 -0
- package/{include → svf/include}/MemoryModel/PersistentPointsToDS.h +0 -0
- package/{include → svf/include}/MemoryModel/PointerAnalysis.h +0 -0
- package/{include → svf/include}/MemoryModel/PointerAnalysisImpl.h +0 -0
- package/{include → svf/include}/MemoryModel/PointsTo.h +0 -0
- package/{include → svf/include}/MemoryModel/SVFLoop.h +0 -0
- package/{include → svf/include}/SABER/DoubleFreeChecker.h +0 -0
- package/{include → svf/include}/SABER/FileChecker.h +0 -0
- package/{include → svf/include}/SABER/LeakChecker.h +0 -0
- package/{include → svf/include}/SABER/ProgSlice.h +0 -0
- package/{include → svf/include}/SABER/SaberCheckerAPI.h +0 -0
- package/{include → svf/include}/SABER/SaberCondAllocator.h +0 -0
- package/{include → svf/include}/SABER/SaberSVFGBuilder.h +0 -0
- package/{include → svf/include}/SABER/SrcSnkDDA.h +0 -0
- package/{include → svf/include}/SABER/SrcSnkSolver.h +0 -0
- package/{include → svf/include}/SVFIR/PAGBuilderFromFile.h +0 -0
- package/{include → svf/include}/SVFIR/SVFIR.h +0 -0
- package/{include → svf/include}/SVFIR/SVFModule.h +0 -0
- package/{include → svf/include}/SVFIR/SVFStatements.h +0 -0
- package/{include → svf/include}/SVFIR/SVFType.h +12 -14
- package/{include → svf/include}/SVFIR/SVFValue.h +0 -0
- package/{include → svf/include}/SVFIR/SVFVariables.h +0 -0
- package/{include → svf/include}/SVFIR/SymbolTableInfo.h +0 -0
- package/{include → svf/include}/Util/Annotator.h +0 -0
- package/{include → svf/include}/Util/BitVector.h +0 -0
- package/{include → svf/include}/Util/CallGraphBuilder.h +0 -0
- package/{include → svf/include}/Util/Casting.h +0 -0
- package/{include → svf/include}/Util/CommandLine.h +0 -0
- package/{include → svf/include}/Util/CoreBitVector.h +0 -0
- package/{include → svf/include}/Util/CppUtil.h +0 -0
- package/{include → svf/include}/Util/CxtStmt.h +0 -0
- package/{include → svf/include}/Util/DPItem.h +0 -0
- package/{include → svf/include}/Util/ExtAPI.h +2 -2
- package/{include → svf/include}/Util/ExtAPI.json +0 -0
- package/{include → svf/include}/Util/GraphReachSolver.h +0 -0
- package/{include → svf/include}/Util/NodeIDAllocator.h +0 -0
- package/{include → svf/include}/Util/Options.h +0 -0
- package/{include → svf/include}/Util/PTAStat.h +0 -0
- package/{include → svf/include}/Util/SCC.h +0 -0
- package/{include → svf/include}/Util/SVFStat.h +0 -0
- package/{include → svf/include}/Util/SVFUtil.h +0 -0
- package/{include → svf/include}/Util/SparseBitVector.h +0 -0
- package/{include → svf/include}/Util/ThreadAPI.h +0 -0
- package/{include → svf/include}/Util/WorkList.h +0 -0
- package/{include → svf/include}/Util/Z3Expr.h +0 -0
- package/{include → svf/include}/Util/cJSON.h +0 -0
- package/{include → svf/include}/Util/iterator.h +0 -0
- package/{include → svf/include}/Util/iterator_range.h +0 -0
- package/{include → svf/include}/WPA/Andersen.h +0 -0
- package/{include → svf/include}/WPA/AndersenPWC.h +0 -0
- package/{include → svf/include}/WPA/CSC.h +0 -0
- package/{include → svf/include}/WPA/FlowSensitive.h +0 -0
- package/{include → svf/include}/WPA/Steensgaard.h +0 -0
- package/{include → svf/include}/WPA/TypeAnalysis.h +0 -0
- package/{include → svf/include}/WPA/VersionedFlowSensitive.h +0 -0
- package/{include → svf/include}/WPA/WPAFSSolver.h +0 -0
- package/{include → svf/include}/WPA/WPAPass.h +0 -0
- package/{include → svf/include}/WPA/WPASolver.h +0 -0
- package/{include → svf/include}/WPA/WPAStat.h +0 -0
- package/{lib → svf/lib}/AbstractExecution/ExeState.cpp +0 -0
- package/{lib → svf/lib}/AbstractExecution/IntervalExeState.cpp +0 -0
- package/{lib → svf/lib}/AbstractExecution/RelExeState.cpp +0 -0
- package/{lib → svf/lib}/AbstractExecution/RelationSolver.cpp +0 -0
- package/{lib → svf/lib}/AbstractExecution/SVFIR2ItvExeState.cpp +0 -0
- package/{lib → svf/lib}/AbstractExecution/SVFIR2Relation.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFGNormalizer.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLAlias.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLBase.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLGrammar.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLGraphBuilder.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLSolver.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLStat.cpp +0 -0
- package/{lib → svf/lib}/CFL/CFLVF.cpp +0 -0
- package/{lib → svf/lib}/CFL/GrammarBuilder.cpp +6 -1
- package/{lib → svf/lib}/DDA/ContextDDA.cpp +0 -0
- package/{lib → svf/lib}/DDA/DDAClient.cpp +0 -0
- package/{lib → svf/lib}/DDA/DDAPass.cpp +0 -0
- package/{lib → svf/lib}/DDA/DDAStat.cpp +0 -0
- package/{lib → svf/lib}/DDA/FlowDDA.cpp +0 -0
- package/{lib → svf/lib}/FastCluster/LICENSE.TXT +0 -0
- package/{lib → svf/lib}/FastCluster/fastcluster.cpp +0 -0
- package/{lib → svf/lib}/FastCluster/fastcluster_R_dm.cpp.inc +0 -0
- package/{lib → svf/lib}/FastCluster/fastcluster_dm.cpp.inc +0 -0
- package/{lib → svf/lib}/Graphs/CFLGraph.cpp +0 -0
- package/{lib → svf/lib}/Graphs/CHG.cpp +0 -0
- package/{lib → svf/lib}/Graphs/ConsG.cpp +0 -0
- package/{lib → svf/lib}/Graphs/GraphWriter.cpp +0 -0
- package/{lib → svf/lib}/Graphs/ICFG.cpp +0 -0
- package/{lib → svf/lib}/Graphs/IRGraph.cpp +0 -0
- package/{lib → svf/lib}/Graphs/PTACallGraph.cpp +0 -0
- package/{lib → svf/lib}/Graphs/SVFG.cpp +0 -0
- package/{lib → svf/lib}/Graphs/SVFGOPT.cpp +0 -0
- package/{lib → svf/lib}/Graphs/SVFGReadWrite.cpp +0 -0
- package/{lib → svf/lib}/Graphs/SVFGStat.cpp +0 -0
- package/{lib → svf/lib}/Graphs/ThreadCallGraph.cpp +0 -0
- package/{lib → svf/lib}/Graphs/VFG.cpp +0 -0
- package/{lib → svf/lib}/MSSA/MemPartition.cpp +0 -0
- package/{lib → svf/lib}/MSSA/MemRegion.cpp +0 -0
- package/{lib → svf/lib}/MSSA/MemSSA.cpp +0 -0
- package/{lib → svf/lib}/MSSA/SVFGBuilder.cpp +0 -0
- package/{lib → svf/lib}/MTA/FSMPTA.cpp +0 -0
- package/{lib → svf/lib}/MTA/LockAnalysis.cpp +0 -0
- package/{lib → svf/lib}/MTA/MHP.cpp +0 -0
- package/{lib → svf/lib}/MTA/MTA.cpp +0 -0
- package/{lib → svf/lib}/MTA/MTAStat.cpp +0 -0
- package/{lib → svf/lib}/MTA/PCG.cpp +0 -0
- package/{lib → svf/lib}/MTA/TCT.cpp +0 -0
- package/{lib → svf/lib}/MemoryModel/LocationSet.cpp +0 -0
- package/{lib → svf/lib}/MemoryModel/PointerAnalysis.cpp +0 -0
- package/{lib → svf/lib}/MemoryModel/PointerAnalysisImpl.cpp +0 -0
- package/{lib → svf/lib}/MemoryModel/PointsTo.cpp +0 -0
- package/{lib → svf/lib}/SABER/DoubleFreeChecker.cpp +0 -0
- package/{lib → svf/lib}/SABER/FileChecker.cpp +0 -0
- package/{lib → svf/lib}/SABER/LeakChecker.cpp +0 -0
- package/{lib → svf/lib}/SABER/ProgSlice.cpp +0 -0
- package/{lib → svf/lib}/SABER/SaberCheckerAPI.cpp +0 -0
- package/{lib → svf/lib}/SABER/SaberCondAllocator.cpp +0 -0
- package/{lib → svf/lib}/SABER/SaberSVFGBuilder.cpp +0 -0
- package/{lib → svf/lib}/SABER/SrcSnkDDA.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/PAGBuilderFromFile.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/SVFIR.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/SVFModule.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/SVFStatements.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/SVFValue.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/SVFVariables.cpp +0 -0
- package/{lib → svf/lib}/SVFIR/SymbolTableInfo.cpp +0 -0
- package/{lib → svf/lib}/Util/BitVector.cpp +0 -0
- package/{lib → svf/lib}/Util/CallGraphBuilder.cpp +0 -0
- package/{lib → svf/lib}/Util/CoreBitVector.cpp +0 -0
- package/{lib → svf/lib}/Util/CppUtil.cpp +0 -0
- package/{lib → svf/lib}/Util/ExtAPI.cpp +64 -58
- package/{lib → svf/lib}/Util/NodeIDAllocator.cpp +0 -0
- package/{lib → svf/lib}/Util/Options.cpp +0 -0
- package/{lib → svf/lib}/Util/PTAStat.cpp +0 -0
- package/{lib → svf/lib}/Util/SVFStat.cpp +0 -0
- package/{lib → svf/lib}/Util/SVFUtil.cpp +0 -0
- package/{lib → svf/lib}/Util/ThreadAPI.cpp +0 -0
- package/{lib → svf/lib}/Util/Z3Expr.cpp +0 -0
- package/{lib → svf/lib}/Util/cJSON.cpp +0 -0
- package/{lib → svf/lib}/WPA/Andersen.cpp +0 -0
- package/{lib → svf/lib}/WPA/AndersenSCD.cpp +0 -0
- package/{lib → svf/lib}/WPA/AndersenSFR.cpp +0 -0
- package/{lib → svf/lib}/WPA/AndersenStat.cpp +0 -0
- package/{lib → svf/lib}/WPA/AndersenWaveDiff.cpp +0 -0
- package/{lib → svf/lib}/WPA/CSC.cpp +0 -0
- package/{lib → svf/lib}/WPA/FlowSensitive.cpp +0 -0
- package/{lib → svf/lib}/WPA/FlowSensitiveStat.cpp +0 -0
- package/{lib → svf/lib}/WPA/Steensgaard.cpp +0 -0
- package/{lib → svf/lib}/WPA/TypeAnalysis.cpp +0 -0
- package/{lib → svf/lib}/WPA/VersionedFlowSensitive.cpp +0 -0
- package/{lib → svf/lib}/WPA/VersionedFlowSensitiveStat.cpp +0 -0
- package/{lib → svf/lib}/WPA/WPAPass.cpp +0 -0
- package/svf-llvm/CMakeLists.txt +21 -0
- package/{include → svf-llvm/include}/SVF-LLVM/BasicTypes.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/BreakConstantExpr.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/CHGBuilder.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/DCHG.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/GEPTypeBridgeIterator.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/ICFGBuilder.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/LLVMLoopAnalysis.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/LLVMModule.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/LLVMUtil.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/SVFIRBuilder.h +0 -0
- package/{include → svf-llvm/include}/SVF-LLVM/SymbolTableBuilder.h +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/BreakConstantExpr.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/CHGBuilder.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/DCHG.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/ICFGBuilder.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/LLVMLoopAnalysis.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/LLVMModule.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/LLVMUtil.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/SVFIRBuilder.cpp +0 -0
- package/{lib/SVF-LLVM → svf-llvm/lib}/SymbolTableBuilder.cpp +0 -0
- package/tools/CFL/CMakeLists.txt +18 -7
- package/tools/CMakeLists.txt +2 -1
- package/tools/DDA/CMakeLists.txt +18 -7
- package/tools/Example/CMakeLists.txt +18 -7
- package/tools/Example/svf-ex.cpp +0 -1
- package/tools/MTA/CMakeLists.txt +20 -9
- package/tools/SABER/CMakeLists.txt +18 -7
- package/tools/WPA/CMakeLists.txt +18 -8
- package/lib/CMakeLists.txt +0 -55
|
@@ -66,58 +66,38 @@ $(function() {
|
|
|
66
66
|
<div class="title">MTAAnnotator.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="MTAAnnotator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * MTAAnnotator.h</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Created on: May 4, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Author: Peng Di</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef MTAANNOTATOR_H_</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define MTAANNOTATOR_H_</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="BasicTypes_8h.html">SVF-LLVM/BasicTypes.h</a>"</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="LLVMModule_8h.html">SVF-LLVM/LLVMModule.h</a>"</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="SVFValue_8h.html">SVFIR/SVFValue.h</a>"</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="Annotator_8h.html">Util/Annotator.h</a>"</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="MHP_8h.html">MTA/MHP.h</a>"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> {</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html"> 23</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1MTAAnnotator.html">MTAAnnotator</a>: <span class="keyword">public</span> <a class="code" href="classSVF_1_1Annotator.html">Annotator</a></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> {</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0"> 27</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const Instruction*></a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">InstSet</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4"> 29</a></span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4">MTAAnnotator</a>(): <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>(nullptr),<a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>(nullptr)</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a> = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a> = 0;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d"> 43</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d">~MTAAnnotator</a>()</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">annotateDRCheck</a>(<a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a108616cc98f15af3010ca45b91f32c04">initialize</a>(<a class="code" href="classSVF_1_1MHP.html">MHP</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>, <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#af469d79fcc3bebd9360f72696a242d4e">pruneThreadLocal</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>*pta);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a0ed08b6a94483a750c95eef6c2523dc6">pruneAliasMHP</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a>* pta);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e25b3ef3e4e91f14c35841d0138d888">performAnnotate</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">collectLoadStoreInst</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* mod);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">getLoadOperand</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93"> 73</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">isMemset</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* I)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">getSVFInstruction</a>(I);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* F =<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(svfInst);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> F && F-><a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>().find(<span class="stringliteral">"llvm.memset"</span>) != std::string::npos;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898"> 81</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898">isMemcpy</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* I)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">getSVFInstruction</a>(I);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* F = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(svfInst);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> F && F-><a class="code" href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">getName</a>().find(<span class="stringliteral">"llvm.memcpy"</span>) != std::string::npos;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825"> 89</a></span>  <a class="code" href="classSVF_1_1MHP.html">MHP</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0"> 90</a></span>  <a class="code" href="classSVF_1_1LockAnalysis.html">LockAnalysis</a>* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd"> 91</a></span>  InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a"> 92</a></span>  InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// RCMemoryPartitioning mp;</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b"> 99</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608"> 100</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb"> 101</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3"> 102</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d"> 103</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f"> 104</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2"> 105</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8"> 106</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee"> 107</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700"> 108</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">ANNO_MHP</a>= 0x04;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1"> 113</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">ANNO_ALIAS</a>= 0x02;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">ANNO_LOCAL</a>= 0x01;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> };</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#endif </span><span class="comment">/* MTAANNOTATOR_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1MHP_html"><div class="ttname"><a href="classSVF_1_1MHP.html">SVF::MHP</a></div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00045">MHP.h:45</a></div></div>
|
|
70
|
-
<div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
|
|
71
|
-
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_ab84e4295f1137090bdf9e0608a4c2077"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">SVF::MTAAnnotator::collectLoadStoreInst</a></div><div class="ttdeci">void collectLoadStoreInst(SVFModule *mod)</div><div class="ttdoc">Collect all load and store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00037">MTAAnnotator.cpp:37</a></div></div>
|
|
72
|
-
<div class="ttc" id="classSVF_1_1Annotator_html"><div class="ttname"><a href="classSVF_1_1Annotator.html">SVF::Annotator</a></div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00021">Annotator.h:21</a></div></div>
|
|
69
|
+
<a href="MTAAnnotator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * MTAAnnotator.h</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * Created on: May 4, 2014</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * Author: Peng Di</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#ifndef MTAANNOTATOR_H_</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#define MTAANNOTATOR_H_</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "SVF-LLVM/BasicTypes.h"</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "SVF-LLVM/LLVMModule.h"</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "SVFIR/SVFValue.h"</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "Util/Annotator.h"</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "MTA/MHP.h"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> {</div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00023"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html"> 23</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1MTAAnnotator.html">MTAAnnotator</a>: <span class="keyword">public</span> Annotator</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> {</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0"> 27</a></span>  <span class="keyword">typedef</span> Set<const Instruction*> <a class="code" href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">InstSet</a>;</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4"> 29</a></span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4">MTAAnnotator</a>(): <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>(nullptr),<a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>(nullptr)</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a> = 0;</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a> = 0;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a> = 0;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a> = 0;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a> = 0;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a> = 0;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a> = 0;</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a> = 0;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a> = 0;</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d"> 43</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d">~MTAAnnotator</a>()</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> </div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">annotateDRCheck</a>(Instruction* inst);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a108616cc98f15af3010ca45b91f32c04">initialize</a>(MHP* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>, LockAnalysis* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#af469d79fcc3bebd9360f72696a242d4e">pruneThreadLocal</a>(PointerAnalysis*pta);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a0ed08b6a94483a750c95eef6c2523dc6">pruneAliasMHP</a>(PointerAnalysis* pta);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e25b3ef3e4e91f14c35841d0138d888">performAnnotate</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">collectLoadStoreInst</a>(SVFModule* mod);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">const</span> Value* <a class="code" href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">getStoreOperand</a>(<span class="keyword">const</span> Instruction* inst);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">const</span> Value* <a class="code" href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">getLoadOperand</a>(<span class="keyword">const</span> Instruction* inst);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93"> 73</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">isMemset</a>(<span class="keyword">const</span> Instruction* I)</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">const</span> SVFInstruction* svfInst = LLVMModuleSet::getLLVMModuleSet()->getSVFInstruction(I);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keyword">const</span> SVFFunction* F =SVFUtil::getCallee(svfInst);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> F && F->getName().find(<span class="stringliteral">"llvm.memset"</span>) != std::string::npos;</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898"> 81</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898">isMemcpy</a>(<span class="keyword">const</span> Instruction* I)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">const</span> SVFInstruction* svfInst = LLVMModuleSet::getLLVMModuleSet()->getSVFInstruction(I);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keyword">const</span> SVFFunction* F = SVFUtil::getCallee(svfInst);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> F && F->getName().find(<span class="stringliteral">"llvm.memcpy"</span>) != std::string::npos;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825"> 89</a></span>  MHP* <a class="code" href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">mhp</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0"> 90</a></span>  LockAnalysis* <a class="code" href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">lsa</a>;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd"> 91</a></span>  InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">loadset</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a"> 92</a></span>  InstSet <a class="code" href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">storeset</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> </div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment">// RCMemoryPartitioning mp;</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b"> 99</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">numOfAllSt</a>;</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608"> 100</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">numOfAllLd</a>;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb"> 101</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">numOfNonLocalSt</a>;</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3"> 102</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">numOfNonLocalLd</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d"> 103</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">numOfAliasSt</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f"> 104</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">numOfAliasLd</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2"> 105</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">numOfMHPSt</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8"> 106</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">numOfMHPLd</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee"> 107</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">numOfAnnotatedSt</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700"> 108</a></span>  u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">numOfAnnotatedLd</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">ANNO_MHP</a>= 0x04;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1"> 113</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">ANNO_ALIAS</a>= 0x02;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> u32_t <a class="code" href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">ANNO_LOCAL</a>= 0x01;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> };</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> </div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor">#endif </span><span class="comment">/* MTAANNOTATOR_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1MTAAnnotator_html_ab84e4295f1137090bdf9e0608a4c2077"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ab84e4295f1137090bdf9e0608a4c2077">SVF::MTAAnnotator::collectLoadStoreInst</a></div><div class="ttdeci">void collectLoadStoreInst(SVFModule *mod)</div><div class="ttdoc">Collect all load and store instruction. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00037">MTAAnnotator.cpp:37</a></div></div>
|
|
73
70
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a469851829bf1105fe8faac44b4abbfdd"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a469851829bf1105fe8faac44b4abbfdd">SVF::MTAAnnotator::loadset</a></div><div class="ttdeci">InstSet loadset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00091">MTAAnnotator.h:91</a></div></div>
|
|
74
|
-
<div class="ttc" id="MHP_8h_html"><div class="ttname"><a href="MHP_8h.html">MHP.h</a></div></div>
|
|
75
71
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a49434afd0d7beb9f5d6580e8f672889c"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a49434afd0d7beb9f5d6580e8f672889c">SVF::MTAAnnotator::getStoreOperand</a></div><div class="ttdeci">const Value * getStoreOperand(const Instruction *inst)</div><div class="ttdoc">Get operand of store and load. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00074">MTAAnnotator.cpp:74</a></div></div>
|
|
76
|
-
<div class="ttc" id="classSVF_1_1SVFValue_html_a68b40576b24c4cb81cc3ba75550f4654"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a68b40576b24c4cb81cc3ba75550f4654">SVF::SVFValue::getName</a></div><div class="ttdeci">virtual const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00210">SVFValue.h:210</a></div></div>
|
|
77
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
78
|
-
<div class="ttc" id="LLVMModule_8h_html"><div class="ttname"><a href="LLVMModule_8h.html">LLVMModule.h</a></div></div>
|
|
79
|
-
<div class="ttc" id="Annotator_8h_html"><div class="ttname"><a href="Annotator_8h.html">Annotator.h</a></div></div>
|
|
80
72
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a29e0123620ab072fddc45331c6aa46e8"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8">SVF::MTAAnnotator::numOfMHPLd</a></div><div class="ttdeci">u32_t numOfMHPLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00106">MTAAnnotator.h:106</a></div></div>
|
|
81
73
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_aee9e5ebac543d9a2aab511410b047898"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aee9e5ebac543d9a2aab511410b047898">SVF::MTAAnnotator::isMemcpy</a></div><div class="ttdeci">bool isMemcpy(const Instruction *I)</div><div class="ttdoc">Check if Function "F" is memcpy. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00081">MTAAnnotator.h:81</a></div></div>
|
|
82
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
|
|
83
74
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_aa1572c2a9f260ff66c9da661fd669a5f"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aa1572c2a9f260ff66c9da661fd669a5f">SVF::MTAAnnotator::numOfAliasLd</a></div><div class="ttdeci">u32_t numOfAliasLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00104">MTAAnnotator.h:104</a></div></div>
|
|
84
|
-
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00049">SVFType.h:49</a></div></div>
|
|
85
75
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a3c07f9964623b3895b1bab59a63dccfb"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a3c07f9964623b3895b1bab59a63dccfb">SVF::MTAAnnotator::numOfNonLocalSt</a></div><div class="ttdeci">u32_t numOfNonLocalSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00101">MTAAnnotator.h:101</a></div></div>
|
|
86
76
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a5c1743a40d54fdbde2f9dadb612de608"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a5c1743a40d54fdbde2f9dadb612de608">SVF::MTAAnnotator::numOfAllLd</a></div><div class="ttdeci">u32_t numOfAllLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00100">MTAAnnotator.h:100</a></div></div>
|
|
87
77
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a4e25b3ef3e4e91f14c35841d0138d888"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a4e25b3ef3e4e91f14c35841d0138d888">SVF::MTAAnnotator::performAnnotate</a></div><div class="ttdeci">void performAnnotate()</div><div class="ttdoc">Perform annotation. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00281">MTAAnnotator.cpp:281</a></div></div>
|
|
88
78
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a5513a9f2a5b89ab5f90549552fb2b20f"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a5513a9f2a5b89ab5f90549552fb2b20f">SVF::MTAAnnotator::annotateDRCheck</a></div><div class="ttdeci">void annotateDRCheck(Instruction *inst)</div><div class="ttdoc">Annotation. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00018">MTAAnnotator.cpp:18</a></div></div>
|
|
89
79
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a0ed08b6a94483a750c95eef6c2523dc6"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a0ed08b6a94483a750c95eef6c2523dc6">SVF::MTAAnnotator::pruneAliasMHP</a></div><div class="ttdeci">void pruneAliasMHP(PointerAnalysis *pta)</div><div class="ttdoc">Prune candidate instructions that non-mhp and non-alias with others. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00202">MTAAnnotator.cpp:202</a></div></div>
|
|
90
80
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a27f54c50256fc4a2f96fa2305ad04eb1"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a27f54c50256fc4a2f96fa2305ad04eb1">SVF::MTAAnnotator::ANNO_ALIAS</a></div><div class="ttdeci">static const u32_t ANNO_ALIAS</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00113">MTAAnnotator.h:113</a></div></div>
|
|
91
|
-
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00094">SVFType.h:94</a></div></div>
|
|
92
81
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html">SVF::MTAAnnotator</a></div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00023">MTAAnnotator.h:23</a></div></div>
|
|
93
82
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a71178ddc585c9ca7c9e5c3b52378cd7d"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a71178ddc585c9ca7c9e5c3b52378cd7d">SVF::MTAAnnotator::numOfAliasSt</a></div><div class="ttdeci">u32_t numOfAliasSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00103">MTAAnnotator.h:103</a></div></div>
|
|
94
|
-
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00063">BasicTypes.h:63</a></div></div>
|
|
95
83
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a94d7a3fd9166126c052fca28f9a4c825"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a94d7a3fd9166126c052fca28f9a4c825">SVF::MTAAnnotator::mhp</a></div><div class="ttdeci">MHP * mhp</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00089">MTAAnnotator.h:89</a></div></div>
|
|
96
84
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a399e53d065bc34af428a1ba89a04972b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a399e53d065bc34af428a1ba89a04972b">SVF::MTAAnnotator::getLoadOperand</a></div><div class="ttdeci">const Value * getLoadOperand(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00092">MTAAnnotator.cpp:92</a></div></div>
|
|
97
85
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a42a5c0eac879be5e300583aa7d07beb0"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a42a5c0eac879be5e300583aa7d07beb0">SVF::MTAAnnotator::lsa</a></div><div class="ttdeci">LockAnalysis * lsa</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00090">MTAAnnotator.h:90</a></div></div>
|
|
98
|
-
<div class="ttc" id="classSVF_1_1LockAnalysis_html"><div class="ttname"><a href="classSVF_1_1LockAnalysis.html">SVF::LockAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="LockAnalysis_8h_source.html#l00044">LockAnalysis.h:44</a></div></div>
|
|
99
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00228">SVFUtil.h:228</a></div></div>
|
|
100
86
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_afbb8c25a126362ab0a4101866b4fc0ee"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#afbb8c25a126362ab0a4101866b4fc0ee">SVF::MTAAnnotator::numOfAnnotatedSt</a></div><div class="ttdeci">u32_t numOfAnnotatedSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00107">MTAAnnotator.h:107</a></div></div>
|
|
101
87
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a95f4607624dac40e9d62f37e6b16fcf0"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a95f4607624dac40e9d62f37e6b16fcf0">SVF::MTAAnnotator::InstSet</a></div><div class="ttdeci">Set< const Instruction * > InstSet</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00027">MTAAnnotator.h:27</a></div></div>
|
|
102
|
-
<div class="ttc" id="BasicTypes_8h_html"><div class="ttname"><a href="BasicTypes_8h.html">BasicTypes.h</a></div></div>
|
|
103
|
-
<div class="ttc" id="SVFValue_8h_html"><div class="ttname"><a href="SVFValue_8h.html">SVFValue.h</a></div></div>
|
|
104
88
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a3a53e90b4f361d1298983bc89795b3d2"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2">SVF::MTAAnnotator::numOfMHPSt</a></div><div class="ttdeci">u32_t numOfMHPSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00105">MTAAnnotator.h:105</a></div></div>
|
|
105
89
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37df9f2416685c535be2faa01e162f3a"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37df9f2416685c535be2faa01e162f3a">SVF::MTAAnnotator::storeset</a></div><div class="ttdeci">InstSet storeset</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00092">MTAAnnotator.h:92</a></div></div>
|
|
106
90
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_aa0149b932b4148b14b36e2c5cf9b614b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aa0149b932b4148b14b36e2c5cf9b614b">SVF::MTAAnnotator::numOfAllSt</a></div><div class="ttdeci">u32_t numOfAllSt</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00099">MTAAnnotator.h:99</a></div></div>
|
|
107
|
-
<div class="ttc" id="
|
|
108
|
-
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="AbstractValue_8h_source.html#l00037">AbstractValue.h:37</a></div></div>
|
|
91
|
+
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdef"><b>Definition:</b> <a href="LockResultValidator_8cpp_source.html#l00016">LockResultValidator.cpp:16</a></div></div>
|
|
109
92
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a4e10dbbb742125ebcbdc079ad647b87b"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a4e10dbbb742125ebcbdc079ad647b87b">SVF::MTAAnnotator::ANNO_MHP</a></div><div class="ttdeci">static const u32_t ANNO_MHP</div><div class="ttdoc">Constant INTERLEV_FLAG values. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00112">MTAAnnotator.h:112</a></div></div>
|
|
110
93
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_aded5add82485d493d57e293fd59bf960"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#aded5add82485d493d57e293fd59bf960">SVF::MTAAnnotator::ANNO_LOCAL</a></div><div class="ttdeci">static const u32_t ANNO_LOCAL</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00114">MTAAnnotator.h:114</a></div></div>
|
|
111
94
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_ad53ac0cec797f84d3bc14bdb6bab1ab3"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#ad53ac0cec797f84d3bc14bdb6bab1ab3">SVF::MTAAnnotator::numOfNonLocalLd</a></div><div class="ttdeci">u32_t numOfNonLocalLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00102">MTAAnnotator.h:102</a></div></div>
|
|
112
95
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a57df091dbdd4fc947cc5e7aaec123700"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a57df091dbdd4fc947cc5e7aaec123700">SVF::MTAAnnotator::numOfAnnotatedLd</a></div><div class="ttdeci">u32_t numOfAnnotatedLd</div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00108">MTAAnnotator.h:108</a></div></div>
|
|
113
96
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a1dc12d846adf07265a9b6a5c2694c84d"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a1dc12d846adf07265a9b6a5c2694c84d">SVF::MTAAnnotator::~MTAAnnotator</a></div><div class="ttdeci">virtual ~MTAAnnotator()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00043">MTAAnnotator.h:43</a></div></div>
|
|
114
97
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_af469d79fcc3bebd9360f72696a242d4e"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#af469d79fcc3bebd9360f72696a242d4e">SVF::MTAAnnotator::pruneThreadLocal</a></div><div class="ttdeci">void pruneThreadLocal(PointerAnalysis *pta)</div><div class="ttdoc">Prune candidate instructions that are thread local. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00116">MTAAnnotator.cpp:116</a></div></div>
|
|
115
|
-
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00058">BasicTypes.h:58</a></div></div>
|
|
116
98
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a36eb47b716c3b44ba5c459052bb0ed93"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a36eb47b716c3b44ba5c459052bb0ed93">SVF::MTAAnnotator::isMemset</a></div><div class="ttdeci">bool isMemset(const Instruction *I)</div><div class="ttdoc">Check if Function "F" is memset. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00073">MTAAnnotator.h:73</a></div></div>
|
|
117
99
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a108616cc98f15af3010ca45b91f32c04"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a108616cc98f15af3010ca45b91f32c04">SVF::MTAAnnotator::initialize</a></div><div class="ttdeci">void initialize(MHP *mhp, LockAnalysis *lsa)</div><div class="ttdoc">Initialize. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8cpp_source.html#l00107">MTAAnnotator.cpp:107</a></div></div>
|
|
118
100
|
<div class="ttc" id="classSVF_1_1MTAAnnotator_html_a37ae5e04b0f5560d0f6c2f143b325cd4"><div class="ttname"><a href="classSVF_1_1MTAAnnotator.html#a37ae5e04b0f5560d0f6c2f143b325cd4">SVF::MTAAnnotator::MTAAnnotator</a></div><div class="ttdeci">MTAAnnotator()</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="MTAAnnotator_8h_source.html#l00029">MTAAnnotator.h:29</a></div></div>
|
|
119
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00058">PointerAnalysis.h:58</a></div></div>
|
|
120
|
-
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae74f307b6f96950ceedb2c375ef1c3a3"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">SVF::LLVMModuleSet::getSVFInstruction</a></div><div class="ttdeci">SVFInstruction * getSVFInstruction(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00209">LLVMModule.h:209</a></div></div>
|
|
121
101
|
</div><!-- fragment --></div><!-- contents -->
|
|
122
102
|
<!-- start footer part -->
|
|
123
103
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -69,10 +69,10 @@ $(function() {
|
|
|
69
69
|
<div class="title">MTAResultValidator.cpp File Reference</div> </div>
|
|
70
70
|
</div><!--header-->
|
|
71
71
|
<div class="contents">
|
|
72
|
-
<div class="textblock"><code>#include "
|
|
72
|
+
<div class="textblock"><code>#include "Util/Options.h"</code><br />
|
|
73
73
|
<code>#include <string></code><br />
|
|
74
74
|
<code>#include <sstream></code><br />
|
|
75
|
-
<code>#include "<a class="el" href="
|
|
75
|
+
<code>#include "<a class="el" href="MTAResultValidator_8h_source.html">MTAResultValidator.h</a>"</code><br />
|
|
76
76
|
</div>
|
|
77
77
|
<p><a href="MTAResultValidator_8cpp_source.html">Go to the source code of this file.</a></p>
|
|
78
78
|
<table class="memberdecls">
|
|
@@ -84,7 +84,6 @@ Classes</h2></td></tr>
|
|
|
84
84
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
|
|
85
85
|
Namespaces</h2></td></tr>
|
|
86
86
|
<tr class="memitem:namespaceSVF"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html">SVF</a></td></tr>
|
|
87
|
-
<tr class="memdesc:namespaceSVF"><td class="mdescLeft"> </td><td class="mdescRight">for isBitcode <br /></td></tr>
|
|
88
87
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
89
88
|
</table>
|
|
90
89
|
</div><!-- contents -->
|