svf-tools 1.0.772 → 1.0.774
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/AddressValue_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -9
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/BoundedZ3Expr_8cpp_source.html +10 -9
- package/SVF-doxygen/html/html/BoundedZ3Expr_8h_source.html +380 -380
- package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IntervalValue_8h_source.html +35 -35
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +670 -671
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +114 -107
- package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +19 -18
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +395 -350
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +443 -433
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +12 -12
- package/SVF-doxygen/html/html/RelationSolver_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +324 -328
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +288 -286
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +667 -665
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SingleAbsValue_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/VFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +284 -124
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +108 -95
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +59 -54
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +30 -20
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +52 -47
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +18 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +64 -59
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +65 -60
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +11 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +60 -55
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +10 -0
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +31 -26
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +573 -379
- package/SVF-doxygen/html/html/classSVF_1_1BoundedZ3Expr-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BoundedZ3Expr.html +306 -305
- package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +37 -32
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +24 -14
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +39 -34
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +10 -0
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +40 -35
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +10 -0
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +305 -305
- package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +66 -61
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +10 -0
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +54 -49
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +11 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +65 -60
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +28 -14
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntervalValue-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +28 -27
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +131 -99
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +554 -554
- package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias-members.html +41 -36
- package/SVF-doxygen/html/html/classSVF_1_1POCRAlias.html +10 -0
- package/SVF-doxygen/html/html/classSVF_1_1POCRHybrid-members.html +41 -36
- package/SVF-doxygen/html/html/classSVF_1_1POCRHybrid.html +10 -0
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1RelationSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +175 -174
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +754 -720
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +308 -312
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRReader.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRWriter.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SingleAbsValue-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SingleAbsValue.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +55 -50
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +24 -14
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +55 -50
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +21 -14
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +339 -49
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +86 -86
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
- package/SVF-doxygen/html/html/functions_a.html +1 -1
- package/SVF-doxygen/html/html/functions_b.html +2 -1
- package/SVF-doxygen/html/html/functions_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func.html +1 -1
- package/SVF-doxygen/html/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +3 -3
- package/SVF-doxygen/html/html/functions_func_i.html +14 -11
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_r.html +16 -3
- package/SVF-doxygen/html/html/functions_func_s.html +21 -20
- package/SVF-doxygen/html/html/functions_func_w.html +11 -2
- package/SVF-doxygen/html/html/functions_g.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +22 -19
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +12 -12
- package/SVF-doxygen/html/html/functions_p.html +13 -13
- package/SVF-doxygen/html/html/functions_r.html +20 -11
- package/SVF-doxygen/html/html/functions_rela_b.html +3 -0
- package/SVF-doxygen/html/html/functions_s.html +23 -24
- package/SVF-doxygen/html/html/functions_t.html +5 -5
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +17 -8
- package/SVF-doxygen/html/html/namespaceSVF.html +10 -10
- package/SVF-doxygen/html/html/search/all_1.js +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/html/search/all_11.js +217 -213
- package/SVF-doxygen/html/html/search/all_12.js +541 -541
- package/SVF-doxygen/html/html/search/all_13.js +190 -190
- package/SVF-doxygen/html/html/search/all_14.js +66 -66
- package/SVF-doxygen/html/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/html/search/all_16.js +63 -60
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/html/search/all_1a.js +169 -169
- package/SVF-doxygen/html/html/search/all_2.js +3 -3
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +535 -534
- package/SVF-doxygen/html/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/html/search/all_c.js +116 -116
- package/SVF-doxygen/html/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/html/search/all_e.js +206 -206
- package/SVF-doxygen/html/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/html/search/classes_2.js +76 -76
- package/SVF-doxygen/html/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/html/search/files_2.js +49 -49
- package/SVF-doxygen/html/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/html/search/functions_1.js +350 -350
- package/SVF-doxygen/html/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/html/search/functions_11.js +131 -127
- package/SVF-doxygen/html/html/search/functions_12.js +275 -275
- package/SVF-doxygen/html/html/search/functions_13.js +58 -58
- package/SVF-doxygen/html/html/search/functions_14.js +38 -38
- package/SVF-doxygen/html/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/html/search/functions_16.js +32 -29
- package/SVF-doxygen/html/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/html/search/functions_18.js +169 -169
- package/SVF-doxygen/html/html/search/functions_2.js +84 -84
- package/SVF-doxygen/html/html/search/functions_3.js +253 -253
- package/SVF-doxygen/html/html/search/functions_4.js +74 -74
- package/SVF-doxygen/html/html/search/functions_5.js +51 -51
- package/SVF-doxygen/html/html/search/functions_6.js +58 -58
- package/SVF-doxygen/html/html/search/functions_7.js +842 -842
- package/SVF-doxygen/html/html/search/functions_8.js +143 -143
- package/SVF-doxygen/html/html/search/functions_9.js +423 -422
- package/SVF-doxygen/html/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/html/search/functions_c.js +26 -26
- package/SVF-doxygen/html/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/html/search/related_1.js +2 -1
- package/SVF-doxygen/html/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
- package/SVF-doxygen/html/html/search/typedefs_10.js +62 -62
- package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
- package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
- package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/html/search/variables_0.js +147 -147
- package/SVF-doxygen/html/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +34 -34
- package/SVF-doxygen/html/html/search/variables_3.js +141 -141
- package/SVF-doxygen/html/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/html/search/variables_5.js +38 -38
- package/SVF-doxygen/html/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html +4 -4
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +5 -5
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/package.json +1 -1
- package/svf/include/AbstractExecution/BoundedZ3Expr.h +4 -5
- package/svf/include/AbstractExecution/IntervalValue.h +19 -19
- package/svf/include/AbstractExecution/NumericLiteral.h +2 -2
- package/svf/include/MemoryModel/PointerAnalysisImpl.h +5 -0
- package/svf/include/SVFIR/SVFIR.h +2 -1
- package/svf/include/Util/NodeIDAllocator.h +6 -0
- package/svf/include/WPA/VersionedFlowSensitive.h +8 -0
- package/svf/lib/AbstractExecution/BoundedZ3Expr.cpp +5 -5
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +0 -4
- package/svf/lib/MemoryModel/PointerAnalysisImpl.cpp +101 -66
- package/svf/lib/SVFIR/SVFIR.cpp +5 -3
- package/svf/lib/Util/NodeIDAllocator.cpp +2 -4
- package/svf/lib/WPA/Andersen.cpp +1 -1
- package/svf/lib/WPA/VersionedFlowSensitive.cpp +148 -0
|
@@ -1019,134 +1019,282 @@ $(function() {
|
|
|
1019
1019
|
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">" ]"</span>;</div>
|
|
1020
1020
|
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span> }</div>
|
|
1021
1021
|
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  </div>
|
|
1022
|
-
<div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="
|
|
1023
|
-
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> 
|
|
1024
|
-
<div class="line"><a name="
|
|
1025
|
-
<div class="line"><a name="
|
|
1026
|
-
<div class="line"><a name="
|
|
1027
|
-
<div class="line"><a name="
|
|
1028
|
-
<div class="line"><a name="
|
|
1029
|
-
<div class="line"><a name="
|
|
1030
|
-
<div class="line"><a name="
|
|
1031
|
-
<div class="line"><a name="
|
|
1032
|
-
<div class="line"><a name="
|
|
1033
|
-
<div class="line"><a name="
|
|
1034
|
-
<div class="line"><a name="
|
|
1035
|
-
<div class="line"><a name="
|
|
1036
|
-
<div class="line"><a name="
|
|
1037
|
-
<div class="line"><a name="
|
|
1038
|
-
<div class="line"><a name="
|
|
1039
|
-
<div class="line"><a name="
|
|
1040
|
-
<div class="line"><a name="
|
|
1041
|
-
<div class="line"><a name="
|
|
1042
|
-
<div class="line"><a name="
|
|
1043
|
-
<div class="line"><a name="
|
|
1044
|
-
<div class="line"><a name="
|
|
1045
|
-
<div class="line"><a name="
|
|
1046
|
-
<div class="line"><a name="
|
|
1047
|
-
<div class="line"><a name="
|
|
1048
|
-
<div class="line"><a name="
|
|
1049
|
-
<div class="line"><a name="
|
|
1050
|
-
<div class="line"><a name="
|
|
1051
|
-
<div class="line"><a name="
|
|
1052
|
-
<div class="line"><a name="
|
|
1053
|
-
<div class="line"><a name="
|
|
1054
|
-
<div class="line"><a name="
|
|
1055
|
-
<div class="line"><a name="
|
|
1056
|
-
<div class="line"><a name="
|
|
1057
|
-
<div class="line"><a name="
|
|
1058
|
-
<div class="line"><a name="
|
|
1059
|
-
<div class="line"><a name="
|
|
1060
|
-
<div class="line"><a name="
|
|
1061
|
-
<div class="line"><a name="
|
|
1062
|
-
<div class="line"><a name="
|
|
1063
|
-
<div class="line"><a name="
|
|
1064
|
-
<div class="line"><a name="
|
|
1065
|
-
<div class="line"><a name="
|
|
1066
|
-
<div class="line"><a name="
|
|
1067
|
-
<div class="line"><a name="
|
|
1068
|
-
<div class="line"><a name="
|
|
1069
|
-
<div class="line"><a name="
|
|
1070
|
-
<div class="line"><a name="
|
|
1071
|
-
<div class="line"><a name="
|
|
1072
|
-
<div class="line"><a name="
|
|
1073
|
-
<div class="line"><a name="
|
|
1074
|
-
<div class="line"><a name="
|
|
1075
|
-
<div class="line"><a name="
|
|
1076
|
-
<div class="line"><a name="
|
|
1077
|
-
<div class="line"><a name="
|
|
1078
|
-
<div class="line"><a name="
|
|
1079
|
-
<div class="line"><a name="
|
|
1080
|
-
<div class="line"><a name="
|
|
1081
|
-
<div class="line"><a name="
|
|
1082
|
-
<div class="line"><a name="
|
|
1083
|
-
<div class="line"><a name="
|
|
1084
|
-
<div class="line"><a name="
|
|
1085
|
-
<div class="line"><a name="
|
|
1086
|
-
<div class="line"><a name="
|
|
1087
|
-
<div class="line"><a name="
|
|
1088
|
-
<div class="line"><a name="
|
|
1089
|
-
<div class="line"><a name="
|
|
1090
|
-
<div class="line"><a name="
|
|
1091
|
-
<div class="line"><a name="
|
|
1092
|
-
<div class="line"><a name="
|
|
1093
|
-
<div class="line"><a name="
|
|
1094
|
-
<div class="line"><a name="
|
|
1095
|
-
<div class="line"><a name="
|
|
1096
|
-
<div class="line"><a name="
|
|
1097
|
-
<div class="line"><a name="
|
|
1098
|
-
<div class="line"><a name="
|
|
1099
|
-
<div class="line"><a name="
|
|
1100
|
-
<div class="line"><a name="
|
|
1101
|
-
<div class="line"><a name="
|
|
1102
|
-
<div class="line"><a name="
|
|
1103
|
-
<div class="line"><a name="
|
|
1104
|
-
<div class="line"><a name="
|
|
1105
|
-
<div class="line"><a name="
|
|
1106
|
-
<div class="line"><a name="
|
|
1107
|
-
<div class="line"><a name="
|
|
1108
|
-
<div class="line"><a name="
|
|
1109
|
-
<div class="line"><a name="
|
|
1110
|
-
<div class="line"><a name="
|
|
1111
|
-
<div class="line"><a name="
|
|
1112
|
-
<div class="line"><a name="
|
|
1113
|
-
<div class="line"><a name="
|
|
1114
|
-
<div class="line"><a name="
|
|
1115
|
-
<div class="line"><a name="
|
|
1116
|
-
<div class="line"><a name="
|
|
1117
|
-
<div class="line"><a name="
|
|
1118
|
-
<div class="line"><a name="
|
|
1022
|
+
<div class="line"><a name="l00954"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#aed829d361a53bde657b04778e6710383"> 954</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aed829d361a53bde657b04778e6710383">VersionedFlowSensitive::readPtsFromFile</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename)</div>
|
|
1023
|
+
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span> {</div>
|
|
1024
|
+
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">initialize</a>();</div>
|
|
1025
|
+
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <span class="keywordflow">if</span>(!filename.empty())</div>
|
|
1026
|
+
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  {</div>
|
|
1027
|
+
<div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"Loading versioned pointer analysis results from '"</span> << filename << <span class="stringliteral">"'..."</span>;</div>
|
|
1028
|
+
<div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  </div>
|
|
1029
|
+
<div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  std::ifstream <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>(filename.c_str());</div>
|
|
1030
|
+
<div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <span class="keywordflow">if</span> (!<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>.is_open())</div>
|
|
1031
|
+
<div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  {</div>
|
|
1032
|
+
<div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">" error opening file for reading!\n"</span>;</div>
|
|
1033
|
+
<div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  <a class="code" href="cJSON_8cpp.html#a15f779a174654a93596726f6eb6b57fe">return</a> ;</div>
|
|
1034
|
+
<div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  }</div>
|
|
1035
|
+
<div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a4ad982a53fbf62c5513afe63b2435fa5">readAndSetObjFieldSensitivity</a>(<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>,<span class="stringliteral">"------"</span>);</div>
|
|
1036
|
+
<div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  </div>
|
|
1037
|
+
<div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a31976bfeb5498ce57262dda34e3bf94a">readVersionedAnalysisResultFromFile</a>(<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
1038
|
+
<div class="line"><a name="l00972"></a><span class="lineno"> 972</span>  </div>
|
|
1039
|
+
<div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#af4e17ce3667d40d1a377508a275af384">readPtsResultFromFile</a>(<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
1040
|
+
<div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  </div>
|
|
1041
|
+
<div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#afce21c2a8fca8a2eae4883d2fe148cc0">readGepObjVarMapFromFile</a>(<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
1042
|
+
<div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  </div>
|
|
1043
|
+
<div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a4ad982a53fbf62c5513afe63b2435fa5">readAndSetObjFieldSensitivity</a>(<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>,<span class="stringliteral">""</span>);</div>
|
|
1044
|
+
<div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  </div>
|
|
1045
|
+
<div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="comment">// Update callgraph</span></div>
|
|
1046
|
+
<div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#aad0bf334d3c749240ca27b4bcfd6eeab">updateCallGraph</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>());</div>
|
|
1047
|
+
<div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  </div>
|
|
1048
|
+
<div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>.close();</div>
|
|
1049
|
+
<div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
1050
|
+
<div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  }</div>
|
|
1051
|
+
<div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  </div>
|
|
1052
|
+
<div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">finalize</a>();</div>
|
|
1053
|
+
<div class="line"><a name="l00988"></a><span class="lineno"> 988</span> }</div>
|
|
1054
|
+
<div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  </div>
|
|
1055
|
+
<div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#acf02ed94f68d94617920941b434149f4"> 990</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#acf02ed94f68d94617920941b434149f4">VersionedFlowSensitive::solveAndwritePtsToFile</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename)</div>
|
|
1056
|
+
<div class="line"><a name="l00991"></a><span class="lineno"> 991</span> {</div>
|
|
1057
|
+
<div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a81d3528fd082018e4345f0b026bf3584">initialize</a>();</div>
|
|
1058
|
+
<div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keywordflow">if</span>(!filename.empty())</div>
|
|
1059
|
+
<div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a3279969934d6778a6cffe926ed724bfc">writeObjVarToFile</a>(filename);</div>
|
|
1060
|
+
<div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  <a class="code" href="classSVF_1_1FlowSensitive.html#a165a9c5aef0811066560154896bae18d">solveConstraints</a>();</div>
|
|
1061
|
+
<div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keywordflow">if</span>(!filename.empty())</div>
|
|
1062
|
+
<div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  {</div>
|
|
1063
|
+
<div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ab2c21cc1e4cd4d7dbc12b6bd9f34d971">writeVersionedAnalysisResultToFile</a>(filename);</div>
|
|
1064
|
+
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">writeToFile</a>(filename);</div>
|
|
1065
|
+
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  }</div>
|
|
1066
|
+
<div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">finalize</a>();</div>
|
|
1067
|
+
<div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> }</div>
|
|
1068
|
+
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  </div>
|
|
1069
|
+
<div class="line"><a name="l01006"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#ab2c21cc1e4cd4d7dbc12b6bd9f34d971"> 1006</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#ab2c21cc1e4cd4d7dbc12b6bd9f34d971">VersionedFlowSensitive::writeVersionedAnalysisResultToFile</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filename)</div>
|
|
1070
|
+
<div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> {</div>
|
|
1071
|
+
<div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"Storing Versioned Analysis Result to '"</span> << filename << <span class="stringliteral">"'..."</span>;</div>
|
|
1072
|
+
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  std::error_code err;</div>
|
|
1073
|
+
<div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  std::fstream f(filename.c_str(), std::ios_base::app);</div>
|
|
1074
|
+
<div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="keywordflow">if</span> (!f.good())</div>
|
|
1075
|
+
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  {</div>
|
|
1076
|
+
<div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">" error opening file for writing!\n"</span>;</div>
|
|
1077
|
+
<div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <span class="keywordflow">return</span>;</div>
|
|
1078
|
+
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  }</div>
|
|
1079
|
+
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  </div>
|
|
1080
|
+
<div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296">VersionedFlowSensitive::LocVersionMap</a> *lvm :</div>
|
|
1081
|
+
<div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  {</div>
|
|
1082
|
+
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  &this-><a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">consume</a>, &this-><a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">yield</a></div>
|
|
1083
|
+
<div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  })</div>
|
|
1084
|
+
<div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  {</div>
|
|
1085
|
+
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0">VersionedFlowSensitive::ObjToVersionMap</a> &lov : *lvm)</div>
|
|
1086
|
+
<div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  {</div>
|
|
1087
|
+
<div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> VersionedFlowSensitive::ObjToVersionMap::value_type &ov : lov)</div>
|
|
1088
|
+
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  {</div>
|
|
1089
|
+
<div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o = ov.first;</div>
|
|
1090
|
+
<div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> v = ov.second;</div>
|
|
1091
|
+
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">vPtD</a>-><a class="code" href="classSVF_1_1VersionedPTData.html#adcba3355f96357493d8a7520ff00cc97">getPts</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">atKey</a>(o, v)).empty()) <span class="keywordflow">continue</span>;</div>
|
|
1092
|
+
<div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  </div>
|
|
1093
|
+
<div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  f <<<span class="stringliteral">"[ "</span> <<o <<<span class="stringliteral">" "</span> <<v<<<span class="stringliteral">" ]"</span><< <span class="stringliteral">" -> { "</span>;</div>
|
|
1094
|
+
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &ovPts = <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">vPtD</a>-><a class="code" href="classSVF_1_1VersionedPTData.html#adcba3355f96357493d8a7520ff00cc97">getPts</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">atKey</a>(o, v));</div>
|
|
1095
|
+
<div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <span class="keywordflow">if</span> (!ovPts.<a class="code" href="classSVF_1_1PointsTo.html#a13746982a11d0cab57e5919d53bfbec8">empty</a>())</div>
|
|
1096
|
+
<div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  {</div>
|
|
1097
|
+
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a>: ovPts)</div>
|
|
1098
|
+
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  {</div>
|
|
1099
|
+
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  f << <a class="code" href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a> << <span class="stringliteral">" "</span>;</div>
|
|
1100
|
+
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  }</div>
|
|
1101
|
+
<div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  }</div>
|
|
1102
|
+
<div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <span class="keywordflow">else</span></div>
|
|
1103
|
+
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  {</div>
|
|
1104
|
+
<div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  f << <span class="stringliteral">" "</span>;</div>
|
|
1105
|
+
<div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  }</div>
|
|
1106
|
+
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  f << <span class="stringliteral">"}\n"</span>;</div>
|
|
1107
|
+
<div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  }</div>
|
|
1108
|
+
<div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  }</div>
|
|
1109
|
+
<div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  }</div>
|
|
1110
|
+
<div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  </div>
|
|
1111
|
+
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  f << <span class="stringliteral">"---VERSIONED---\n"</span>;</div>
|
|
1112
|
+
<div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  </div>
|
|
1113
|
+
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  f.close();</div>
|
|
1114
|
+
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <span class="keywordflow">if</span> (f.good())</div>
|
|
1115
|
+
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  {</div>
|
|
1116
|
+
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
1117
|
+
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <span class="keywordflow">return</span>;</div>
|
|
1118
|
+
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  }</div>
|
|
1119
|
+
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span> }</div>
|
|
1120
|
+
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  </div>
|
|
1121
|
+
<div class="line"><a name="l01058"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive.html#a31976bfeb5498ce57262dda34e3bf94a"> 1058</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a31976bfeb5498ce57262dda34e3bf94a">VersionedFlowSensitive::readVersionedAnalysisResultFromFile</a>(std::ifstream& <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>)</div>
|
|
1122
|
+
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span> {</div>
|
|
1123
|
+
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> line;</div>
|
|
1124
|
+
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> delimiter1 = <span class="stringliteral">" -> { "</span>;</div>
|
|
1125
|
+
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> delimiter2 = <span class="stringliteral">" }"</span>;</div>
|
|
1126
|
+
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <span class="keywordflow">while</span> (<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>.good())</div>
|
|
1127
|
+
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  {</div>
|
|
1128
|
+
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="comment">// Parse a single line in the form of "[ var version ] -> { obj1 obj2 obj3 }"</span></div>
|
|
1129
|
+
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  getline(<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>, line);</div>
|
|
1130
|
+
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  <span class="keywordflow">if</span> (line == <span class="stringliteral">"---VERSIONED---"</span>) <span class="keywordflow">break</span>;</div>
|
|
1131
|
+
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> pair = line.substr(line.find(<span class="stringliteral">"[ "</span>)+1, line.find(<span class="stringliteral">" ]"</span>));</div>
|
|
1132
|
+
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  </div>
|
|
1133
|
+
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <span class="comment">// Parse VersionKey</span></div>
|
|
1134
|
+
<div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  std::istringstream ss(pair);</div>
|
|
1135
|
+
<div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeID;</div>
|
|
1136
|
+
<div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  <a class="code" href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">Version</a> nodeVersion;</div>
|
|
1137
|
+
<div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  ss>> nodeID >> nodeVersion;</div>
|
|
1138
|
+
<div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <a class="code" href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">VersionedVar</a> keyPair = <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">atKey</a>(nodeID,nodeVersion);</div>
|
|
1139
|
+
<div class="line"><a name="l01076"></a><span class="lineno"> 1076</span>  </div>
|
|
1140
|
+
<div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="comment">// Parse Point-to set</span></div>
|
|
1141
|
+
<div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordtype">size_t</span> pos = line.find(delimiter1);</div>
|
|
1142
|
+
<div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  <span class="keywordflow">if</span> (pos == std::string::npos) <span class="keywordflow">break</span>;</div>
|
|
1143
|
+
<div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <span class="keywordflow">if</span> (line.back() != <span class="charliteral">'}'</span>) <span class="keywordflow">break</span>;</div>
|
|
1144
|
+
<div class="line"><a name="l01081"></a><span class="lineno"> 1081</span>  pos = pos + delimiter1.length();</div>
|
|
1145
|
+
<div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  <span class="keywordtype">size_t</span> len = line.length() - pos - delimiter2.length();</div>
|
|
1146
|
+
<div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> objs = line.substr(pos, len);</div>
|
|
1147
|
+
<div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> dstPts;</div>
|
|
1148
|
+
<div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  <span class="keywordflow">if</span> (!objs.empty())</div>
|
|
1149
|
+
<div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  {</div>
|
|
1150
|
+
<div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  std::istringstream pt(objs);</div>
|
|
1151
|
+
<div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> obj;</div>
|
|
1152
|
+
<div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  <span class="keywordflow">while</span> (pt.good())</div>
|
|
1153
|
+
<div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  {</div>
|
|
1154
|
+
<div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  pt >> obj;</div>
|
|
1155
|
+
<div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  dstPts.<a class="code" href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">set</a>(obj);</div>
|
|
1156
|
+
<div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  }</div>
|
|
1157
|
+
<div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  }</div>
|
|
1158
|
+
<div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  </div>
|
|
1159
|
+
<div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  <span class="comment">// union point-to reuslt</span></div>
|
|
1160
|
+
<div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">vPtD</a>-><a class="code" href="classSVF_1_1VersionedPTData.html#a8b9d50b5ad1c779b2ff231f07f3002ea">unionPts</a>(keyPair, dstPts);</div>
|
|
1161
|
+
<div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  }</div>
|
|
1162
|
+
<div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  </div>
|
|
1163
|
+
<div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> }</div>
|
|
1164
|
+
<div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  </div>
|
|
1165
|
+
<div class="line"><a name="l01102"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ac2dd88315f54ae766e73e7680f526ed6"> 1102</a></span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ac2dd88315f54ae766e73e7680f526ed6">VersionedFlowSensitive::SCC::detectSCCs</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *vfs,</div>
|
|
1166
|
+
<div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *svfg, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>,</div>
|
|
1167
|
+
<div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  <span class="keyword">const</span> std::vector<const SVFGNode *> &startingNodes,</div>
|
|
1168
|
+
<div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  std::vector<int> &partOf,</div>
|
|
1169
|
+
<div class="line"><a name="l01106"></a><span class="lineno"> 1106</span>  std::vector<const IndirectSVFGEdge *> &footprint)</div>
|
|
1170
|
+
<div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> {</div>
|
|
1171
|
+
<div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  partOf.resize(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</div>
|
|
1172
|
+
<div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  std::fill(partOf.begin(), partOf.end(), -1);</div>
|
|
1173
|
+
<div class="line"><a name="l01110"></a><span class="lineno"> 1110</span>  footprint.clear();</div>
|
|
1174
|
+
<div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  </div>
|
|
1175
|
+
<div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  std::vector<NodeData> nodeData(<a class="code" href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">svfg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>(), { -1, -1, false});</div>
|
|
1176
|
+
<div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  std::stack<const SVFGNode *> stack;</div>
|
|
1177
|
+
<div class="line"><a name="l01114"></a><span class="lineno"> 1114</span>  </div>
|
|
1178
|
+
<div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <span class="keywordtype">int</span> <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> = 0;</div>
|
|
1179
|
+
<div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  <span class="keywordtype">int</span> currentSCC = 0;</div>
|
|
1180
|
+
<div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>  </div>
|
|
1181
|
+
<div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v : startingNodes)</div>
|
|
1182
|
+
<div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  {</div>
|
|
1183
|
+
<div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  <span class="keywordflow">if</span> (nodeData[v->getId()].index == -1)</div>
|
|
1184
|
+
<div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  {</div>
|
|
1185
|
+
<div class="line"><a name="l01122"></a><span class="lineno"> 1122</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, v);</div>
|
|
1186
|
+
<div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  }</div>
|
|
1187
|
+
<div class="line"><a name="l01124"></a><span class="lineno"> 1124</span>  }</div>
|
|
1188
|
+
<div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  </div>
|
|
1189
|
+
<div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  <span class="comment">// Make sure footprints with the same edges pass ==/hash the same.</span></div>
|
|
1190
|
+
<div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  std::sort(footprint.begin(), footprint.end());</div>
|
|
1191
|
+
<div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  </div>
|
|
1192
|
+
<div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  <span class="keywordflow">return</span> currentSCC;</div>
|
|
1193
|
+
<div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> }</div>
|
|
1194
|
+
<div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  </div>
|
|
1195
|
+
<div class="line"><a name="l01132"></a><span class="lineno"><a class="line" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8"> 1132</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">VersionedFlowSensitive::SCC::visit</a>(<a class="code" href="classSVF_1_1VersionedFlowSensitive.html">VersionedFlowSensitive</a> *vfs,</div>
|
|
1196
|
+
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">object</span>,</div>
|
|
1197
|
+
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  std::vector<int> &partOf,</div>
|
|
1198
|
+
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  std::vector<const IndirectSVFGEdge *> &footprint,</div>
|
|
1199
|
+
<div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  std::vector<NodeData> &nodeData,</div>
|
|
1200
|
+
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  std::stack<const SVFGNode *> &stack,</div>
|
|
1201
|
+
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="keywordtype">int</span> &<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>,</div>
|
|
1202
|
+
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  <span class="keywordtype">int</span> &currentSCC,</div>
|
|
1203
|
+
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *v)</div>
|
|
1204
|
+
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> {</div>
|
|
1205
|
+
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> vId = v-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
1206
|
+
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  </div>
|
|
1207
|
+
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  nodeData[vId].index = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
|
|
1208
|
+
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  nodeData[vId].lowlink = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
|
|
1209
|
+
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  ++<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div>
|
|
1210
|
+
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  </div>
|
|
1211
|
+
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  stack.push(v);</div>
|
|
1212
|
+
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  nodeData[vId].onStack = <span class="keyword">true</span>;</div>
|
|
1213
|
+
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  </div>
|
|
1214
|
+
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : v-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>())</div>
|
|
1215
|
+
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  {</div>
|
|
1216
|
+
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = SVFUtil::dyn_cast<IndirectSVFGEdge>(e);</div>
|
|
1217
|
+
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div>
|
|
1218
|
+
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  </div>
|
|
1219
|
+
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = ie-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div>
|
|
1220
|
+
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
1221
|
+
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  </div>
|
|
1222
|
+
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  <span class="comment">// If object is not part of the edge, there is no edge from v to w.</span></div>
|
|
1223
|
+
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  <span class="keywordflow">if</span> (!ie-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">object</span>)) <span class="keywordflow">continue</span>;</div>
|
|
1224
|
+
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  </div>
|
|
1225
|
+
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="comment">// Even if we don't count edges to stores and deltas for SCCs' sake, they</span></div>
|
|
1226
|
+
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  <span class="comment">// are relevant to the footprint as a propagation still occurs over such edges.</span></div>
|
|
1227
|
+
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  footprint.push_back(ie);</div>
|
|
1228
|
+
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  </div>
|
|
1229
|
+
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="comment">// Ignore edges to delta nodes because they are prelabeled so cannot</span></div>
|
|
1230
|
+
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span>  <span class="comment">// be part of the SCC v is in (already in nodesTodo from the prelabeled set).</span></div>
|
|
1231
|
+
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="comment">// Similarly, store nodes.</span></div>
|
|
1232
|
+
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <span class="keywordflow">if</span> (vfs-><a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(wId) || vfs-><a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(wId)) <span class="keywordflow">continue</span>;</div>
|
|
1233
|
+
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  </div>
|
|
1234
|
+
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <span class="keywordflow">if</span> (nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> == -1)</div>
|
|
1235
|
+
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  {</div>
|
|
1236
|
+
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  visit(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, w);</div>
|
|
1237
|
+
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].lowlink);</div>
|
|
1238
|
+
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  }</div>
|
|
1239
|
+
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeData[wId].onStack)</div>
|
|
1240
|
+
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  {</div>
|
|
1241
|
+
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div>
|
|
1242
|
+
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>  }</div>
|
|
1243
|
+
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  }</div>
|
|
1244
|
+
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  </div>
|
|
1245
|
+
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  <span class="keywordflow">if</span> (nodeData[vId].lowlink == nodeData[vId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</div>
|
|
1246
|
+
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  {</div>
|
|
1247
|
+
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = <span class="keyword">nullptr</span>;</div>
|
|
1248
|
+
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  <span class="keywordflow">do</span></div>
|
|
1249
|
+
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  {</div>
|
|
1250
|
+
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  w = stack.top();</div>
|
|
1251
|
+
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  stack.pop();</div>
|
|
1252
|
+
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> wId = w-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
1253
|
+
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>  nodeData[wId].onStack = <span class="keyword">false</span>;</div>
|
|
1254
|
+
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  partOf[wId] = currentSCC;</div>
|
|
1255
|
+
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  }</div>
|
|
1256
|
+
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  <span class="keywordflow">while</span> (w != v);</div>
|
|
1257
|
+
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  </div>
|
|
1258
|
+
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <span class="comment">// For the next SCC.</span></div>
|
|
1259
|
+
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  ++currentSCC;</div>
|
|
1260
|
+
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  }</div>
|
|
1261
|
+
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> }</div>
|
|
1119
1262
|
</div><!-- fragment --></div><!-- contents -->
|
|
1120
1263
|
<div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a0df409a67428e528321869d201f2a474"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a0df409a67428e528321869d201f2a474">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(const Data &data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00165">WorkList.h:165</a></div></div>
|
|
1121
1264
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00131">PointsTo.cpp:131</a></div></div>
|
|
1122
1265
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a275095f60640d862034ad173af3371c3"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a275095f60640d862034ad173af3371c3">SVF::VersionedFlowSensitive::removeAllIndirectSVFGEdges</a></div><div class="ttdeci">void removeAllIndirectSVFGEdges(void)</div><div class="ttdoc">Removes all indirect edges in the SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00524">VersionedFlowSensitive.cpp:524</a></div></div>
|
|
1123
1266
|
<div class="ttc" id="aclassSVF_1_1Options_html_ab7741246d969021c9afc448b084699af"><div class="ttname"><a href="classSVF_1_1Options.html#ab7741246d969021c9afc448b084699af">SVF::Options::OPTSVFG</a></div><div class="ttdeci">static Option< bool > OPTSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00161">Options.h:161</a></div></div>
|
|
1124
|
-
<div class="ttc" id="
|
|
1267
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aed829d361a53bde657b04778e6710383"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aed829d361a53bde657b04778e6710383">SVF::VersionedFlowSensitive::readPtsFromFile</a></div><div class="ttdeci">void readPtsFromFile(const std::string &filename) override</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00954">VersionedFlowSensitive.cpp:954</a></div></div>
|
|
1268
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a53b8a881400d7b353133c68295812efb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb">SVF::VersionedFlowSensitive::vfspta</a></div><div class="ttdeci">static VersionedFlowSensitive * vfspta</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00249">VersionedFlowSensitive.h:249</a></div></div>
|
|
1125
1269
|
<div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00200">WorkList.h:200</a></div></div>
|
|
1270
|
+
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_afce21c2a8fca8a2eae4883d2fe148cc0"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#afce21c2a8fca8a2eae4883d2fe148cc0">SVF::BVDataPTAImpl::readGepObjVarMapFromFile</a></div><div class="ttdeci">virtual void readGepObjVarMapFromFile(std::ifstream &f)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00343">PointerAnalysisImpl.cpp:343</a></div></div>
|
|
1126
1271
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aa689d29ead80303b1ef1e1a91f31c296"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aa689d29ead80303b1ef1e1a91f31c296">SVF::VersionedFlowSensitive::LocVersionMap</a></div><div class="ttdeci">std::vector< ObjToVersionMap > LocVersionMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00043">VersionedFlowSensitive.h:43</a></div></div>
|
|
1272
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_aad0bf334d3c749240ca27b4bcfd6eeab"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aad0bf334d3c749240ca27b4bcfd6eeab">SVF::FlowSensitive::updateCallGraph</a></div><div class="ttdeci">bool updateCallGraph(const CallSiteToFunPtrMap &callsites) override</div><div class="ttdoc">Update call graph.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00682">FlowSensitive.cpp:682</a></div></div>
|
|
1127
1273
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00150">PointerAnalysis.h:150</a></div></div>
|
|
1128
1274
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a59f3dd74ed8c3e2fc48b9353ba2452aa"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a59f3dd74ed8c3e2fc48b9353ba2452aa">SVF::VersionedFlowSensitive::atKey</a></div><div class="ttdeci">static VersionedVar atKey(NodeID, Version)</div><div class="ttdoc">Return key into vPtD for address-taken var of a specific version.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00024">VersionedFlowSensitive.cpp:24</a></div></div>
|
|
1129
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_adfefc0dfa4e7fb4d20fafeaf96a5fa67"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#adfefc0dfa4e7fb4d20fafeaf96a5fa67">SVF::VersionedFlowSensitive::vWorklist</a></div><div class="ttdeci">FIFOWorkList< NodeID > vWorklist</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1275
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_adfefc0dfa4e7fb4d20fafeaf96a5fa67"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#adfefc0dfa4e7fb4d20fafeaf96a5fa67">SVF::VersionedFlowSensitive::vWorklist</a></div><div class="ttdeci">FIFOWorkList< NodeID > vWorklist</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00217">VersionedFlowSensitive.h:217</a></div></div>
|
|
1130
1276
|
<div class="ttc" id="aclassSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
1131
1277
|
<div class="ttc" id="aclassSVF_1_1WPASolver_html_aa04deb39cd024c051f30ac43d1d62b34"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aa04deb39cd024c051f30ac43d1d62b34">SVF::WPASolver::setGraph</a></div><div class="ttdeci">void setGraph(GraphType g)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00078">WPASolver.h:78</a></div></div>
|
|
1278
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00337">SVFIR.h:337</a></div></div>
|
|
1279
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_ab2c21cc1e4cd4d7dbc12b6bd9f34d971"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ab2c21cc1e4cd4d7dbc12b6bd9f34d971">SVF::VersionedFlowSensitive::writeVersionedAnalysisResultToFile</a></div><div class="ttdeci">void writeVersionedAnalysisResultToFile(const std::string &filename)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l01006">VersionedFlowSensitive.cpp:1006</a></div></div>
|
|
1132
1280
|
<div class="ttc" id="acJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
1133
1281
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a8da4b9bd9d0c640a6857b4dc4991817c"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a8da4b9bd9d0c640a6857b4dc4991817c">SVF::VersionedFlowSensitive::buildIsStoreLoadMaps</a></div><div class="ttdeci">virtual void buildIsStoreLoadMaps(void)</div><div class="ttdoc">Fills in isStoreMap and isLoadMap.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00444">VersionedFlowSensitive.cpp:444</a></div></div>
|
|
1134
1282
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00384">GenericGraph.h:384</a></div></div>
|
|
1135
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a2d451d89f99a4bff828b682723df477f"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f">SVF::VersionedFlowSensitive::equivalentObject</a></div><div class="ttdeci">Map< NodeID, NodeID > equivalentObject</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1136
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1283
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a2d451d89f99a4bff828b682723df477f"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f">SVF::VersionedFlowSensitive::equivalentObject</a></div><div class="ttdeci">Map< NodeID, NodeID > equivalentObject</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00213">VersionedFlowSensitive.h:213</a></div></div>
|
|
1284
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00430">SVFIR.h:430</a></div></div>
|
|
1137
1285
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_ac33c7cef2d1d143950820ea48e97e806"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ac33c7cef2d1d143950820ea48e97e806">SVF::VersionedFlowSensitive::setYield</a></div><div class="ttdeci">void setYield(const NodeID l, const NodeID o, const Version v)</div><div class="ttdoc">Sets the yielded version of o at l to v.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00826">VersionedFlowSensitive.cpp:826</a></div></div>
|
|
1138
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a11ddfa1faebf56e74e6dcc53e16142e1"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1">SVF::VersionedFlowSensitive::deltaMap</a></div><div class="ttdeci">std::vector< bool > deltaMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1286
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a11ddfa1faebf56e74e6dcc53e16142e1"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a11ddfa1faebf56e74e6dcc53e16142e1">SVF::VersionedFlowSensitive::deltaMap</a></div><div class="ttdeci">std::vector< bool > deltaMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00226">VersionedFlowSensitive.h:226</a></div></div>
|
|
1139
1287
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a979f89495966d71f9b470d832384ebd6"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a979f89495966d71f9b470d832384ebd6">SVF::FlowSensitive::processSVFGNode</a></div><div class="ttdeci">bool processSVFGNode(SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00233">FlowSensitive.cpp:233</a></div></div>
|
|
1140
1288
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_ab88b7a966177e620c552d507b3763e17"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ab88b7a966177e620c552d507b3763e17">SVF::VersionedFlowSensitive::VersionedFlowSensitive</a></div><div class="ttdeci">VersionedFlowSensitive(SVFIR *_pag, PTATY type=VFS_WPA)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00030">VersionedFlowSensitive.cpp:30</a></div></div>
|
|
1141
1289
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_ad3566c57f8456e98542f5a0b765e3cc6"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ad3566c57f8456e98542f5a0b765e3cc6">SVF::FlowSensitive::initialize</a></div><div class="ttdeci">void initialize() override</div><div class="ttdoc">Initialize analysis.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00045">FlowSensitive.cpp:45</a></div></div>
|
|
1142
1290
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_aab4f70210eb1e6447a24697d3b459067"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aab4f70210eb1e6447a24697d3b459067">SVF::FlowSensitive::loadTime</a></div><div class="ttdeci">double loadTime</div><div class="ttdoc">time of load edges</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00310">FlowSensitive.h:310</a></div></div>
|
|
1143
1291
|
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
|
|
1144
1292
|
<div class="ttc" id="aclassSVF_1_1MRSVFGNode_html"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html">SVF::MRSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00042">SVFGNode.h:42</a></div></div>
|
|
1145
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
1293
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00676">SVFIR.cpp:676</a></div></div>
|
|
1146
1294
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a5dddd53b4ca9d7cc23d88ed9f3de9fde"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">SVF::PointerAnalysis::getAllFieldsObjVars</a></div><div class="ttdeci">virtual const NodeBS & getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00345">PointerAnalysis.h:345</a></div></div>
|
|
1147
1295
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a7a98162b69de90f80ce853a6ff43af56"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a7a98162b69de90f80ce853a6ff43af56">SVF::VersionedFlowSensitive::propagateVersion</a></div><div class="ttdeci">void propagateVersion(NodeID o, Version v)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00546">VersionedFlowSensitive.cpp:546</a></div></div>
|
|
1148
1296
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
|
|
1149
|
-
<div class="ttc" id="aclassSVF_1_1NodeIDAllocator_1_1Clusterer_html_a36b25188130f4c21d145c950a70d616f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">SVF::NodeIDAllocator::Clusterer::getReverseNodeMapping</a></div><div class="ttdeci">static std::vector< NodeID > getReverseNodeMapping(const std::vector< NodeID > &nodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
1297
|
+
<div class="ttc" id="aclassSVF_1_1NodeIDAllocator_1_1Clusterer_html_a36b25188130f4c21d145c950a70d616f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">SVF::NodeIDAllocator::Clusterer::getReverseNodeMapping</a></div><div class="ttdeci">static std::vector< NodeID > getReverseNodeMapping(const std::vector< NodeID > &nodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00397">NodeIDAllocator.cpp:397</a></div></div>
|
|
1150
1298
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00354">PointerAnalysis.h:354</a></div></div>
|
|
1151
1299
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a18f24fe34af677e2a8c78ee89b89be1c"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a18f24fe34af677e2a8c78ee89b89be1c">SVF::VersionedFlowSensitive::updateConnectedNodes</a></div><div class="ttdeci">virtual void updateConnectedNodes(const SVFGEdgeSetTy &newEdges) override</div><div class="ttdoc">Update nodes connected during updating call graph.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00605">VersionedFlowSensitive.cpp:605</a></div></div>
|
|
1152
1300
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a7ace06b6c893b31f7dec2abe54e33e11"><div class="ttname"><a href="classSVF_1_1SVFG.html#a7ace06b6c893b31f7dec2abe54e33e11">SVF::SVFG::getSVFGNode</a></div><div class="ttdeci">SVFGNode * getSVFGNode(NodeID id) const</div><div class="ttdoc">Get a SVFG node.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00149">SVFG.h:149</a></div></div>
|
|
@@ -1157,48 +1305,54 @@ $(function() {
|
|
|
1157
1305
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a9f9b00551c157f42d1d995e8c4efb54b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">SVF::VersionedFlowSensitive::delta</a></div><div class="ttdeci">virtual bool delta(const NodeID l) const</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00432">VersionedFlowSensitive.cpp:432</a></div></div>
|
|
1158
1306
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
|
|
1159
1307
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_a8dd513e8e5343beeb5d117c1ff4e45ea"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8dd513e8e5343beeb5d117c1ff4e45ea">SVF::SVFG::addDummyVersionPropSVFGNode</a></div><div class="ttdeci">const DummyVersionPropSVFGNode * addDummyVersionPropSVFGNode(const NodeID object, const NodeID version)</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00262">SVFG.h:262</a></div></div>
|
|
1160
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a4a594c8d6ccaa27b5328c6388fdb258d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d">SVF::VersionedFlowSensitive::meldLabelingTime</a></div><div class="ttdeci">double meldLabelingTime</div><div class="ttdoc">Time to meld label SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1308
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a4a594c8d6ccaa27b5328c6388fdb258d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a4a594c8d6ccaa27b5328c6388fdb258d">SVF::VersionedFlowSensitive::meldLabelingTime</a></div><div class="ttdeci">double meldLabelingTime</div><div class="ttdoc">Time to meld label SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00245">VersionedFlowSensitive.h:245</a></div></div>
|
|
1161
1309
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html_aa0d4ee196b91fce626f3f15bcc5599e4"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count() const</div><div class="ttdoc">Returns number of elements.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00111">PointsTo.cpp:111</a></div></div>
|
|
1162
1310
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a9d5990a41e90558595d0ad0defceb4e8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9d5990a41e90558595d0ad0defceb4e8">SVF::VersionedFlowSensitive::dumpReliances</a></div><div class="ttdeci">void dumpReliances(void) const</div><div class="ttdoc">Dumps versionReliance and stmtReliance.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00843">VersionedFlowSensitive.cpp:843</a></div></div>
|
|
1163
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_1_1SCC_html_ac2dd88315f54ae766e73e7680f526ed6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ac2dd88315f54ae766e73e7680f526ed6">SVF::VersionedFlowSensitive::SCC::detectSCCs</a></div><div class="ttdeci">static unsigned detectSCCs(VersionedFlowSensitive *vfs, const SVFG *svfg, const NodeID object, const std::vector< const SVFGNode * > &startingNodes, std::vector< int > &partOf, std::vector< const IndirectSVFGEdge * > &footprint)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#
|
|
1311
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_1_1SCC_html_ac2dd88315f54ae766e73e7680f526ed6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#ac2dd88315f54ae766e73e7680f526ed6">SVF::VersionedFlowSensitive::SCC::detectSCCs</a></div><div class="ttdeci">static unsigned detectSCCs(VersionedFlowSensitive *vfs, const SVFG *svfg, const NodeID object, const std::vector< const SVFGNode * > &startingNodes, std::vector< int > &partOf, std::vector< const IndirectSVFGEdge * > &footprint)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l01102">VersionedFlowSensitive.cpp:1102</a></div></div>
|
|
1164
1312
|
<div class="ttc" id="aclassSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
1165
1313
|
<div class="ttc" id="aclassSVF_1_1DummyVersionPropSVFGNode_html"><div class="ttname"><a href="classSVF_1_1DummyVersionPropSVFGNode.html">SVF::DummyVersionPropSVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00469">SVFGNode.h:469</a></div></div>
|
|
1166
1314
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
|
|
1167
1315
|
<div class="ttc" id="aVersionedFlowSensitive_8h_html"><div class="ttname"><a href="VersionedFlowSensitive_8h.html">VersionedFlowSensitive.h</a></div></div>
|
|
1316
|
+
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_a4ad982a53fbf62c5513afe63b2435fa5"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a4ad982a53fbf62c5513afe63b2435fa5">SVF::BVDataPTAImpl::readAndSetObjFieldSensitivity</a></div><div class="ttdeci">virtual void readAndSetObjFieldSensitivity(std::ifstream &f, const std::string &delimiterStr)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00379">PointerAnalysisImpl.cpp:379</a></div></div>
|
|
1168
1317
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html_a849f670b38cb6f65fc23707a212591c7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">SVF::PointsTo::MappingPtr</a></div><div class="ttdeci">std::shared_ptr< std::vector< NodeID > > MappingPtr</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00042">PointsTo.h:42</a></div></div>
|
|
1169
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a03f5f16377daa0258166a73de3e21f07"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">SVF::VersionedFlowSensitive::vPtD</a></div><div class="ttdeci">BVDataPTAImpl::VersionedPTDataTy * vPtD</div><div class="ttdoc">Points-to DS for working with versions.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1318
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a03f5f16377daa0258166a73de3e21f07"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a03f5f16377daa0258166a73de3e21f07">SVF::VersionedFlowSensitive::vPtD</a></div><div class="ttdeci">BVDataPTAImpl::VersionedPTDataTy * vPtD</div><div class="ttdoc">Points-to DS for working with versions.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00222">VersionedFlowSensitive.h:222</a></div></div>
|
|
1170
1319
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aac920c9a5f13dd147e3c130425e005eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">SVF::VersionedFlowSensitive::isStore</a></div><div class="ttdeci">virtual bool isStore(const NodeID l) const</div><div class="ttdoc">Returns true if l is a store node.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00455">VersionedFlowSensitive.cpp:455</a></div></div>
|
|
1171
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aaae8c6858593ed050dcf2c9220228e3e"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aaae8c6858593ed050dcf2c9220228e3e">SVF::VersionedFlowSensitive::prelabeledObjects</a></div><div class="ttdeci">Set< NodeID > prelabeledObjects</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1320
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aaae8c6858593ed050dcf2c9220228e3e"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aaae8c6858593ed050dcf2c9220228e3e">SVF::VersionedFlowSensitive::prelabeledObjects</a></div><div class="ttdeci">Set< NodeID > prelabeledObjects</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00219">VersionedFlowSensitive.h:219</a></div></div>
|
|
1172
1321
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a5cfee013a1a5821ef0c449842dd8690d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a5cfee013a1a5821ef0c449842dd8690d">SVF::FlowSensitive::ander</a></div><div class="ttdeci">AndersenWaveDiff * ander</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00279">FlowSensitive.h:279</a></div></div>
|
|
1173
1322
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a7565989371100f84ae5f9e2efa655fcb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a7565989371100f84ae5f9e2efa655fcb">SVF::VersionedFlowSensitive::dumpMeldVersion</a></div><div class="ttdeci">static void dumpMeldVersion(MeldVersion &v)</div><div class="ttdoc">Dumps a MeldVersion to stdout.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00936">VersionedFlowSensitive.cpp:936</a></div></div>
|
|
1174
1323
|
<div class="ttc" id="acJSON_8cpp_html_ab6e2ea6dc7bd57d1483413449998230a"><div class="ttname"><a href="cJSON_8cpp.html#ab6e2ea6dc7bd57d1483413449998230a">n</a></div><div class="ttdeci">cJSON * n</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02558">cJSON.cpp:2558</a></div></div>
|
|
1175
1324
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_aae032e5f5d53b131d0112dc8faa464a9"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aae032e5f5d53b131d0112dc8faa464a9">SVF::FlowSensitive::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00245">FlowSensitive.h:245</a></div></div>
|
|
1176
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a1dc6e3d4931b53e7e426c0f76d06aeb3"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3">SVF::VersionedFlowSensitive::versionReliance</a></div><div class="ttdeci">VersionRelianceMap versionReliance</div><div class="ttdoc">o -> (version -> versions which rely on it).</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1325
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a1dc6e3d4931b53e7e426c0f76d06aeb3"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3">SVF::VersionedFlowSensitive::versionReliance</a></div><div class="ttdeci">VersionRelianceMap versionReliance</div><div class="ttdoc">o -> (version -> versions which rely on it).</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00202">VersionedFlowSensitive.h:202</a></div></div>
|
|
1177
1326
|
<div class="ttc" id="acJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
|
|
1178
1327
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
1179
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a18e25c3871d7cc1a6bb0592ceca90f88"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88">SVF::VersionedFlowSensitive::isStoreMap</a></div><div class="ttdeci">std::vector< bool > isStoreMap</div><div class="ttdoc">isStoreMap[l] means SVFG node l is a store node.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1328
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a18e25c3871d7cc1a6bb0592ceca90f88"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a18e25c3871d7cc1a6bb0592ceca90f88">SVF::VersionedFlowSensitive::isStoreMap</a></div><div class="ttdeci">std::vector< bool > isStoreMap</div><div class="ttdoc">isStoreMap[l] means SVFG node l is a store node.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00234">VersionedFlowSensitive.h:234</a></div></div>
|
|
1180
1329
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a911aa7dd8d696b96a85d85af852e1e58"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a911aa7dd8d696b96a85d85af852e1e58">SVF::FlowSensitive::finalize</a></div><div class="ttdeci">void finalize() override</div><div class="ttdoc">Finalize analysis.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00163">FlowSensitive.cpp:163</a></div></div>
|
|
1181
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1330
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00246">VersionedFlowSensitive.h:246</a></div></div>
|
|
1182
1331
|
<div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
1183
1332
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a43e8ca2e69e6e8643c9abd1fa231d305"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">SVF::FlowSensitive::svfgHasSU</a></div><div class="ttdeci">NodeBS svfgHasSU</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00315">FlowSensitive.h:315</a></div></div>
|
|
1184
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a207ae4d1f2e0ccab8e36add0a45578af"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a207ae4d1f2e0ccab8e36add0a45578af">SVF::VersionedFlowSensitive::numPrelabelVersions</a></div><div class="ttdeci">u32_t numPrelabelVersions</div><div class="ttdoc">Number of versions created during prelabeling.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1333
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a207ae4d1f2e0ccab8e36add0a45578af"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a207ae4d1f2e0ccab8e36add0a45578af">SVF::VersionedFlowSensitive::numPrelabelVersions</a></div><div class="ttdeci">u32_t numPrelabelVersions</div><div class="ttdoc">Number of versions created during prelabeling.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00242">VersionedFlowSensitive.h:242</a></div></div>
|
|
1185
1334
|
<div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
|
|
1186
1335
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_ad955fda89f4f749151a1bd14562b03f6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ad955fda89f4f749151a1bd14562b03f6">SVF::VersionedFlowSensitive::finalize</a></div><div class="ttdeci">virtual void finalize() override</div><div class="ttdoc">Finalize analysis.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00065">VersionedFlowSensitive.cpp:65</a></div></div>
|
|
1187
1336
|
<div class="ttc" id="aclassSVF_1_1PTACallGraphEdge_html_adbedb15ac0f9395c5264f087a63bad3b"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">SVF::PTACallGraphEdge::CallInstSet</a></div><div class="ttdeci">Set< const CallICFGNode * > CallInstSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00055">PTACallGraph.h:55</a></div></div>
|
|
1188
|
-
<div class="ttc" id="aclassSVF_1_1NodeIDAllocator_1_1Clusterer_html_a33d502a0bd49307cd824e34b73157b9b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">SVF::NodeIDAllocator::Clusterer::cluster</a></div><div class="ttdeci">static std::vector< NodeID > cluster(BVDataPTAImpl *pta, const std::vector< std::pair< NodeID, unsigned >> keys, std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, std::string evalSubtitle="")</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
1189
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af0859eb2a5b46c45aa4314e6e54f4438"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438">SVF::VersionedFlowSensitive::stmtReliance</a></div><div class="ttdeci">Map< NodeID, Map< Version, NodeBS > > stmtReliance</div><div class="ttdoc">o x version -> statement nodes which rely on that o/version.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1337
|
+
<div class="ttc" id="aclassSVF_1_1NodeIDAllocator_1_1Clusterer_html_a33d502a0bd49307cd824e34b73157b9b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">SVF::NodeIDAllocator::Clusterer::cluster</a></div><div class="ttdeci">static std::vector< NodeID > cluster(BVDataPTAImpl *pta, const std::vector< std::pair< NodeID, unsigned >> keys, std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, std::string evalSubtitle="")</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00187">NodeIDAllocator.cpp:187</a></div></div>
|
|
1338
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af0859eb2a5b46c45aa4314e6e54f4438"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af0859eb2a5b46c45aa4314e6e54f4438">SVF::VersionedFlowSensitive::stmtReliance</a></div><div class="ttdeci">Map< NodeID, Map< Version, NodeBS > > stmtReliance</div><div class="ttdoc">o x version -> statement nodes which rely on that o/version.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00204">VersionedFlowSensitive.h:204</a></div></div>
|
|
1339
|
+
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
1190
1340
|
<div class="ttc" id="aclassSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00156">WPASolver.h:156</a></div></div>
|
|
1191
1341
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html_aea5389ad7e5fe4c8bef686940a1a6056"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#aea5389ad7e5fe4c8bef686940a1a6056">SVF::SparseBitVector::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01099">SparseBitVector.h:1099</a></div></div>
|
|
1192
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aee97e196225aaad29c0bd31d3ccbabf6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aee97e196225aaad29c0bd31d3ccbabf6">SVF::VersionedFlowSensitive::deltaSourceMap</a></div><div class="ttdeci">std::vector< bool > deltaSourceMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1342
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aee97e196225aaad29c0bd31d3ccbabf6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aee97e196225aaad29c0bd31d3ccbabf6">SVF::VersionedFlowSensitive::deltaSourceMap</a></div><div class="ttdeci">std::vector< bool > deltaSourceMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00231">VersionedFlowSensitive.h:231</a></div></div>
|
|
1193
1343
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af9a43f48b7d99cc6694f3ae3248fd8e0"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af9a43f48b7d99cc6694f3ae3248fd8e0">SVF::VersionedFlowSensitive::ObjToVersionMap</a></div><div class="ttdeci">Map< NodeID, Version > ObjToVersionMap</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00040">VersionedFlowSensitive.h:40</a></div></div>
|
|
1194
1344
|
<div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
1195
1345
|
<div class="ttc" id="aclassSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00385">ICFGNode.h:385</a></div></div>
|
|
1346
|
+
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_af4e17ce3667d40d1a377508a275af384"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af4e17ce3667d40d1a377508a275af384">SVF::BVDataPTAImpl::readPtsResultFromFile</a></div><div class="ttdeci">virtual void readPtsResultFromFile(std::ifstream &f)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00289">PointerAnalysisImpl.cpp:289</a></div></div>
|
|
1347
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a31976bfeb5498ce57262dda34e3bf94a"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a31976bfeb5498ce57262dda34e3bf94a">SVF::VersionedFlowSensitive::readVersionedAnalysisResultFromFile</a></div><div class="ttdeci">void readVersionedAnalysisResultFromFile(std::ifstream &F)</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l01058">VersionedFlowSensitive.cpp:1058</a></div></div>
|
|
1196
1348
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a82b76087363b26fbe749653935569de7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">SVF::FlowSensitive::storeTime</a></div><div class="ttdeci">double storeTime</div><div class="ttdoc">time of store edges</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00311">FlowSensitive.h:311</a></div></div>
|
|
1197
1349
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00270">SVFValue.h:270</a></div></div>
|
|
1198
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aff5029fca933376be1fa374bec790da6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aff5029fca933376be1fa374bec790da6">SVF::VersionedFlowSensitive::numPrelabeledNodes</a></div><div class="ttdeci">u32_t numPrelabeledNodes</div><div class="ttdoc">Additional statistics.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1350
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aff5029fca933376be1fa374bec790da6"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aff5029fca933376be1fa374bec790da6">SVF::VersionedFlowSensitive::numPrelabeledNodes</a></div><div class="ttdeci">u32_t numPrelabeledNodes</div><div class="ttdoc">Additional statistics.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00241">VersionedFlowSensitive.h:241</a></div></div>
|
|
1351
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_acf02ed94f68d94617920941b434149f4"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#acf02ed94f68d94617920941b434149f4">SVF::VersionedFlowSensitive::solveAndwritePtsToFile</a></div><div class="ttdeci">void solveAndwritePtsToFile(const std::string &filename) override</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00990">VersionedFlowSensitive.cpp:990</a></div></div>
|
|
1199
1352
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_adba7ffe68ae7edce9b3aa896f978da6b"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#adba7ffe68ae7edce9b3aa896f978da6b">SVF::FlowSensitive::candidateMappings</a></div><div class="ttdeci">std::vector< std::pair< hclust_fast_methods, std::vector< NodeID > > > candidateMappings</div><div class="ttdoc">Save candidate mappings for evaluation's sake.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00282">FlowSensitive.h:282</a></div></div>
|
|
1200
1353
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a3407cc82ef9806e26b79edb677979014"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3407cc82ef9806e26b79edb677979014">SVF::VersionedFlowSensitive::buildDeltaMaps</a></div><div class="ttdeci">virtual void buildDeltaMaps(void)</div><div class="ttdoc">Fills in deltaMap and deltaSourceMap for the SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00467">VersionedFlowSensitive.cpp:467</a></div></div>
|
|
1201
|
-
<div class="ttc" id="
|
|
1354
|
+
<div class="ttc" id="aclassSVF_1_1PointsTo_html_ab196d86cfb48d1c5d27a0c03c7497afa"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab196d86cfb48d1c5d27a0c03c7497afa">SVF::PointsTo::set</a></div><div class="ttdeci">void set(u32_t n)</div><div class="ttdoc">Inserts n in the set.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00157">PointsTo.cpp:157</a></div></div>
|
|
1355
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a2e4e6a84cbfd553ad9cca8fdf9fd4a8d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a2e4e6a84cbfd553ad9cca8fdf9fd4a8d">SVF::VersionedFlowSensitive::consume</a></div><div class="ttdeci">LocVersionMap consume</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00197">VersionedFlowSensitive.h:197</a></div></div>
|
|
1202
1356
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a01a199e9fdb5759c7f78ee344dbc413c"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a01a199e9fdb5759c7f78ee344dbc413c">SVF::VersionedFlowSensitive::getYield</a></div><div class="ttdeci">Version getYield(const NodeID l, const NodeID o) const</div><div class="ttdoc">Returns the yielded version of o at l. If no such version exists, returns invalidVersion.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00808">VersionedFlowSensitive.cpp:808</a></div></div>
|
|
1203
1357
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aa96f517740420665168e9b0c7d2347f1"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aa96f517740420665168e9b0c7d2347f1">SVF::VersionedFlowSensitive::processStore</a></div><div class="ttdeci">virtual bool processStore(const StoreSVFGNode *store) override</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00690">VersionedFlowSensitive.cpp:690</a></div></div>
|
|
1204
1358
|
<div class="ttc" id="aPointsTo_8h_html"><div class="ttname"><a href="PointsTo_8h.html">PointsTo.h</a></div></div>
|
|
@@ -1216,44 +1370,50 @@ $(function() {
|
|
|
1216
1370
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aaee58f266762146e9fdc08ecfc326b29"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aaee58f266762146e9fdc08ecfc326b29">SVF::VersionedFlowSensitive::VersionedFlowSensitiveStat</a></div><div class="ttdeci">friend class VersionedFlowSensitiveStat</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00034">VersionedFlowSensitive.h:34</a></div></div>
|
|
1217
1371
|
<div class="ttc" id="aclassSVF_1_1CoreBitVector_html_a93cdd9890522cc9fee2451567e0b1f0d"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">SVF::CoreBitVector::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00310">CoreBitVector.cpp:310</a></div></div>
|
|
1218
1372
|
<div class="ttc" id="aclassSVF_1_1MRSVFGNode_html_a28fe266d0e4618aa4448aa218495a332"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">SVF::MRSVFGNode::getPointsTo</a></div><div class="ttdeci">const NodeBS & getPointsTo() const</div><div class="ttdoc">Return points-to of the MR.</div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00052">SVFGNode.h:52</a></div></div>
|
|
1373
|
+
<div class="ttc" id="acJSON_8cpp_html_a15f779a174654a93596726f6eb6b57fe"><div class="ttname"><a href="cJSON_8cpp.html#a15f779a174654a93596726f6eb6b57fe">return</a></div><div class="ttdeci">return(char *) p.buffer</div></div>
|
|
1219
1374
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
|
|
1220
1375
|
<div class="ttc" id="anamespaceSVF_html_a32489632f53dce062ca2e8bff42c65cf"><div class="ttname"><a href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">SVF::VersionedVar</a></div><div class="ttdeci">std::pair< NodeID, Version > VersionedVar</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00126">SVFType.h:126</a></div></div>
|
|
1221
1376
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a42a7e39e0e15576742f8ba7c32579ea2"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a42a7e39e0e15576742f8ba7c32579ea2">SVF::FlowSensitive::isStrongUpdate</a></div><div class="ttdeci">bool isStrongUpdate(const SVFGNode *node, NodeID &singleton)</div><div class="ttdoc">Return TRUE if this is a strong update STORE statement.</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00655">FlowSensitive.cpp:655</a></div></div>
|
|
1222
1377
|
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html">SVF::FlowSensitive</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00049">FlowSensitive.h:49</a></div></div>
|
|
1223
1378
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00708">SparseBitVector.h:708</a></div></div>
|
|
1224
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af14a4cbc0b990389d31b2f88f50ad8eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb">SVF::VersionedFlowSensitive::versionedVarToPropNode</a></div><div class="ttdeci">VarToPropNodeMap versionedVarToPropNode</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1379
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af14a4cbc0b990389d31b2f88f50ad8eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb">SVF::VersionedFlowSensitive::versionedVarToPropNode</a></div><div class="ttdeci">VarToPropNodeMap versionedVarToPropNode</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00208">VersionedFlowSensitive.h:208</a></div></div>
|
|
1225
1380
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a3489def8e16e4d7c83d2c909d3287fc0"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3489def8e16e4d7c83d2c909d3287fc0">SVF::VersionedFlowSensitive::getStmtReliance</a></div><div class="ttdeci">NodeBS & getStmtReliance(const NodeID o, const Version v)</div><div class="ttdoc">Returns the statements which rely on o:v.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00838">VersionedFlowSensitive.cpp:838</a></div></div>
|
|
1226
1381
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00197">GenericGraph.h:197</a></div></div>
|
|
1227
1382
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aabc0a5a7a31b8d880e019773ba960741"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aabc0a5a7a31b8d880e019773ba960741">SVF::VersionedFlowSensitive::setConsume</a></div><div class="ttdeci">void setConsume(const NodeID l, const NodeID o, const Version v)</div><div class="ttdoc">Sets the consumed version of o at l to v.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00821">VersionedFlowSensitive.cpp:821</a></div></div>
|
|
1228
1383
|
<div class="ttc" id="acJSON_8cpp_html_a8a1a0a26c50cc4becfc754bb68d1dc6b"><div class="ttname"><a href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">a</a></div><div class="ttdeci">cJSON * a</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02560">cJSON.cpp:2560</a></div></div>
|
|
1229
1384
|
<div class="ttc" id="aclassSVF_1_1PTACallGraph_html_a9a4b0c6672288b9201ab254b4c49548d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a9a4b0c6672288b9201ab254b4c49548d">SVF::PTACallGraph::getIndCallSitesInvokingCallee</a></div><div class="ttdeci">void getIndCallSitesInvokingCallee(const SVFFunction *callee, PTACallGraphEdge::CallInstSet &csSet)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00249">PTACallGraph.cpp:249</a></div></div>
|
|
1385
|
+
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_a25c68f9d2b88437778e854ff0d741d1b"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a25c68f9d2b88437778e854ff0d741d1b">SVF::BVDataPTAImpl::writeToFile</a></div><div class="ttdeci">virtual void writeToFile(const std::string &filename)</div><div class="ttdoc">Interface for analysis result storage on filesystem.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00246">PointerAnalysisImpl.cpp:246</a></div></div>
|
|
1230
1386
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00380">GenericGraph.h:380</a></div></div>
|
|
1231
1387
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
|
|
1232
1388
|
<div class="ttc" id="aclassSVF_1_1SVFG_html_ae2cff3c963136f474fac0a66aa8cff7b"><div class="ttname"><a href="classSVF_1_1SVFG.html#ae2cff3c963136f474fac0a66aa8cff7b">SVF::SVFG::isFunEntrySVFGNode</a></div><div class="ttdeci">const SVFFunction * isFunEntrySVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether a node is function entry SVFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8cpp_source.html#l00704">SVFG.cpp:704</a></div></div>
|
|
1233
1389
|
<div class="ttc" id="aclassSVF_1_1LoadVFGNode_html"><div class="ttname"><a href="classSVF_1_1LoadVFGNode.html">SVF::LoadVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00199">VFGNode.h:199</a></div></div>
|
|
1390
|
+
<div class="ttc" id="aclassSVF_1_1VersionedPTData_html_adcba3355f96357493d8a7520ff00cc97"><div class="ttname"><a href="classSVF_1_1VersionedPTData.html#adcba3355f96357493d8a7520ff00cc97">SVF::VersionedPTData::getPts</a></div><div class="ttdeci">virtual const DataSet & getPts(const VersionedKey &vk)=0</div></div>
|
|
1234
1391
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_aedd12e894fb2c17d2201f4049e5f3793"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aedd12e894fb2c17d2201f4049e5f3793">SVF::VersionedFlowSensitive::cluster</a></div><div class="ttdeci">virtual void cluster(void) override</div><div class="ttdoc">Override since we want to assign different weights based on versioning.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00773">VersionedFlowSensitive.cpp:773</a></div></div>
|
|
1235
1392
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a032acdcd8b84523a7ac2f0e46d21c62f"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a032acdcd8b84523a7ac2f0e46d21c62f">SVF::VersionedFlowSensitive::dumpLocVersionMaps</a></div><div class="ttdeci">void dumpLocVersionMaps(void) const</div><div class="ttdoc">Dumps maps consume and yield.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00900">VersionedFlowSensitive.cpp:900</a></div></div>
|
|
1236
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a6bb3db072db0b899f306b37f1146f83d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d">SVF::VersionedFlowSensitive::isLoadMap</a></div><div class="ttdeci">std::vector< bool > isLoadMap</div><div class="ttdoc">isLoadMap[l] means SVFG node l is a load node.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1393
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a6bb3db072db0b899f306b37f1146f83d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a6bb3db072db0b899f306b37f1146f83d">SVF::VersionedFlowSensitive::isLoadMap</a></div><div class="ttdeci">std::vector< bool > isLoadMap</div><div class="ttdoc">isLoadMap[l] means SVFG node l is a load node.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00237">VersionedFlowSensitive.h:237</a></div></div>
|
|
1237
1394
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a6b398d59fc276980dd2d6d48a8675068"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a6b398d59fc276980dd2d6d48a8675068">SVF::VersionedFlowSensitive::getVersion</a></div><div class="ttdeci">Version getVersion(const NodeID l, const NodeID o, const LocVersionMap &lvm) const</div><div class="ttdoc">Shared code for getConsume and getYield. They wrap this function.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00793">VersionedFlowSensitive.cpp:793</a></div></div>
|
|
1238
1395
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html_a13746982a11d0cab57e5919d53bfbec8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a13746982a11d0cab57e5919d53bfbec8">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdoc">Returns true if set is empty.</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00098">PointsTo.cpp:98</a></div></div>
|
|
1239
1396
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00359">GenericGraph.h:359</a></div></div>
|
|
1240
1397
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a1da960df51570b59161e380949d910c4"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a1da960df51570b59161e380949d910c4">SVF::VersionedFlowSensitive::meld</a></div><div class="ttdeci">static bool meld(MeldVersion &mv1, const MeldVersion &mv2)</div><div class="ttdoc">Melds v2 into v1 (in place), returns whether a change occurred.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00426">VersionedFlowSensitive.cpp:426</a></div></div>
|
|
1241
1398
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a8c8d16036008f87c7811586047599858"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">SVF::GenericGraph::getTotalNodeNum</a></div><div class="ttdeci">u32_t getTotalNodeNum() const</div><div class="ttdoc">Get total number of node/edge.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00433">GenericGraph.h:433</a></div></div>
|
|
1242
1399
|
<div class="ttc" id="aclassSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00141">VFGNode.h:141</a></div></div>
|
|
1243
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_1_1SCC_html_abbac2470771fc7dbc702eda9031bcad8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector< int > &partOf, std::vector< const IndirectSVFGEdge * > &footprint, std::vector< NodeData > &nodeData, std::stack< const SVFGNode * > &stack, int &index, int &currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#
|
|
1400
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_1_1SCC_html_abbac2470771fc7dbc702eda9031bcad8"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#abbac2470771fc7dbc702eda9031bcad8">SVF::VersionedFlowSensitive::SCC::visit</a></div><div class="ttdeci">static void visit(VersionedFlowSensitive *vfs, const NodeID object, std::vector< int > &partOf, std::vector< const IndirectSVFGEdge * > &footprint, std::vector< NodeData > &nodeData, std::stack< const SVFGNode * > &stack, int &index, int &currentSCC, const SVFGNode *v)</div><div class="ttdoc">Called by detectSCCs then called recursively.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l01132">VersionedFlowSensitive.cpp:1132</a></div></div>
|
|
1244
1401
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph< SVFVar, SVFStmt >::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00360">GenericGraph.h:360</a></div></div>
|
|
1245
1402
|
<div class="ttc" id="aclassSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">SVF::PointerAnalysis::PTATY</a></div><div class="ttdeci">PTATY</div><div class="ttdoc">Pointer analysis type list.</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00063">PointerAnalysis.h:63</a></div></div>
|
|
1246
1403
|
<div class="ttc" id="aclassSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
1247
1404
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
1405
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitive_html_a165a9c5aef0811066560154896bae18d"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a165a9c5aef0811066560154896bae18d">SVF::FlowSensitive::solveConstraints</a></div><div class="ttdeci">virtual void solveConstraints()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00077">FlowSensitive.cpp:77</a></div></div>
|
|
1248
1406
|
<div class="ttc" id="aclassSVF_1_1PointsTo_html_a84eca4c7fc833f8ca4d119cd4da08ca8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">SVF::PointsTo::setCurrentBestNodeMapping</a></div><div class="ttdeci">static void setCurrentBestNodeMapping(MappingPtr newCurrentBestNodeMapping, MappingPtr newCurrentBestReverseNodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00371">PointsTo.cpp:371</a></div></div>
|
|
1249
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a77a5dd9578def9a8e2b48e8b90d9b996"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">SVF::VersionedFlowSensitive::prelabelingTime</a></div><div class="ttdeci">double prelabelingTime</div><div class="ttdoc">Time to prelabel SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1407
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a77a5dd9578def9a8e2b48e8b90d9b996"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">SVF::VersionedFlowSensitive::prelabelingTime</a></div><div class="ttdeci">double prelabelingTime</div><div class="ttdoc">Time to prelabel SVFG.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00244">VersionedFlowSensitive.h:244</a></div></div>
|
|
1408
|
+
<div class="ttc" id="aSVFFileSystem_8cpp_html_ab25baccb41e3b67ef0bfdaa1336c9649"><div class="ttname"><a href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a></div><div class="ttdeci">#define F(f)</div></div>
|
|
1250
1409
|
<div class="ttc" id="aclassSVF_1_1IndirectSVFGEdge_html_a30aca718d25924f1babdf348bb0ace71"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">SVF::IndirectSVFGEdge::getPointsTo</a></div><div class="ttdeci">const NodeBS & getPointsTo() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00060">SVFGEdge.h:60</a></div></div>
|
|
1251
|
-
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a16224ee60494bb1fdf1c8a1026fbe7ab"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">SVF::VersionedFlowSensitive::yield</a></div><div class="ttdeci">LocVersionMap yield</div><div class="ttdoc">Actual yield map. Yield analogue to consume.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#
|
|
1410
|
+
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_a16224ee60494bb1fdf1c8a1026fbe7ab"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a16224ee60494bb1fdf1c8a1026fbe7ab">SVF::VersionedFlowSensitive::yield</a></div><div class="ttdeci">LocVersionMap yield</div><div class="ttdoc">Actual yield map. Yield analogue to consume.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00199">VersionedFlowSensitive.h:199</a></div></div>
|
|
1252
1411
|
<div class="ttc" id="aclassSVF_1_1VFGNode_html_a0675465e11d1d42ee7e2b7ab3c5de829"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a0675465e11d1d42ee7e2b7ab3c5de829">SVF::VFGNode::getICFGNode</a></div><div class="ttdeci">virtual const ICFGNode * getICFGNode() const</div><div class="ttdoc">Return corresponding ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00072">VFGNode.h:72</a></div></div>
|
|
1412
|
+
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_a3279969934d6778a6cffe926ed724bfc"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a3279969934d6778a6cffe926ed724bfc">SVF::BVDataPTAImpl::writeObjVarToFile</a></div><div class="ttdeci">virtual void writeObjVarToFile(const std::string &filename)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8cpp_source.html#l00162">PointerAnalysisImpl.cpp:162</a></div></div>
|
|
1253
1413
|
<div class="ttc" id="aclassSVF_1_1Options_html_afd31760e868bfa4d15e434e21fe4d665"><div class="ttname"><a href="classSVF_1_1Options.html#afd31760e868bfa4d15e434e21fe4d665">SVF::Options::VersioningThreads</a></div><div class="ttdeci">static const Option< u32_t > VersioningThreads</div><div class="ttdoc">Number of threads for the versioning phase.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00078">Options.h:78</a></div></div>
|
|
1254
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1414
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00382">SVFIR.h:382</a></div></div>
|
|
1255
1415
|
<div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
1256
|
-
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_a4859864a4c72d5e04c10305e4579e8ee"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a4859864a4c72d5e04c10305e4579e8ee">SVF::BVDataPTAImpl::getVersionedPTDataTy</a></div><div class="ttdeci">VersionedPTDataTy * getVersionedPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#
|
|
1416
|
+
<div class="ttc" id="aclassSVF_1_1BVDataPTAImpl_html_a4859864a4c72d5e04c10305e4579e8ee"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#a4859864a4c72d5e04c10305e4579e8ee">SVF::BVDataPTAImpl::getVersionedPTDataTy</a></div><div class="ttdeci">VersionedPTDataTy * getVersionedPTDataTy() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00192">PointerAnalysisImpl.h:192</a></div></div>
|
|
1257
1417
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_adf37ae1f6a07716bca6fbe1603b8a070"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#adf37ae1f6a07716bca6fbe1603b8a070">SVF::VersionedFlowSensitive::setVersion</a></div><div class="ttdeci">void setVersion(const NodeID l, const NodeID o, const Version v, LocVersionMap &lvm)</div><div class="ttdoc">Shared code for setConsume and setYield. They wrap this function.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00815">VersionedFlowSensitive.cpp:815</a></div></div>
|
|
1258
1418
|
<div class="ttc" id="aclassSVF_1_1CoreBitVector_html"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html">SVF::CoreBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8h_source.html#l00030">CoreBitVector.h:30</a></div></div>
|
|
1259
1419
|
<div class="ttc" id="aclassSVF_1_1VersionedFlowSensitive_html_af93e65faae99459621ae45cf9d36005d"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af93e65faae99459621ae45cf9d36005d">SVF::VersionedFlowSensitive::getConsume</a></div><div class="ttdeci">Version getConsume(const NodeID l, const NodeID o) const</div><div class="ttdoc">Returns the consumed version of o at l. If no such version exists, returns invalidVersion.</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00803">VersionedFlowSensitive.cpp:803</a></div></div>
|