svf-tools 1.0.427 → 1.0.430
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 +2 -2
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +10 -10
- 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 +11 -11
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
- 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 +15 -15
- package/SVF-doxygen/html/html/DCHG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
- 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 +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +10 -10
- 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 +4 -4
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +18 -18
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +58 -56
- 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/LocationSet_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
- 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 +13 -12
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
- 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/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +33 -27
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +32 -28
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +117 -27
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +32 -27
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
- 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 +3 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +70 -70
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -34
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFUtil_8h.html +0 -3
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -13
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +9 -7
- package/SVF-doxygen/html/html/SaberAnnotator_8h.html +1 -1
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +6 -7
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +62 -61
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +77 -76
- package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +1 -0
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +135 -134
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
- 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 +5 -5
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -11
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +75 -80
- 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/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- 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 +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- 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 +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +5 -3
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +16 -16
- 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 +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +115 -88
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +94 -94
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +10 -10
- 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 +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +26 -25
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +153 -114
- 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 +31 -30
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +11 -8
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +89 -89
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +28 -24
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +86 -86
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +41 -42
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +189 -220
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +16 -16
- 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_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +3 -3
- package/SVF-doxygen/html/html/functions_e.html +2 -2
- package/SVF-doxygen/html/html/functions_func.html +3 -3
- package/SVF-doxygen/html/html/functions_func_e.html +2 -2
- package/SVF-doxygen/html/html/functions_func_g.html +8 -7
- package/SVF-doxygen/html/html/functions_func_i.html +5 -8
- package/SVF-doxygen/html/html/functions_func_s.html +9 -8
- package/SVF-doxygen/html/html/functions_g.html +15 -14
- package/SVF-doxygen/html/html/functions_i.html +11 -14
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +15 -15
- package/SVF-doxygen/html/html/functions_p.html +7 -7
- package/SVF-doxygen/html/html/functions_r.html +8 -8
- package/SVF-doxygen/html/html/functions_s.html +11 -10
- package/SVF-doxygen/html/html/functions_t.html +10 -8
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/globals.html +3 -0
- package/SVF-doxygen/html/html/globals_b.html +3 -0
- package/SVF-doxygen/html/html/globals_r.html +3 -0
- package/SVF-doxygen/html/html/globals_s.html +9 -6
- package/SVF-doxygen/html/html/globals_type.html +15 -0
- package/SVF-doxygen/html/html/globals_u.html +5 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +40 -130
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +253 -220
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +20 -20
- package/SVF-doxygen/html/html/namespacemembers.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_b.html +1 -4
- package/SVF-doxygen/html/html/namespacemembers_func.html +8 -5
- package/SVF-doxygen/html/html/namespacemembers_i.html +11 -8
- package/SVF-doxygen/html/html/namespacemembers_r.html +1 -4
- package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type.html +0 -15
- package/SVF-doxygen/html/html/namespacemembers_u.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +4 -4
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +7 -7
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_5.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/functions_0.js +3 -3
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_4.js +2 -2
- package/SVF-doxygen/html/html/search/functions_6.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- 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/DDAVFSolver.h +3 -3
- package/include/MemoryModel/SymbolTableInfo.h +6 -4
- package/include/SABER/PathCondAllocator.h +8 -2
- package/include/SABER/SaberAnnotator.h +4 -4
- package/include/SVF-FE/BasicTypes.h +5 -0
- package/include/SVF-FE/LLVMUtil.h +13 -0
- package/include/Util/BasicTypes.h +0 -5
- package/include/Util/SVFUtil.h +0 -5
- package/lib/MSSA/MemRegion.cpp +4 -4
- package/lib/MemoryModel/PointerAnalysis.cpp +4 -4
- package/lib/MemoryModel/SymbolTableInfo.cpp +6 -8
- package/lib/SABER/PathCondAllocator.cpp +31 -26
- package/lib/SABER/ProgSlice.cpp +7 -4
- package/lib/SABER/SaberAnnotator.cpp +8 -8
- package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
- package/package.json +1 -1
|
@@ -69,7 +69,7 @@ var searchData=
|
|
|
69
69
|
['setnodenumafterpagbuild',['setNodeNumAfterPAGBuild',['../classSVF_1_1IRGraph.html#a5fe12445ed0528183775747dec356db0',1,'SVF::IRGraph']]],
|
|
70
70
|
['setnonconcretecxt',['setNonConcreteCxt',['../classSVF_1_1ContextCond.html#ac80892cbef7a5d2c949e5f07682bc885',1,'SVF::ContextCond']]],
|
|
71
71
|
['setnorrep',['setNorRep',['../classSVF_1_1OfflineConsG.html#a3cb6384160b50bd0a94de3fd2eb6facd',1,'SVF::OfflineConsG']]],
|
|
72
|
-
['setnumofelements',['setNumOfElements',['../classSVF_1_1ObjTypeInfo.html#aff17d13e520a731accedd06350af6221',1,'SVF::ObjTypeInfo']]],
|
|
72
|
+
['setnumofelements',['setNumOfElements',['../classSVF_1_1MemObj.html#a904c5a96407574565e9c48eb2d31e869',1,'SVF::MemObj::setNumOfElements()'],['../classSVF_1_1ObjTypeInfo.html#aff17d13e520a731accedd06350af6221',1,'SVF::ObjTypeInfo::setNumOfElements()']]],
|
|
73
73
|
['setnumoffieldsandelems',['setNumOfFieldsAndElems',['../classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3',1,'SVF::StInfo']]],
|
|
74
74
|
['setobjfieldinsensitive',['setObjFieldInsensitive',['../classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b',1,'SVF::PointerAnalysis']]],
|
|
75
75
|
['setoffset',['setOffset',['../classSVF_1_1DCHEdge.html#a70f757826082c95766c8324c1264e977',1,'SVF::DCHEdge']]],
|
|
@@ -200,7 +200,7 @@ var searchData=
|
|
|
200
200
|
['svfgnodelockspan',['SVFGNodeLockSpan',['../classSVF_1_1SVFGNodeLockSpan.html#a43f4d595b31259576b141cb99883938e',1,'SVF::SVFGNodeLockSpan']]],
|
|
201
201
|
['svfgopt',['SVFGOPT',['../classSVF_1_1SVFGOPT.html#a239475c15b39d54c632427307b8e9350',1,'SVF::SVFGOPT']]],
|
|
202
202
|
['svfgsccdetection',['SVFGSCCDetection',['../classSVF_1_1DDAVFSolver.html#aba0ec611a5cfd096ac0b8b11e0bd5580',1,'SVF::DDAVFSolver']]],
|
|
203
|
-
['svfgstat',['
|
|
203
|
+
['svfgstat',['SVFGStat',['../classSVF_1_1SVFGStat.html#ae61d5bd92ef495a0f6c2f9dedac3da03',1,'SVF::SVFGStat::SVFGStat()'],['../classSVF_1_1FlowSensitive.html#a5f015d8f2b0956306822172d02b415c3',1,'SVF::FlowSensitive::svfgStat()']]],
|
|
204
204
|
['svfir',['SVFIR',['../classSVF_1_1SVFIR.html#abf511f82cdbf7a6d9b6da167aee57636',1,'SVF::SVFIR']]],
|
|
205
205
|
['svfirbuilder',['SVFIRBuilder',['../classSVF_1_1SVFIRBuilder.html#a8c25c3903cda26312f182014f29069fc',1,'SVF::SVFIRBuilder']]],
|
|
206
206
|
['svfmodule',['SVFModule',['../classSVF_1_1SVFModule.html#a22b214595dd7841eb974e7c633ed8bb1',1,'SVF::SVFModule']]],
|
|
@@ -42,8 +42,8 @@ var searchData=
|
|
|
42
42
|
['evaluate',['evaluate',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
43
43
|
['evaluatebranchcond',['evaluateBranchCond',['../classSVF_1_1PathCondAllocator.html#a283788ca2886b03803829434150d11fe',1,'SVF::PathCondAllocator']]],
|
|
44
44
|
['evaluateloopexitbranch',['evaluateLoopExitBranch',['../classSVF_1_1PathCondAllocator.html#a623e6ec670e5f6aeedee26b146ad5a0d',1,'SVF::PathCondAllocator']]],
|
|
45
|
-
['evaluateprogexit',['evaluateProgExit',['../classSVF_1_1PathCondAllocator.html#
|
|
46
|
-
['evaluatetestnulllikeexpr',['evaluateTestNullLikeExpr',['../classSVF_1_1PathCondAllocator.html#
|
|
45
|
+
['evaluateprogexit',['evaluateProgExit',['../classSVF_1_1PathCondAllocator.html#a79d6bbd55a134c856f3e80a898af23ee',1,'SVF::PathCondAllocator']]],
|
|
46
|
+
['evaluatetestnulllikeexpr',['evaluateTestNullLikeExpr',['../classSVF_1_1PathCondAllocator.html#af595a4b93bd350f489bfe8635d86cfcc',1,'SVF::PathCondAllocator']]],
|
|
47
47
|
['exactcondelem',['exactCondElem',['../classSVF_1_1PathCondAllocator.html#a61095843f86d1c5c14750a635fb3aacb',1,'SVF::PathCondAllocator']]],
|
|
48
48
|
['executedbythesamethread',['executedByTheSameThread',['../classSVF_1_1MHP.html#aab80f1bc5c359a7d3b03f249bafa1d40',1,'SVF::MHP']]],
|
|
49
49
|
['exit',['exit',['../util_8h.html#a43b6ea6be735bb828bc062c70cadeff8',1,'util.h']]],
|
|
@@ -294,7 +294,7 @@ var searchData=
|
|
|
294
294
|
['getgraphedge',['getGraphEdge',['../classSVF_1_1PTACallGraph.html#a2634a24621ab93fae7ec1cf94a8cba0b',1,'SVF::PTACallGraph::getGraphEdge()'],['../classSVF_1_1TCT.html#a7b40580939dc63f501a32571806c07bc',1,'SVF::TCT::getGraphEdge()']]],
|
|
295
295
|
['getgraphname',['getGraphName',['../classSVF_1_1IRGraph.html#a5a34f23fee4f84e74908041efebd6867',1,'SVF::IRGraph::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html#a942e068d1debc7f7dd7a6232adc2130f',1,'llvm::DOTGraphTraits< CHGraph * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html#a9ed4562e3c1223c20e76e1372ba8b30d',1,'llvm::DOTGraphTraits< ConstraintGraph * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html#a46226ebac48103764df6427119a322ce',1,'llvm::DOTGraphTraits< ICFG * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html#a6cbd0e71b5ea955de8a548bad9256160',1,'llvm::DOTGraphTraits< IRGraph * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html#af55f35dde97c37966d9d3396662e00aa',1,'llvm::DOTGraphTraits< OfflineConsG * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html#a698264fcfb5bdb99a28618d0701860d6',1,'llvm::DOTGraphTraits< PTACallGraph * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html#a1275496006929be6375a0d71ed86c79b',1,'llvm::DOTGraphTraits< SVFG * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html#aaedec44d41a6e36c9e5db804e4a005dd',1,'llvm::DOTGraphTraits< VFG * >::getGraphName()'],['../structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html#ad06b27680684ff1a7f1d0608f67cf89a',1,'llvm::DOTGraphTraits< TCT * >::getGraphName()']]],
|
|
296
296
|
['getheapallocholdingargposition',['getHeapAllocHoldingArgPosition',['../namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b',1,'SVF::SVFUtil::getHeapAllocHoldingArgPosition(const SVFFunction *fun)'],['../namespaceSVF_1_1SVFUtil.html#a298b6366145ed871faf3d01420ae5d20',1,'SVF::SVFUtil::getHeapAllocHoldingArgPosition(const CallSite cs)'],['../namespaceSVF_1_1SVFUtil.html#a5af986a7698e72272707cc2a466d5ae7',1,'SVF::SVFUtil::getHeapAllocHoldingArgPosition(const Instruction *inst)']]],
|
|
297
|
-
['geticfg',['getICFG',['../classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e',1,'SVF::PointerAnalysis::getICFG()'],['../classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da',1,'SVF::SVFIR::getICFG()']]],
|
|
297
|
+
['geticfg',['getICFG',['../classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e',1,'SVF::PointerAnalysis::getICFG()'],['../classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da',1,'SVF::SVFIR::getICFG()'],['../classSVF_1_1PathCondAllocator.html#a80a607028f3a05d478ffbd6fcc0bbc2a',1,'SVF::PathCondAllocator::getICFG()']]],
|
|
298
298
|
['geticfgedge',['getICFGEdge',['../classSVF_1_1ICFG.html#a5dd4ac55123501c47c628adcf27e2475',1,'SVF::ICFG']]],
|
|
299
299
|
['geticfgkind',['getICFGKind',['../classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03',1,'SVF::ICFGPrinter']]],
|
|
300
300
|
['geticfgnode',['getICFGNode',['../classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b',1,'SVF::ICFG::getICFGNode(NodeID id) const'],['../classSVF_1_1ICFG.html#a489d4265c87304402bb3a20654ab4b99',1,'SVF::ICFG::getICFGNode(const Instruction *inst)'],['../classSVF_1_1VFGNode.html#a0675465e11d1d42ee7e2b7ab3c5de829',1,'SVF::VFGNode::getICFGNode()'],['../classSVF_1_1SVFStmt.html#aa809a57c8cdaaa35dfc3cc0f3b33b52b',1,'SVF::SVFStmt::getICFGNode()']]],
|
|
@@ -102,7 +102,7 @@ var searchData=
|
|
|
102
102
|
['isbinaryconstantexpr',['isBinaryConstantExpr',['../namespaceSVF_1_1SVFUtil.html#a43c9072210a5f5baeafe36da03f2fde2',1,'SVF::SVFUtil']]],
|
|
103
103
|
['isbkvisited',['isbkVisited',['../classSVF_1_1DDAVFSolver.html#a9a9c3a8b5e4ffc89418073110e446f20',1,'SVF::DDAVFSolver']]],
|
|
104
104
|
['isblackholeobj',['isBlackHoleObj',['../classSVF_1_1MemObj.html#a7b890ca9e93b1c61cc6437b7e6a82a8c',1,'SVF::MemObj']]],
|
|
105
|
-
['isblackholesym',['isBlackholeSym',['../
|
|
105
|
+
['isblackholesym',['isBlackholeSym',['../namespaceSVF_1_1SVFUtil.html#ac0df4ee0bf78167dd9461227b5cce7af',1,'SVF::SVFUtil']]],
|
|
106
106
|
['isblkobj',['isBlkObj',['../classSVF_1_1SVFIR.html#a17527c55d35ae5c18f00fd4dabe6acad',1,'SVF::SVFIR::isBlkObj()'],['../classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3',1,'SVF::SymbolTableInfo::isBlkObj()']]],
|
|
107
107
|
['isblkobjorconstantobj',['isBlkObjOrConstantObj',['../classSVF_1_1ConstraintGraph.html#a8ba74f82c1e796f2888ba34bc8355ce9',1,'SVF::ConstraintGraph::isBlkObjOrConstantObj()'],['../classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b',1,'SVF::PointerAnalysis::isBlkObjOrConstantObj()'],['../classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001',1,'SVF::SVFIR::isBlkObjOrConstantObj()'],['../classSVF_1_1SymbolTableInfo.html#a2fc4bfb83b71a4c14e16168382cb8f5d',1,'SVF::SymbolTableInfo::isBlkObjOrConstantObj()'],['../classSVF_1_1TypeBasedHeapCloning.html#a59a9c7b8a7ec392ac609f10c8dac8d7f',1,'SVF::TypeBasedHeapCloning::isBlkObjOrConstantObj()']]],
|
|
108
108
|
['isblkptr',['isBlkPtr',['../classSVF_1_1SVFIR.html#a6a71d2716530607d66d9e9035199d997',1,'SVF::SVFIR::isBlkPtr()'],['../classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c',1,'SVF::SymbolTableInfo::isBlkPtr()']]],
|
|
@@ -37,7 +37,7 @@ var searchData=
|
|
|
37
37
|
['plainmap',['plainMap',['../classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b',1,'SVF::FlowSensitive']]],
|
|
38
38
|
['pmx',['PMX',['../cuddInt_8c.html#a6e6108316d27c8e3b393f65362e5e37b',1,'cuddInt.c']]],
|
|
39
39
|
['pointeranalysis',['PointerAnalysis',['../classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f',1,'SVF::PointerAnalysis']]],
|
|
40
|
-
['pointsto',['
|
|
40
|
+
['pointsto',['PointsTo',['../classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22',1,'SVF::PointsTo::PointsTo(void)'],['../classSVF_1_1PointsTo.html#acef2d3e41263aef641c3411e28ad445c',1,'SVF::PointsTo::PointsTo(const PointsTo &pt)'],['../classSVF_1_1PointsTo.html#a5ecef616428a70e8e7726406dfb43544',1,'SVF::PointsTo::PointsTo(PointsTo &&pt)'],['../classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac',1,'SVF::CondPointsToSet::pointsTo(void)'],['../classSVF_1_1CondPointsToSet.html#ada240bc77570174a1d17ac097583fa78',1,'SVF::CondPointsToSet::pointsTo(void) const'],['../classSVF_1_1CondPointsToSet.html#a03311162626acf16ad05b7b93248a92b',1,'SVF::CondPointsToSet::pointsTo(Cond cond) const'],['../classSVF_1_1CondPointsToSet.html#a8775ef2c073af6c8055c3f5b0035288f',1,'SVF::CondPointsToSet::pointsTo(Cond cond)']]],
|
|
41
41
|
['pointstoiterator',['PointsToIterator',['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(void)=delete'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a19f371ccb5b1c84fb4adfd5b0c8a3eec',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsToIterator &pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#abe128c47fb16093756195f789e5f68d5',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(PointsToIterator &&pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#ad9efcd9fb0c8201b9166a1560d06a71b',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsTo *pt, bool end=false)']]],
|
|
42
42
|
['pop',['pop',['../classSVF_1_1List.html#a6e85bd3d8b23ccc7752a72e2a5b171ab',1,'SVF::List::pop()'],['../classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6',1,'SVF::FIFOWorkList::pop()'],['../classSVF_1_1FILOWorkList.html#a3fd9acb6d09fd142bfd402fdf8cac93b',1,'SVF::FILOWorkList::pop()']]],
|
|
43
43
|
['popen',['popen',['../util_8h.html#a7a377e01cff8d8243569ddc8bfef959b',1,'util.h']]],
|
|
@@ -10,7 +10,7 @@ var searchData=
|
|
|
10
10
|
['aliasanalysis',['AliasAnalysis',['../classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f',1,'SVF::PointerAnalysis']]],
|
|
11
11
|
['aliasset',['AliasSet',['../namespaceSVF.html#a2b2887cf75225bc9127338b4cf30aa85',1,'SVF']]],
|
|
12
12
|
['aliassettype',['AliasSetType',['../classSVF_1_1SVFModule.html#a654097a3df71f8eac489e8ddae8de30c',1,'SVF::SVFModule']]],
|
|
13
|
-
['allocainst',['AllocaInst',['../
|
|
13
|
+
['allocainst',['AllocaInst',['../SVF-FE_2BasicTypes_8h.html#a5e06fe1b4b25113ac322dbeda71055dc',1,'BasicTypes.h']]],
|
|
14
14
|
['arg_5fiterator',['arg_iterator',['../classSVF_1_1CallSite.html#ac1cdfe5e54026960a23142e26b3150ff',1,'SVF::CallSite']]],
|
|
15
15
|
['argument',['Argument',['../namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801',1,'SVF']]],
|
|
16
16
|
['arraytype',['ArrayType',['../namespaceSVF.html#a146d286041987860388da3d8bc85cee3',1,'SVF']]],
|
|
@@ -22,6 +22,6 @@ var searchData=
|
|
|
22
22
|
['binaryoperator',['BinaryOperator',['../SVF-FE_2BasicTypes_8h.html#ab58e9b290ff1defcedad101c3da8d8fd',1,'BasicTypes.h']]],
|
|
23
23
|
['bitcastinst',['BitCastInst',['../SVF-FE_2BasicTypes_8h.html#ab8cddf2ff868c0a9ae99483640c9ecef',1,'BasicTypes.h']]],
|
|
24
24
|
['blockaddress',['BlockAddress',['../SVF-FE_2BasicTypes_8h.html#ad29efa92ce4c6449b5ef7853994877bd',1,'BasicTypes.h']]],
|
|
25
|
-
['branchinst',['BranchInst',['../
|
|
25
|
+
['branchinst',['BranchInst',['../SVF-FE_2BasicTypes_8h.html#adeac5db1db4ed03898d30f205fd02264',1,'BasicTypes.h']]],
|
|
26
26
|
['bridge_5fgep_5fiterator',['bridge_gep_iterator',['../namespacellvm.html#af77a7ec045719d1f075cf6c591902522',1,'llvm::bridge_gep_iterator()'],['../namespaceSVF.html#a3b6e84470681a9f731a81e8cf54680cc',1,'SVF::bridge_gep_iterator()']]]
|
|
27
27
|
];
|
|
@@ -10,7 +10,7 @@ var searchData=
|
|
|
10
10
|
['retmu',['RETMU',['../classSVF_1_1SVFG.html#a047573d70182da351b9e3bbf66ca0056',1,'SVF::SVFG::RETMU()'],['../classSVF_1_1MemSSA.html#a953a56a65ee36fd1c78b29179cd3f33a',1,'SVF::MemSSA::RETMU()']]],
|
|
11
11
|
['retpeset',['RetPESet',['../classSVF_1_1ICFGNode.html#a2c39225f7b5ca0c392ea7afc3cec1fdb',1,'SVF::ICFGNode::RetPESet()'],['../classSVF_1_1VFG.html#abf966182c28f0521dcd161aa299e453d',1,'SVF::VFG::RetPESet()'],['../classSVF_1_1VFGNode.html#a367413b90de8a382190ffa9f0c742e01',1,'SVF::VFGNode::RetPESet()']]],
|
|
12
12
|
['rettype',['RetType',['../structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html#ae6f5437cb8355759aadc78fca716bc6a',1,'SVF::SVFUtil::simplify_type< const From >']]],
|
|
13
|
-
['returninst',['ReturnInst',['../
|
|
13
|
+
['returninst',['ReturnInst',['../SVF-FE_2BasicTypes_8h.html#af386dbc3b9c4325443a15b07038e8386',1,'BasicTypes.h']]],
|
|
14
14
|
['revptsmap',['RevPtsMap',['../classSVF_1_1MutablePTData.html#a6d491581d17876625d0265cd26acd8e1',1,'SVF::MutablePTData::RevPtsMap()'],['../classSVF_1_1PersistentPTData.html#aad89172e6e99d5ee576faa7bc74b36d8',1,'SVF::PersistentPTData::RevPtsMap()'],['../classSVF_1_1PersistentDiffPTData.html#ac008ee5f7e4d286f9e76d85989358305',1,'SVF::PersistentDiffPTData::RevPtsMap()']]],
|
|
15
15
|
['rthdtochildrenmap',['rthdToChildrenMap',['../classSVF_1_1MTAResultValidator.html#a7d2043cf3c354812fa5e4cdf7f60ff20',1,'SVF::MTAResultValidator']]],
|
|
16
16
|
['rthdtovthdmap',['rthdTovthdMap',['../classSVF_1_1MTAResultValidator.html#ab386260dd6bbaeacde10e5c81f07502c',1,'SVF::MTAResultValidator']]]
|
|
@@ -60,6 +60,6 @@ var searchData=
|
|
|
60
60
|
['svfstmtset',['SVFStmtSet',['../classSVF_1_1IRGraph.html#a28ea8f85b0923d00364a010c1fd4e416',1,'SVF::IRGraph::SVFStmtSet()'],['../classSVF_1_1VFG.html#a8e3633597a4dca714df20e0720b31f1e',1,'SVF::VFG::SVFStmtSet()']]],
|
|
61
61
|
['svfstmtsetty',['SVFStmtSetTy',['../classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4',1,'SVF::SVFStmt']]],
|
|
62
62
|
['svfvarlist',['SVFVarList',['../classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b',1,'SVF::SVFIR']]],
|
|
63
|
-
['switchinst',['SwitchInst',['../
|
|
63
|
+
['switchinst',['SwitchInst',['../SVF-FE_2BasicTypes_8h.html#a55ac065a1d559c907908492c6853dd53',1,'BasicTypes.h']]],
|
|
64
64
|
['symid',['SymID',['../namespaceSVF.html#ad11fe2412b2182365a662ff0e4639b48',1,'SVF']]]
|
|
65
65
|
];
|
|
@@ -3,7 +3,7 @@ var searchData=
|
|
|
3
3
|
['u32_5ft',['u32_t',['../namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af',1,'SVF']]],
|
|
4
4
|
['u64_5ft',['u64_t',['../namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14',1,'SVF']]],
|
|
5
5
|
['unaryoperator',['UnaryOperator',['../SVF-FE_2BasicTypes_8h.html#ab6cb332bc04ab932cba29fa9c9d5f3b2',1,'BasicTypes.h']]],
|
|
6
|
-
['undefvalue',['UndefValue',['../
|
|
6
|
+
['undefvalue',['UndefValue',['../SVF-FE_2BasicTypes_8h.html#a1ab5636908738dc0987bc642604cbb4a',1,'BasicTypes.h']]],
|
|
7
7
|
['unifyfunctionexitnodes',['UnifyFunctionExitNodes',['../namespaceSVF.html#ae5853f7df76735b195ff93949ca4256b',1,'SVF']]],
|
|
8
8
|
['unreachableinst',['UnreachableInst',['../SVF-FE_2BasicTypes_8h.html#ac81608d3ff4a58a9a5d8fd522860b96f',1,'BasicTypes.h']]],
|
|
9
9
|
['updatedvarconstiter',['UpdatedVarconstIter',['../classSVF_1_1MutableIncDFPTData.html#af815dd2108c16e1dfddbcd5bdbcceeb6',1,'SVF::MutableIncDFPTData']]],
|
|
@@ -25,14 +25,14 @@ var searchData=
|
|
|
25
25
|
['tid',['tid',['../classSVF_1_1CxtThreadStmt.html#ad96bacc3de1ce576ad397d19aa99a269',1,'SVF::CxtThreadStmt::tid()'],['../classSVF_1_1CxtThreadProc.html#a99b24e1be2bfb49569532c2c28c68969',1,'SVF::CxtThreadProc::tid()']]],
|
|
26
26
|
['timelimit',['timeLimit',['../structDdManager.html#a6c14f932c4a66c6234e6b19bd8b6647f',1,'DdManager']]],
|
|
27
27
|
['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
|
|
28
|
-
['timeofcreatemuchi',['
|
|
28
|
+
['timeofcreatemuchi',['timeOfCreateMUCHI',['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()'],['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()']]],
|
|
29
29
|
['timeofgeneratingmemregions',['TimeOfGeneratingMemRegions',['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()']]],
|
|
30
|
-
['timeofinsertingphi',['
|
|
30
|
+
['timeofinsertingphi',['TimeOfInsertingPHI',['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()'],['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()']]],
|
|
31
31
|
['timeofprocesscopygep',['timeOfProcessCopyGep',['../classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0',1,'SVF::AndersenBase']]],
|
|
32
32
|
['timeofprocessloadstore',['timeOfProcessLoadStore',['../classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf',1,'SVF::AndersenBase']]],
|
|
33
33
|
['timeofsccdetection',['timeOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143',1,'SVF::AndersenBase']]],
|
|
34
34
|
['timeofsccmerges',['timeOfSCCMerges',['../classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d',1,'SVF::AndersenBase']]],
|
|
35
|
-
['timeofssarenaming',['
|
|
35
|
+
['timeofssarenaming',['timeOfSSARenaming',['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()'],['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()']]],
|
|
36
36
|
['timeofupdatecallgraph',['timeOfUpdateCallGraph',['../classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b',1,'SVF::AndersenBase']]],
|
|
37
37
|
['timestatmap',['timeStatMap',['../classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337',1,'SVF::PTAStat']]],
|
|
38
38
|
['tlptdata',['tlPTData',['../classSVF_1_1MutableVersionedPTData.html#a01974968b7cf60a4231cc83c93b26d7f',1,'SVF::MutableVersionedPTData::tlPTData()'],['../classSVF_1_1PersistentVersionedPTData.html#a29104a2d53d94805e142f778d3d21ad5',1,'SVF::PersistentVersionedPTData::tlPTData()']]],
|
|
@@ -39,7 +39,7 @@ var searchData=
|
|
|
39
39
|
['maxpointstosetsize',['MaxPointsToSetSize',['../classSVF_1_1PTAStat.html#af2b45aab2eee96a1cabba3025e4375a2',1,'SVF::PTAStat::MaxPointsToSetSize()'],['../classSVF_1_1AndersenBase.html#abd73e930450b7c605f478672bdf9bdae',1,'SVF::AndersenBase::MaxPointsToSetSize()']]],
|
|
40
40
|
['maxreorderings',['maxReorderings',['../structDdManager.html#a61170edf6d08bb1c4bacab68823a825d',1,'DdManager']]],
|
|
41
41
|
['maxsccsize',['maxSCCSize',['../classSVF_1_1FlowSensitive.html#aa3d4703756a6297ab5c0756172024fe4',1,'SVF::FlowSensitive']]],
|
|
42
|
-
['maxsize',['
|
|
42
|
+
['maxsize',['maxsize',['../structDdHashTable.html#aba376a6d310dcead9f74cfc459f4a248',1,'DdHashTable::maxsize()'],['../structDdLevelQueue.html#acb7146e9f3dd73a052340c0e4010e6b6',1,'DdLevelQueue::maxsize()'],['../structDdManager.html#aa4d0701dc4e6f11b30085ae30c09fab6',1,'DdManager::maxSize()']]],
|
|
43
43
|
['maxsizez',['maxSizeZ',['../structDdManager.html#a4a0b8f95d02bc99557fb55140e9b0963',1,'DdManager']]],
|
|
44
44
|
['maxslots',['maxslots',['../structDdLocalCache.html#af4379636b29a9bfe4a55708ac637545a',1,'DdLocalCache']]],
|
|
45
45
|
['maxstepinwrapper',['MaxStepInWrapper',['../classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84',1,'SVF::Options']]],
|
|
@@ -142,7 +142,7 @@ var searchData=
|
|
|
142
142
|
['numofretnodes',['numOfRetNodes',['../classSVF_1_1ICFGStat.html#ac9bfce40c058ed7ab178fe1f1818e9de',1,'SVF::ICFGStat']]],
|
|
143
143
|
['numofreturns',['NumOfReturns',['../classSVF_1_1PTAStat.html#a0a552611fcd20e1310290bdae404a514',1,'SVF::PTAStat']]],
|
|
144
144
|
['numofscc',['numOfSCC',['../classSVF_1_1FlowSensitive.html#a0ac955bf06261eec1c6bb78ec99652e3',1,'SVF::FlowSensitive']]],
|
|
145
|
-
['numofsccdetection',['
|
|
145
|
+
['numofsccdetection',['NumOfSCCDetection',['../classSVF_1_1PTAStat.html#ad1731b88c24bb79728f62cd3e9c55699',1,'SVF::PTAStat::NumOfSCCDetection()'],['../classSVF_1_1AndersenBase.html#a0d7298cbf83568f24fd2bd1926a32968',1,'SVF::AndersenBase::numOfSCCDetection()']]],
|
|
146
146
|
['numofsfr',['NumOfSfr',['../classSVF_1_1PTAStat.html#a07a1db62ddba50bda787b2985ef8d135',1,'SVF::PTAStat']]],
|
|
147
147
|
['numofsfrs',['numOfSfrs',['../classSVF_1_1AndersenBase.html#a25b00d9ca71cbdd27530fc5d0dc84ee5',1,'SVF::AndersenBase']]],
|
|
148
148
|
['numofstackobjs',['NumOfStackObjs',['../classSVF_1_1PTAStat.html#ae05503909688a17dc1f282d1d029d24e',1,'SVF::PTAStat']]],
|
|
@@ -338,9 +338,9 @@ 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#l00352">352</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
|
|
341
|
-
<div class="fragment"><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</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="l00355"></a><span class="lineno"> 355</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="l00356"></a><span class="lineno"> 356</span>  {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</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">else</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</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="l00353"></a><span class="lineno"> 353</span>  {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</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="l00355"></a><span class="lineno"> 355</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="l00356"></a><span class="lineno"> 356</span>  {</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</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">else</span></div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</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#l00179">BasicTypes.h:179</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
|
-
<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#
|
|
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 -->
|
|
345
345
|
</div>
|
|
346
346
|
</div>
|
|
@@ -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#l00295">295</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#l00296">296</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="l00296"></a><span class="lineno"> 296</span>  {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  std::hash<SVF::Instruction *> h;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</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="l00299"></a><span class="lineno"> 299</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#l00261">BasicTypes.h:261</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#l00484">484</a> of file <a class="el" href="CxtStmt_8h_source.html">CxtStmt.h</a>.</p>
|
|
112
|
-
<div class="fragment"><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  std::hash<SVF::SVFFunction*> h;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</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="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</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="l00484"></a><span class="lineno"> 484</span>  {</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  std::hash<SVF::SVFFunction*> h;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</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="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</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#l00179">BasicTypes.h:179</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>
|
|
@@ -448,10 +448,10 @@ protected:
|
|
|
448
448
|
assert(obj && "object not found!!");
|
|
449
449
|
if(obj->isStack())
|
|
450
450
|
{
|
|
451
|
-
if(const
|
|
451
|
+
if(const Function* fun = _pag->getGNode(id)->getFunction())
|
|
452
452
|
{
|
|
453
|
-
const SVFFunction*
|
|
454
|
-
return _callGraphSCC->isInCycle(_callGraph->getCallGraphNode(
|
|
453
|
+
const SVFFunction* svffun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(fun);
|
|
454
|
+
return _callGraphSCC->isInCycle(_callGraph->getCallGraphNode(svffun)->getId());
|
|
455
455
|
}
|
|
456
456
|
}
|
|
457
457
|
return false;
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
#include "Util/SVFUtil.h"
|
|
35
|
+
#include "SVF-FE/LLVMUtil.h"
|
|
35
36
|
#include "MemoryModel/LocationSet.h"
|
|
36
37
|
#include "Util/SVFModule.h"
|
|
37
38
|
namespace SVF
|
|
@@ -163,8 +164,6 @@ public:
|
|
|
163
164
|
// @{
|
|
164
165
|
static bool isNullPtrSym(const Value *val);
|
|
165
166
|
|
|
166
|
-
static bool isBlackholeSym(const Value *val);
|
|
167
|
-
|
|
168
167
|
bool isConstantObjSym(const Value *val);
|
|
169
168
|
|
|
170
169
|
static inline bool isBlkPtr(NodeID id)
|
|
@@ -232,7 +231,7 @@ public:
|
|
|
232
231
|
|
|
233
232
|
if(isNullPtrSym(val))
|
|
234
233
|
return nullPtrSymID();
|
|
235
|
-
else if(isBlackholeSym(val))
|
|
234
|
+
else if (SVFUtil::isBlackholeSym(val))
|
|
236
235
|
return blkPtrSymID();
|
|
237
236
|
else
|
|
238
237
|
{
|
|
@@ -244,7 +243,7 @@ public:
|
|
|
244
243
|
|
|
245
244
|
inline bool hasValSym(const Value* val)
|
|
246
245
|
{
|
|
247
|
-
if (isNullPtrSym(val) || isBlackholeSym(val))
|
|
246
|
+
if (isNullPtrSym(val) || SVFUtil::isBlackholeSym(val))
|
|
248
247
|
return true;
|
|
249
248
|
else
|
|
250
249
|
return (valSymMap.find(val) != valSymMap.end());
|
|
@@ -431,6 +430,9 @@ public:
|
|
|
431
430
|
/// Get the number of elements of this object
|
|
432
431
|
u32_t getNumOfElements() const;
|
|
433
432
|
|
|
433
|
+
/// Set the number of elements of this object
|
|
434
|
+
void setNumOfElements(u32_t num);
|
|
435
|
+
|
|
434
436
|
/// Get max field offset limit
|
|
435
437
|
u32_t getMaxFieldOffsetLimit() const;
|
|
436
438
|
|
|
@@ -202,6 +202,10 @@ public:
|
|
|
202
202
|
return condMgr->isEquivalentBranchCond(lhs, rhs);
|
|
203
203
|
}
|
|
204
204
|
|
|
205
|
+
inline ICFG* getICFG() const {
|
|
206
|
+
return PAG::getPAG()->getICFG();
|
|
207
|
+
}
|
|
208
|
+
|
|
205
209
|
private:
|
|
206
210
|
|
|
207
211
|
/// Allocate path condition for every basic block
|
|
@@ -223,9 +227,9 @@ private:
|
|
|
223
227
|
/// Evaluate loop exit branch
|
|
224
228
|
Condition* evaluateLoopExitBranch(const BasicBlock * bb, const BasicBlock *succ);
|
|
225
229
|
/// Return branch condition after evaluating test null like expression
|
|
226
|
-
Condition* evaluateTestNullLikeExpr(const
|
|
230
|
+
Condition* evaluateTestNullLikeExpr(const BranchStmt* branchStmt, const BasicBlock *succ);
|
|
227
231
|
/// Return condition when there is a branch calls program exit
|
|
228
|
-
Condition* evaluateProgExit(const
|
|
232
|
+
Condition* evaluateProgExit(const BranchStmt* branchStmt, const BasicBlock *succ);
|
|
229
233
|
/// Collect basic block contains program exit function call
|
|
230
234
|
void collectBBCallingProgExit(const BasicBlock& bb);
|
|
231
235
|
bool isBBCallsProgExit(const BasicBlock* bb);
|
|
@@ -269,6 +273,8 @@ private:
|
|
|
269
273
|
}
|
|
270
274
|
//@}
|
|
271
275
|
|
|
276
|
+
|
|
277
|
+
|
|
272
278
|
/// Release memory
|
|
273
279
|
void destroy(){
|
|
274
280
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
#ifndef SABERANNOTATOR_H_
|
|
31
31
|
#define SABERANNOTATOR_H_
|
|
32
32
|
|
|
33
|
-
#include
|
|
33
|
+
#include <MemoryModel/SVFStatements.h>
|
|
34
34
|
#include "Util/Annotator.h"
|
|
35
35
|
|
|
36
36
|
namespace SVF
|
|
@@ -60,10 +60,10 @@ public:
|
|
|
60
60
|
//@{
|
|
61
61
|
void annotateSource();
|
|
62
62
|
void annotateSinks();
|
|
63
|
-
void annotateFeasibleBranch(const
|
|
64
|
-
void annotateInfeasibleBranch(const
|
|
63
|
+
void annotateFeasibleBranch(const BranchStmt *branchStmt, u32_t succPos);
|
|
64
|
+
void annotateInfeasibleBranch(const BranchStmt *branchStmt, u32_t succPos);
|
|
65
65
|
|
|
66
|
-
void annotateSwitch(
|
|
66
|
+
void annotateSwitch(const BranchStmt *swithStmt, u32_t succPos);
|
|
67
67
|
//@}
|
|
68
68
|
};
|
|
69
69
|
|
|
@@ -27,10 +27,14 @@ typedef llvm::ConstantDataSequential ConstantDataSequential;
|
|
|
27
27
|
typedef llvm::ConstantExpr ConstantExpr;
|
|
28
28
|
|
|
29
29
|
// LLVM Instructions
|
|
30
|
+
typedef llvm::AllocaInst AllocaInst;
|
|
30
31
|
typedef llvm::AtomicCmpXchgInst AtomicCmpXchgInst;
|
|
31
32
|
typedef llvm::AtomicRMWInst AtomicRMWInst;
|
|
32
33
|
typedef llvm::BitCastInst BitCastInst;
|
|
34
|
+
typedef llvm::BranchInst BranchInst;
|
|
35
|
+
typedef llvm::SwitchInst SwitchInst;
|
|
33
36
|
typedef llvm::CallBrInst CallBrInst;
|
|
37
|
+
typedef llvm::ReturnInst ReturnInst;
|
|
34
38
|
typedef llvm::CastInst CastInst;
|
|
35
39
|
typedef llvm::CmpInst CmpInst;
|
|
36
40
|
typedef llvm::ExtractValueInst ExtractValueInst;
|
|
@@ -54,5 +58,6 @@ typedef llvm::VAEndInst VAEndInst;
|
|
|
54
58
|
typedef llvm::VAStartInst VAStartInst;
|
|
55
59
|
typedef llvm::BinaryOperator BinaryOperator;
|
|
56
60
|
typedef llvm::UnaryOperator UnaryOperator;
|
|
61
|
+
typedef llvm::UndefValue UndefValue;
|
|
57
62
|
|
|
58
63
|
#endif // SVF_FE_BASIC_TYPES_H
|
|
@@ -59,6 +59,13 @@ inline const Function* getLLVMFunction(const Value* val)
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
|
|
62
|
+
/// Check whether this value is a black hole
|
|
63
|
+
inline bool isBlackholeSym(const Value *val)
|
|
64
|
+
{
|
|
65
|
+
return (SVFUtil::isa<UndefValue>(val));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
|
|
62
69
|
/// Return true if the call is an external call (external library in function summary table)
|
|
63
70
|
/// If the libary function is redefined in the application code (e.g., memcpy), it will return false and will not be treated as an external call.
|
|
64
71
|
//@{
|
|
@@ -78,6 +85,12 @@ inline bool isExtCall(const Instruction *inst)
|
|
|
78
85
|
}
|
|
79
86
|
//@}
|
|
80
87
|
|
|
88
|
+
/// Whether an instruction is a return instruction
|
|
89
|
+
inline bool isReturn(const Instruction* inst)
|
|
90
|
+
{
|
|
91
|
+
return SVFUtil::isa<ReturnInst>(inst);
|
|
92
|
+
}
|
|
93
|
+
|
|
81
94
|
/// Return true if the call is a heap allocator/reallocator
|
|
82
95
|
//@{
|
|
83
96
|
/// note that these two functions are not suppose to be used externally
|
|
@@ -123,14 +123,9 @@ typedef llvm::MDNode MDNode;
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
/// LLVM Instructions
|
|
126
|
-
typedef llvm::AllocaInst AllocaInst;
|
|
127
126
|
typedef llvm::CallInst CallInst;
|
|
128
127
|
typedef llvm::StoreInst StoreInst;
|
|
129
128
|
typedef llvm::LoadInst LoadInst;
|
|
130
|
-
typedef llvm::ReturnInst ReturnInst;
|
|
131
|
-
typedef llvm::BranchInst BranchInst;
|
|
132
|
-
typedef llvm::SwitchInst SwitchInst;
|
|
133
|
-
typedef llvm::UndefValue UndefValue;
|
|
134
129
|
|
|
135
130
|
#if (LLVM_VERSION_MAJOR >= 9)
|
|
136
131
|
typedef llvm::FunctionCallee FunctionCallee;
|
package/include/Util/SVFUtil.h
CHANGED
|
@@ -209,11 +209,6 @@ inline bool isNonInstricCallSite(const Instruction* inst)
|
|
|
209
209
|
return false;
|
|
210
210
|
return isCallSite(inst);
|
|
211
211
|
}
|
|
212
|
-
/// Whether an instruction is a return instruction
|
|
213
|
-
inline bool isReturn(const Instruction* inst)
|
|
214
|
-
{
|
|
215
|
-
return SVFUtil::isa<ReturnInst>(inst);
|
|
216
|
-
}
|
|
217
212
|
|
|
218
213
|
/// Return LLVM callsite given a instruction
|
|
219
214
|
inline CallSite getLLVMCallSite(const Instruction* inst)
|
package/lib/MSSA/MemRegion.cpp
CHANGED
|
@@ -584,13 +584,13 @@ bool MRGenerator::isNonLocalObject(NodeID id, const SVFFunction* curFun) const
|
|
|
584
584
|
/// or a local variable is in function recursion cycles
|
|
585
585
|
else if(obj->isStack())
|
|
586
586
|
{
|
|
587
|
-
if(const
|
|
587
|
+
if(const Function* fun = pta->getPAG()->getGNode(id)->getFunction())
|
|
588
588
|
{
|
|
589
|
-
const SVFFunction*
|
|
590
|
-
if(
|
|
589
|
+
const SVFFunction* svffun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(fun);
|
|
590
|
+
if(svffun!=curFun)
|
|
591
591
|
return true;
|
|
592
592
|
else
|
|
593
|
-
return callGraphSCC->isInCycle(callGraph->getCallGraphNode(
|
|
593
|
+
return callGraphSCC->isInCycle(callGraph->getCallGraphNode(svffun)->getId());
|
|
594
594
|
}
|
|
595
595
|
}
|
|
596
596
|
|
|
@@ -155,14 +155,14 @@ void PointerAnalysis::initialize()
|
|
|
155
155
|
*/
|
|
156
156
|
bool PointerAnalysis::isLocalVarInRecursiveFun(NodeID id) const
|
|
157
157
|
{
|
|
158
|
-
const MemObj* obj =
|
|
158
|
+
const MemObj* obj = pag->getObject(id);
|
|
159
159
|
assert(obj && "object not found!!");
|
|
160
160
|
if(obj->isStack())
|
|
161
161
|
{
|
|
162
|
-
if(const
|
|
162
|
+
if(const Function* fun = pag->getGNode(id)->getFunction())
|
|
163
163
|
{
|
|
164
|
-
const SVFFunction*
|
|
165
|
-
return callGraphSCC->isInCycle(getPTACallGraph()->getCallGraphNode(
|
|
164
|
+
const SVFFunction* svffun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(fun);
|
|
165
|
+
return callGraphSCC->isInCycle(getPTACallGraph()->getCallGraphNode(svffun)->getId());
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
return false;
|
|
@@ -321,14 +321,6 @@ bool SymbolTableInfo::isNullPtrSym(const Value *val)
|
|
|
321
321
|
return false;
|
|
322
322
|
}
|
|
323
323
|
|
|
324
|
-
/*!
|
|
325
|
-
* Check whether this value is a black hole
|
|
326
|
-
*/
|
|
327
|
-
bool SymbolTableInfo::isBlackholeSym(const Value *val)
|
|
328
|
-
{
|
|
329
|
-
return (SVFUtil::isa<UndefValue>(val));
|
|
330
|
-
}
|
|
331
|
-
|
|
332
324
|
/*!
|
|
333
325
|
* Check whether this value points-to a constant object
|
|
334
326
|
*/
|
|
@@ -644,6 +636,12 @@ u32_t MemObj::getNumOfElements() const
|
|
|
644
636
|
return typeInfo->getNumOfElements();
|
|
645
637
|
}
|
|
646
638
|
|
|
639
|
+
/// Set the number of elements of this object
|
|
640
|
+
void MemObj::setNumOfElements(u32_t num)
|
|
641
|
+
{
|
|
642
|
+
return typeInfo->setNumOfElements(num);
|
|
643
|
+
}
|
|
644
|
+
|
|
647
645
|
/// Get obj type info
|
|
648
646
|
const Type* MemObj::getType() const
|
|
649
647
|
{
|