svf-tools 1.0.458 → 1.0.459
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-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -4
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/DCHG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8h_source.html +2 -3
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +6 -7
- package/SVF-doxygen/html/html/SVFUtil_8h.html +6 -3
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -3
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TCT_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +2 -4
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +67 -68
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -8
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -15
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +42 -42
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +6 -6
- package/SVF-doxygen/html/html/cuddInt_8c.html +4 -2
- package/SVF-doxygen/html/html/cuddInt_8c_source.html +2 -1
- package/SVF-doxygen/html/html/cuddInt_8h.html +4 -2
- package/SVF-doxygen/html/html/functions_func_g.html +5 -5
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +5 -5
- package/SVF-doxygen/html/html/functions_s.html +1 -1
- package/SVF-doxygen/html/html/globals_s.html +7 -13
- package/SVF-doxygen/html/html/namespaceSVF.html +32 -50
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +100 -58
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +24 -24
- package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_type.html +0 -3
- package/SVF-doxygen/html/html/search/all_13.js +7 -8
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_11.js +0 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/include/DDA/DDAPass.h +1 -1
- package/include/MTA/LockResultValidator.h +1 -1
- package/include/MTA/MTA.h +1 -1
- package/include/MTA/MTAAnnotator.h +1 -1
- package/include/MTA/MTAResultValidator.h +1 -1
- package/include/SVF-FE/BreakConstantExpr.h +2 -2
- package/include/Util/BasicTypes.h +2 -3
- package/include/Util/SVFBasicTypes.h +1 -1
- package/include/Util/SVFUtil.h +16 -1
- package/include/WPA/WPAPass.h +1 -1
- package/lib/MTA/LockResultValidator.cpp +2 -2
- package/lib/MTA/MTAResultValidator.cpp +2 -2
- package/lib/SVF-FE/DCHG.cpp +8 -8
- package/lib/Util/PTAStat.cpp +11 -3
- package/lib/Util/SVFUtil.cpp +3 -3
- package/lib/Util/ThreadAPI.cpp +12 -4
- package/package.json +1 -1
|
@@ -327,7 +327,7 @@ var searchData=
|
|
|
327
327
|
['getfunargslist',['getFunArgsList',['../classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a',1,'SVF::SVFIR']]],
|
|
328
328
|
['getfunargsmap',['getFunArgsMap',['../classSVF_1_1SVFIR.html#a615c056c876b59d1fd174a2ac9ade27c',1,'SVF::SVFIR']]],
|
|
329
329
|
['getfuncentrychiset',['getFuncEntryChiSet',['../classSVF_1_1MemSSA.html#a10743fe9c116ee624387c0473815b800',1,'SVF::MemSSA']]],
|
|
330
|
-
['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#
|
|
330
|
+
['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#aa09c2b313ff1c1abcc1e5cb3f9ef46a5',1,'SVF::SVFUtil::getFunction()']]],
|
|
331
331
|
['getfunctiontype',['getFunctionType',['../classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f',1,'SVF::CallSite']]],
|
|
332
332
|
['getfunentryblock',['getFunEntryBlock',['../classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a',1,'SVF::ICFG']]],
|
|
333
333
|
['getfunentrychinum',['getFunEntryChiNum',['../classSVF_1_1MemSSA.html#a15272a4ed019d1c323d1826c1bedb70f',1,'SVF::MemSSA']]],
|
|
@@ -560,7 +560,7 @@ var searchData=
|
|
|
560
560
|
['getparentsbegin',['getParentsBegin',['../classSVF_1_1TCT.html#afa5bd475c4dc068a0ecc0ec5caab77a9',1,'SVF::TCT']]],
|
|
561
561
|
['getparentsend',['getParentsEnd',['../classSVF_1_1TCT.html#a5d6a06c7daff36a14fa1f371a477784d',1,'SVF::TCT']]],
|
|
562
562
|
['getparentthread',['getParentThread',['../classSVF_1_1TCT.html#a516578af1f8666ff672e6611e61d7152',1,'SVF::TCT']]],
|
|
563
|
-
['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#
|
|
563
|
+
['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#aeac7209ad169cc2aea2022494031069f',1,'SVF::DDAPass::getPassName()'],['../classSVF_1_1MTA.html#a7cb3bc9f1fa9897e36ffd8b781b9ad85',1,'SVF::MTA::getPassName()'],['../classSVF_1_1BreakConstantGEPs.html#a182830d0a9d07015628211ec5eb0d4c6',1,'SVF::BreakConstantGEPs::getPassName()'],['../classSVF_1_1MergeFunctionRets.html#a436a61f00b607dd0e5728daad9dd2e93',1,'SVF::MergeFunctionRets::getPassName()'],['../classSVF_1_1WPAPass.html#a8f6bbf39ea2848ff3b6d105aeb5a31b1',1,'SVF::WPAPass::getPassName()']]],
|
|
564
564
|
['getpathallocator',['getPathAllocator',['../classSVF_1_1SrcSnkDDA.html#a1a6ae6b1f6864057067d0e5533ea801e',1,'SVF::SrcSnkDDA']]],
|
|
565
565
|
['getpathconstraint',['getPathConstraint',['../classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8',1,'SVF::ExeState']]],
|
|
566
566
|
['getphicomplementcond',['getPHIComplementCond',['../classSVF_1_1PathCondAllocator.html#abef2785eb426d5e1d6f273300c691db6',1,'SVF::PathCondAllocator']]],
|
|
@@ -126,7 +126,7 @@ var searchData=
|
|
|
126
126
|
['spawnersend',['spawnersEnd',['../classSVF_1_1PCG.html#ae0062860a89d191c2532834ac93c4c64',1,'SVF::PCG']]],
|
|
127
127
|
['spawnsitesbegin',['spawnSitesBegin',['../classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8',1,'SVF::PCG']]],
|
|
128
128
|
['spawnsitesend',['spawnSitesEnd',['../classSVF_1_1PCG.html#a8dcd94e8f996fdb2197159ea95226817',1,'SVF::PCG']]],
|
|
129
|
-
['split',['split',['../classSVF_1_1LockResultValidator.html#ab8a6935e1ea6f99d60ead862a7b1782f',1,'SVF::LockResultValidator::split(const std::string &s, char delim, Set< std::string > &elems)'],['../classSVF_1_1LockResultValidator.html#ad26006e14c866d694bc6e2ebaa41ded9',1,'SVF::LockResultValidator::split(const std::string &s, char delim)'],['../classSVF_1_1MTAResultValidator.html#a73db9ad234b263b6e644e4b38be14fe6',1,'SVF::MTAResultValidator::split(const std::string &s, char delim, std::vector< std::string > &elems)'],['../classSVF_1_1MTAResultValidator.html#a7dad63ce2a85142a56d13926f10fde47',1,'SVF::MTAResultValidator::split(const std::string &s, char delim)']]],
|
|
129
|
+
['split',['split',['../classSVF_1_1LockResultValidator.html#ab8a6935e1ea6f99d60ead862a7b1782f',1,'SVF::LockResultValidator::split(const std::string &s, char delim, Set< std::string > &elems)'],['../classSVF_1_1LockResultValidator.html#ad26006e14c866d694bc6e2ebaa41ded9',1,'SVF::LockResultValidator::split(const std::string &s, char delim)'],['../classSVF_1_1MTAResultValidator.html#a73db9ad234b263b6e644e4b38be14fe6',1,'SVF::MTAResultValidator::split(const std::string &s, char delim, std::vector< std::string > &elems)'],['../classSVF_1_1MTAResultValidator.html#a7dad63ce2a85142a56d13926f10fde47',1,'SVF::MTAResultValidator::split(const std::string &s, char delim)'],['../namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b',1,'SVF::SVFUtil::split()']]],
|
|
130
130
|
['srcsnkdda',['SrcSnkDDA',['../classSVF_1_1SrcSnkDDA.html#a73f6ddd4ba868e203109c52e4f3600bd',1,'SVF::SrcSnkDDA']]],
|
|
131
131
|
['srcsnksolver',['SrcSnkSolver',['../classSVF_1_1SrcSnkSolver.html#a952450652e55f3325f24b8d237d2c37d',1,'SVF::SrcSnkSolver']]],
|
|
132
132
|
['ssarename',['SSARename',['../classSVF_1_1MemSSA.html#a16114eb55775f6ee812c1648dcaede0c',1,'SVF::MemSSA']]],
|
|
@@ -210,7 +210,7 @@ var searchData=
|
|
|
210
210
|
['svfirbuilder',['SVFIRBuilder',['../classSVF_1_1SVFIRBuilder.html#a8c25c3903cda26312f182014f29069fc',1,'SVF::SVFIRBuilder']]],
|
|
211
211
|
['svfmodule',['SVFModule',['../classSVF_1_1SVFModule.html#a22b214595dd7841eb974e7c633ed8bb1',1,'SVF::SVFModule']]],
|
|
212
212
|
['svfstmt',['SVFStmt',['../classSVF_1_1SVFStmt.html#a2ab7295fe26d2c6d2d5c9fd027f96a47',1,'SVF::SVFStmt']]],
|
|
213
|
-
['svfvalue',['SVFValue',['../classSVF_1_1SVFValue.html#
|
|
213
|
+
['svfvalue',['SVFValue',['../classSVF_1_1SVFValue.html#ac42927fed1c213852daceb902478d9c8',1,'SVF::SVFValue']]],
|
|
214
214
|
['svfvar',['SVFVar',['../classSVF_1_1SVFVar.html#a24daf5faa4b1d159c193e61951d17414',1,'SVF::SVFVar']]],
|
|
215
215
|
['sym2str',['sym2Str',['../classSVF_1_1GrammarBase.html#a3638a17caf8596a826b419ec5bc4df2e',1,'SVF::GrammarBase']]],
|
|
216
216
|
['sym2strdump',['sym2StrDump',['../classSVF_1_1GrammarBase.html#a4c0b76ce574087acdcb3e884480b18b0',1,'SVF::GrammarBase']]],
|
|
@@ -266,7 +266,7 @@ var searchData=
|
|
|
266
266
|
['getfunargslist',['getFunArgsList',['../classSVF_1_1SVFIR.html#aa148e3e14ebad8460e32079f2f44413a',1,'SVF::SVFIR']]],
|
|
267
267
|
['getfunargsmap',['getFunArgsMap',['../classSVF_1_1SVFIR.html#a615c056c876b59d1fd174a2ac9ade27c',1,'SVF::SVFIR']]],
|
|
268
268
|
['getfuncentrychiset',['getFuncEntryChiSet',['../classSVF_1_1MemSSA.html#a10743fe9c116ee624387c0473815b800',1,'SVF::MemSSA']]],
|
|
269
|
-
['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#
|
|
269
|
+
['getfunction',['getFunction',['../classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09',1,'SVF::PTACallGraphNode::getFunction()'],['../classSVF_1_1SVFVar.html#a53439a493963d16e5a1b5ed36ab6d33e',1,'SVF::SVFVar::getFunction()'],['../classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6',1,'SVF::MRGenerator::getFunction()'],['../classSVF_1_1RetMU.html#a8ad6bf3d517e20089dac516742ee4b8f',1,'SVF::RetMU::getFunction()'],['../classSVF_1_1EntryCHI.html#ae021640611362449382668665710154c',1,'SVF::EntryCHI::getFunction()'],['../namespaceSVF_1_1SVFUtil.html#aa09c2b313ff1c1abcc1e5cb3f9ef46a5',1,'SVF::SVFUtil::getFunction()']]],
|
|
270
270
|
['getfunctiontype',['getFunctionType',['../classSVF_1_1CallSite.html#ad0040f4b7953b509059223d1d52c203f',1,'SVF::CallSite']]],
|
|
271
271
|
['getfunentryblock',['getFunEntryBlock',['../classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a',1,'SVF::ICFG']]],
|
|
272
272
|
['getfunentrychinum',['getFunEntryChiNum',['../classSVF_1_1MemSSA.html#a15272a4ed019d1c323d1826c1bedb70f',1,'SVF::MemSSA']]],
|
|
@@ -499,7 +499,7 @@ var searchData=
|
|
|
499
499
|
['getparentsbegin',['getParentsBegin',['../classSVF_1_1TCT.html#afa5bd475c4dc068a0ecc0ec5caab77a9',1,'SVF::TCT']]],
|
|
500
500
|
['getparentsend',['getParentsEnd',['../classSVF_1_1TCT.html#a5d6a06c7daff36a14fa1f371a477784d',1,'SVF::TCT']]],
|
|
501
501
|
['getparentthread',['getParentThread',['../classSVF_1_1TCT.html#a516578af1f8666ff672e6611e61d7152',1,'SVF::TCT']]],
|
|
502
|
-
['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#
|
|
502
|
+
['getpassname',['getPassName',['../classSVF_1_1DDAPass.html#aeac7209ad169cc2aea2022494031069f',1,'SVF::DDAPass::getPassName()'],['../classSVF_1_1MTA.html#a7cb3bc9f1fa9897e36ffd8b781b9ad85',1,'SVF::MTA::getPassName()'],['../classSVF_1_1BreakConstantGEPs.html#a182830d0a9d07015628211ec5eb0d4c6',1,'SVF::BreakConstantGEPs::getPassName()'],['../classSVF_1_1MergeFunctionRets.html#a436a61f00b607dd0e5728daad9dd2e93',1,'SVF::MergeFunctionRets::getPassName()'],['../classSVF_1_1WPAPass.html#a8f6bbf39ea2848ff3b6d105aeb5a31b1',1,'SVF::WPAPass::getPassName()']]],
|
|
503
503
|
['getpathallocator',['getPathAllocator',['../classSVF_1_1SrcSnkDDA.html#a1a6ae6b1f6864057067d0e5533ea801e',1,'SVF::SrcSnkDDA']]],
|
|
504
504
|
['getpathconstraint',['getPathConstraint',['../classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8',1,'SVF::ExeState']]],
|
|
505
505
|
['getphicomplementcond',['getPHIComplementCond',['../classSVF_1_1PathCondAllocator.html#abef2785eb426d5e1d6f273300c691db6',1,'SVF::PathCondAllocator']]],
|
|
@@ -33,7 +33,6 @@ var searchData=
|
|
|
33
33
|
['storesvfgnode',['StoreSVFGNode',['../namespaceSVF.html#a54c5725186e66ead6faf53c10a288714',1,'SVF']]],
|
|
34
34
|
['storetochisetmap',['StoreToChiSetMap',['../classSVF_1_1MemSSA.html#acfee1bb5534026ce991a1ab5e796c6b9',1,'SVF::MemSSA']]],
|
|
35
35
|
['storetopmsetmap',['StoreToPMSetMap',['../classSVF_1_1DDAVFSolver.html#accaacd2dd680f92ff83cfe75eef6ffab',1,'SVF::DDAVFSolver']]],
|
|
36
|
-
['stringref',['StringRef',['../namespaceSVF.html#a88fd7387fcf16caf70abe265cdcf90b9',1,'SVF']]],
|
|
37
36
|
['structlayout',['StructLayout',['../SVF-FE_2BasicTypes_8h.html#aef8af3d6e4b75a3e3e108b636a48fbd3',1,'BasicTypes.h']]],
|
|
38
37
|
['structtype',['StructType',['../namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb',1,'SVF']]],
|
|
39
38
|
['succ_5fconst_5fiterator',['succ_const_iterator',['../namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5',1,'SVF']]],
|
|
@@ -338,7 +338,7 @@ template<class EdgeIter > </div>
|
|
|
338
338
|
</div><div class="memdoc">
|
|
339
339
|
|
|
340
340
|
<p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00354">354</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
|
|
341
|
-
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = node-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div><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="Util_2BasicTypes_8h_source.html#
|
|
341
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = node-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div><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="Util_2BasicTypes_8h_source.html#l00133">BasicTypes.h:133</a></div></div>
|
|
342
342
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html_a959445c97605953fbdebbbd999437a09"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">SVF::PTACallGraphNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdoc">Get function of this call node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00193">PTACallGraph.h:193</a></div></div>
|
|
343
343
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00072">LLVMUtil.h:72</a></div></div>
|
|
344
344
|
</div><!-- fragment -->
|
|
@@ -86,7 +86,7 @@ struct std::hash< SVF::CallSite ></h3>
|
|
|
86
86
|
|
|
87
87
|
<p>Specialise hash for CallSites. </p>
|
|
88
88
|
|
|
89
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
89
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00299">299</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
90
90
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
91
91
|
<a id="a6ed3f621cd155faae27cbd844338409a"></a>
|
|
92
92
|
<h2 class="memtitle"><span class="permalink"><a href="#a6ed3f621cd155faae27cbd844338409a">◆ </a></span>operator()()</h2>
|
|
@@ -112,8 +112,8 @@ struct std::hash< SVF::CallSite ></h3>
|
|
|
112
112
|
</table>
|
|
113
113
|
</div><div class="memdoc">
|
|
114
114
|
|
|
115
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
116
|
-
<div class="fragment"><div class="line"><a name="
|
|
115
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00301">301</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
116
|
+
<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  std::hash<SVF::Instruction *> h;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>());</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div><div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00216">BasicTypes.h:216</a></div></div>
|
|
117
117
|
</div><!-- fragment -->
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
@@ -109,7 +109,7 @@ struct std::hash< SVF::CxtProc ></h3>
|
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
111
|
<p class="definition">Definition at line <a class="el" href="CxtStmt_8h_source.html#l00493">493</a> of file <a class="el" href="CxtStmt_8h_source.html">CxtStmt.h</a>.</p>
|
|
112
|
-
<div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  std::hash<SVF::SVFFunction*> h;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>*<span class="keyword">></span> (cs.<a class="code" href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">getProc</a>());</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div><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="Util_2BasicTypes_8h_source.html#
|
|
112
|
+
<div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  std::hash<SVF::SVFFunction*> h;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>*<span class="keyword">></span> (cs.<a class="code" href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">getProc</a>());</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div><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="Util_2BasicTypes_8h_source.html#l00133">BasicTypes.h:133</a></div></div>
|
|
113
113
|
<div class="ttc" id="classSVF_1_1CxtProc_html_ab9ac6459c90873b7dea35e0a22700189"><div class="ttname"><a href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">SVF::CxtProc::getProc</a></div><div class="ttdeci">const SVFFunction * getProc() const</div><div class="ttdoc">Return current procedure. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00325">CxtStmt.h:325</a></div></div>
|
|
114
114
|
</div><!-- fragment -->
|
|
115
115
|
</div>
|
package/include/DDA/DDAPass.h
CHANGED
|
@@ -71,7 +71,7 @@ private:
|
|
|
71
71
|
if (callee)
|
|
72
72
|
{
|
|
73
73
|
if (ExtAPI::EFT_L_A0__A0R_A1R == ExtAPI::getExtAPI()->get_type(callee)
|
|
74
|
-
|| callee->getName().find("llvm.memset") !=
|
|
74
|
+
|| callee->getName().find("llvm.memset") != std::string::npos)
|
|
75
75
|
return I;
|
|
76
76
|
}
|
|
77
77
|
I = I->getPrevNode();
|
package/include/MTA/MTA.h
CHANGED
|
@@ -71,7 +71,7 @@ public:
|
|
|
71
71
|
inline bool isMemset(const Instruction *I)
|
|
72
72
|
{
|
|
73
73
|
const Function* F =SVFUtil::getCallee(I)->getLLVMFun();
|
|
74
|
-
return F && F->getName().find("llvm.memset") !=
|
|
74
|
+
return F && F->getName().find("llvm.memset") != std::string::npos;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/// Check if Function "F" is memcpy
|
|
@@ -417,7 +417,7 @@ private:
|
|
|
417
417
|
if (const SVFFunction *callee = SVFUtil::getCallee(I))
|
|
418
418
|
{
|
|
419
419
|
if (ExtAPI::EFT_L_A0__A0R_A1R == ExtAPI::getExtAPI()->get_type(callee)
|
|
420
|
-
|| callee->getName().find("llvm.memset") !=
|
|
420
|
+
|| callee->getName().find("llvm.memset") != std::string::npos)
|
|
421
421
|
return I;
|
|
422
422
|
}
|
|
423
423
|
I = I->getPrevNode();
|
|
@@ -37,7 +37,7 @@ private:
|
|
|
37
37
|
public:
|
|
38
38
|
static char ID;
|
|
39
39
|
BreakConstantGEPs() : ModulePass(ID) {}
|
|
40
|
-
StringRef getPassName() const
|
|
40
|
+
llvm::StringRef getPassName() const
|
|
41
41
|
{
|
|
42
42
|
return "Remove Constant GEP Expressions";
|
|
43
43
|
}
|
|
@@ -61,7 +61,7 @@ private:
|
|
|
61
61
|
public:
|
|
62
62
|
static char ID;
|
|
63
63
|
MergeFunctionRets() : ModulePass(ID) {}
|
|
64
|
-
StringRef getPassName() const
|
|
64
|
+
llvm::StringRef getPassName() const
|
|
65
65
|
{
|
|
66
66
|
return "unify function exit into one dummy exit basic block";
|
|
67
67
|
}
|
|
@@ -79,7 +79,6 @@ typedef llvm::LoopInfo LoopInfo;
|
|
|
79
79
|
/// LLVM outputs
|
|
80
80
|
typedef llvm::raw_string_ostream raw_string_ostream;
|
|
81
81
|
typedef llvm::raw_fd_ostream raw_fd_ostream;
|
|
82
|
-
typedef llvm::StringRef StringRef;
|
|
83
82
|
|
|
84
83
|
/// LLVM types
|
|
85
84
|
typedef llvm::StructType StructType;
|
|
@@ -92,8 +91,8 @@ typedef llvm::DataLayout DataLayout;
|
|
|
92
91
|
|
|
93
92
|
/// LLVM Aliases and constants
|
|
94
93
|
typedef llvm::Argument Argument;
|
|
95
|
-
typedef llvm::Constant Constant;
|
|
96
94
|
typedef llvm::ConstantData ConstantData;
|
|
95
|
+
typedef llvm::Constant Constant;
|
|
97
96
|
typedef llvm::ConstantInt ConstantInt;
|
|
98
97
|
typedef llvm::ConstantPointerNull ConstantPointerNull;
|
|
99
98
|
typedef llvm::ConstantArray ConstantArray;
|
|
@@ -143,7 +142,7 @@ public:
|
|
|
143
142
|
{
|
|
144
143
|
}
|
|
145
144
|
|
|
146
|
-
SVFFunction(Function* f): SVFValue(f->getName(),SVFValue::SVFFunc),
|
|
145
|
+
SVFFunction(Function* f): SVFValue(f->getName().str(),SVFValue::SVFFunc),
|
|
147
146
|
isDecl(f->isDeclaration()), isIntri(f->isIntrinsic()), fun(f)
|
|
148
147
|
{
|
|
149
148
|
}
|
package/include/Util/SVFUtil.h
CHANGED
|
@@ -222,7 +222,7 @@ inline CallSite getLLVMCallSite(const Instruction* inst)
|
|
|
222
222
|
}
|
|
223
223
|
|
|
224
224
|
/// Get the corresponding Function based on its name
|
|
225
|
-
inline const SVFFunction* getFunction(
|
|
225
|
+
inline const SVFFunction* getFunction(std::string name)
|
|
226
226
|
{
|
|
227
227
|
Function* fun = nullptr;
|
|
228
228
|
LLVMModuleSet* llvmModuleset = LLVMModuleSet::getLLVMModuleSet();
|
|
@@ -239,6 +239,21 @@ inline const SVFFunction* getFunction(StringRef name)
|
|
|
239
239
|
return nullptr;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
+
/// Split into two substrings around the first occurrence of a separator string.
|
|
243
|
+
inline std::vector<std::string> split(const std::string& s, char seperator)
|
|
244
|
+
{
|
|
245
|
+
std::vector<std::string> output;
|
|
246
|
+
std::string::size_type prev_pos = 0, pos = 0;
|
|
247
|
+
while((pos = s.find(seperator, pos)) != std::string::npos)
|
|
248
|
+
{
|
|
249
|
+
std::string substring( s.substr(prev_pos, pos-prev_pos) );
|
|
250
|
+
output.push_back(substring);
|
|
251
|
+
prev_pos = ++pos;
|
|
252
|
+
}
|
|
253
|
+
output.push_back(s.substr(prev_pos, pos-prev_pos));
|
|
254
|
+
return output;
|
|
255
|
+
}
|
|
256
|
+
|
|
242
257
|
/// find the unique defined global across multiple modules
|
|
243
258
|
inline const Value* getGlobalRep(const Value* val)
|
|
244
259
|
{
|
package/include/WPA/WPAPass.h
CHANGED
|
@@ -26,8 +26,8 @@ Set<std::string> LockResultValidator::getStringArg(const Instruction* inst, unsi
|
|
|
26
26
|
Set<std::string> strvec;
|
|
27
27
|
return strvec;
|
|
28
28
|
}
|
|
29
|
-
const
|
|
30
|
-
return split(vthdcxtstring
|
|
29
|
+
const std::string vthdcxtstring = cxtarray->getAsCString().str();
|
|
30
|
+
return split(vthdcxtstring, ',');
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
Set<std::string> &LockResultValidator::split(const std::string &s, char delim, Set<std::string> &elems)
|
|
@@ -78,8 +78,8 @@ std::vector<std::string> MTAResultValidator::getStringArg(const Instruction* ins
|
|
|
78
78
|
std::vector<std::string> strvec;
|
|
79
79
|
return strvec;
|
|
80
80
|
}
|
|
81
|
-
const
|
|
82
|
-
return split(vthdcxtstring
|
|
81
|
+
const std::string vthdcxtstring = cxtarray->getAsCString().str();
|
|
82
|
+
return split(vthdcxtstring, ',');
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
CallStrCxt MTAResultValidator::getCxtArg(const Instruction* inst, unsigned int arg_num)
|
package/lib/SVF-FE/DCHG.cpp
CHANGED
|
@@ -628,7 +628,7 @@ void DCHGraph::getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &vi
|
|
|
628
628
|
*/
|
|
629
629
|
if (funName.size() == 0)
|
|
630
630
|
{
|
|
631
|
-
virtualFunctions.insert(SVFUtil::getFunction(callee->getName()));
|
|
631
|
+
virtualFunctions.insert(SVFUtil::getFunction(callee->getName().str()));
|
|
632
632
|
}
|
|
633
633
|
else if (funName[0] == '~')
|
|
634
634
|
{
|
|
@@ -644,7 +644,7 @@ void DCHGraph::getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &vi
|
|
|
644
644
|
*/
|
|
645
645
|
if (calleeName[0] == '~')
|
|
646
646
|
{
|
|
647
|
-
virtualFunctions.insert(SVFUtil::getFunction(callee->getName()));
|
|
647
|
+
virtualFunctions.insert(SVFUtil::getFunction(callee->getName().str()));
|
|
648
648
|
}
|
|
649
649
|
}
|
|
650
650
|
else
|
|
@@ -655,7 +655,7 @@ void DCHGraph::getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &vi
|
|
|
655
655
|
*/
|
|
656
656
|
if (funName.compare(calleeName) == 0)
|
|
657
657
|
{
|
|
658
|
-
virtualFunctions.insert(SVFUtil::getFunction(callee->getName()));
|
|
658
|
+
virtualFunctions.insert(SVFUtil::getFunction(callee->getName().str()));
|
|
659
659
|
}
|
|
660
660
|
}
|
|
661
661
|
}
|
|
@@ -966,7 +966,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
|
|
|
966
966
|
|
|
967
967
|
if (const DIBasicType *bt = SVFUtil::dyn_cast<DIBasicType>(t))
|
|
968
968
|
{
|
|
969
|
-
ss <<
|
|
969
|
+
ss << bt->getName().str();
|
|
970
970
|
}
|
|
971
971
|
else if (const DIDerivedType *dt = SVFUtil::dyn_cast<DIDerivedType>(t))
|
|
972
972
|
{
|
|
@@ -1009,7 +1009,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
|
|
|
1009
1009
|
}
|
|
1010
1010
|
else if (dt->getTag() == dwarf::DW_TAG_typedef)
|
|
1011
1011
|
{
|
|
1012
|
-
ss <<
|
|
1012
|
+
ss << dt->getName().str() << "->" << diTypeToStr(dt->getBaseType());
|
|
1013
1013
|
}
|
|
1014
1014
|
}
|
|
1015
1015
|
else if (const DICompositeType *ct = SVFUtil::dyn_cast<DICompositeType>(t))
|
|
@@ -1036,7 +1036,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
|
|
|
1036
1036
|
|
|
1037
1037
|
if (ct->getName() != "")
|
|
1038
1038
|
{
|
|
1039
|
-
ss <<
|
|
1039
|
+
ss << ct->getName().str();
|
|
1040
1040
|
}
|
|
1041
1041
|
else
|
|
1042
1042
|
{
|
|
@@ -1050,7 +1050,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
|
|
|
1050
1050
|
// It can also give a Subprogram type if the class just had non-virtual functions.
|
|
1051
1051
|
if (const DISubprogram *sp = SVFUtil::dyn_cast<DISubprogram>(fields[i]))
|
|
1052
1052
|
{
|
|
1053
|
-
ss <<
|
|
1053
|
+
ss << sp->getName().str();
|
|
1054
1054
|
}
|
|
1055
1055
|
else if (const DIDerivedType *mt = SVFUtil::dyn_cast<DIDerivedType>(fields[i]))
|
|
1056
1056
|
{
|
|
@@ -1117,7 +1117,7 @@ std::string DCHGraph::diTypeToStr(const DIType *t)
|
|
|
1117
1117
|
ss << ")";
|
|
1118
1118
|
}
|
|
1119
1119
|
|
|
1120
|
-
ss <<
|
|
1120
|
+
ss << st->getName().str();
|
|
1121
1121
|
}
|
|
1122
1122
|
|
|
1123
1123
|
return ss.str();
|
package/lib/Util/PTAStat.cpp
CHANGED
|
@@ -291,9 +291,17 @@ void PTAStat::callgraphStat()
|
|
|
291
291
|
void PTAStat::printStat(string statname)
|
|
292
292
|
{
|
|
293
293
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
294
|
+
std::string moduleName(SymbolTableInfo::SymbolInfo()->getModule()->getModuleIdentifier());
|
|
295
|
+
std::vector<std::string> names = SVFUtil::split(moduleName,'/');
|
|
296
|
+
if (names.size() > 1)
|
|
297
|
+
{
|
|
298
|
+
moduleName = names[1];
|
|
299
|
+
names = SVFUtil::split(moduleName,'.');
|
|
300
|
+
if (names.size() > 0)
|
|
301
|
+
{
|
|
302
|
+
moduleName = names[0];
|
|
303
|
+
}
|
|
304
|
+
}
|
|
297
305
|
|
|
298
306
|
SVFUtil::outs() << "\n*********" << statname << "***************\n";
|
|
299
307
|
SVFUtil::outs() << "################ (program : " << moduleName << ")###############\n";
|
package/lib/Util/SVFUtil.cpp
CHANGED
|
@@ -293,16 +293,16 @@ std::string SVFUtil::getSourceLoc(const Value* val)
|
|
|
293
293
|
llvm::DILocation* Loc = SVFUtil::cast<llvm::DILocation>(N); // DILocation is in DebugInfo.h
|
|
294
294
|
unsigned Line = Loc->getLine();
|
|
295
295
|
unsigned Column = Loc->getColumn();
|
|
296
|
-
|
|
296
|
+
std::string File = Loc->getFilename().str();
|
|
297
297
|
//StringRef Dir = Loc.getDirectory();
|
|
298
|
-
if(File.
|
|
298
|
+
if(File.empty() || Line == 0)
|
|
299
299
|
{
|
|
300
300
|
auto inlineLoc = Loc->getInlinedAt();
|
|
301
301
|
if(inlineLoc)
|
|
302
302
|
{
|
|
303
303
|
Line = inlineLoc->getLine();
|
|
304
304
|
Column = inlineLoc->getColumn();
|
|
305
|
-
File = inlineLoc->getFilename();
|
|
305
|
+
File = inlineLoc->getFilename().str();
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
rawstr << "ln: " << Line << " cl: " << Column << " fl: " << File;
|
package/lib/Util/ThreadAPI.cpp
CHANGED
|
@@ -317,10 +317,18 @@ void ThreadAPI::performAPIStat(SVFModule* module)
|
|
|
317
317
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
320
|
+
std::string name(module->getModuleIdentifier());
|
|
321
|
+
std::vector<std::string> fullNames = SVFUtil::split(name,'/');
|
|
322
|
+
if (fullNames.size() > 1)
|
|
323
|
+
{
|
|
324
|
+
name = fullNames[1];
|
|
325
|
+
fullNames = SVFUtil::split(name,'.');
|
|
326
|
+
if (fullNames.size() > 0 )
|
|
327
|
+
{
|
|
328
|
+
name = fullNames[0];
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
SVFUtil::outs() << "################ (program : " << name
|
|
324
332
|
<< ")###############\n";
|
|
325
333
|
SVFUtil::outs().flags(std::ios::left);
|
|
326
334
|
unsigned field_width = 20;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.459",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|