svf-tools 1.0.855 → 1.0.856
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/AndersenPWC_8h_source.html +4 -4
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +154 -163
- package/SVF-doxygen/html/Andersen_8cpp_source.html +2 -2
- package/SVF-doxygen/html/Andersen_8h_source.html +13 -13
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFLAlias_8h_source.html +4 -4
- package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLBase_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFLStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFLVF_8h_source.html +2 -2
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +14 -14
- package/SVF-doxygen/html/ContextDDA_8h_source.html +6 -6
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +5 -5
- package/SVF-doxygen/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +7 -7
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +10 -10
- package/SVF-doxygen/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/FSMPTA_8h_source.html +5 -5
- package/SVF-doxygen/html/FlowDDA_8h_source.html +11 -11
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +236 -238
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/FlowSensitive_8h_source.html +7 -7
- package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/MTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Options_8cpp_source.html +10 -10
- package/SVF-doxygen/html/PCG_8h_source.html +4 -4
- package/SVF-doxygen/html/PTAStat_8cpp_source.html +99 -87
- package/SVF-doxygen/html/PTAStat_8h_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +30 -30
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +15 -15
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +42 -42
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +400 -409
- package/SVF-doxygen/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +16 -19
- package/SVF-doxygen/html/SVFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +196 -186
- package/SVF-doxygen/html/SVFStat_8h_source.html +44 -41
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
- package/SVF-doxygen/html/TCT_8h_source.html +5 -5
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/TypeAnalysis_8h_source.html +6 -6
- package/SVF-doxygen/html/VFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +77 -79
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/WPAPass_8cpp_source.html +12 -12
- package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/WPAStat_8h_source.html +9 -9
- package/SVF-doxygen/html/classSVF_1_1Andersen-members.html +121 -123
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +11 -17
- package/SVF-doxygen/html/classSVF_1_1AndersenBase-members.html +100 -102
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +11 -17
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD-members.html +124 -126
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +2 -8
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR-members.html +129 -131
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +1 -7
- package/SVF-doxygen/html/classSVF_1_1AndersenStat-members.html +21 -20
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +155 -161
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff-members.html +122 -124
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +2 -8
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl-members.html +58 -60
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +26 -32
- package/SVF-doxygen/html/classSVF_1_1CFLAlias-members.html +78 -80
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +4 -10
- package/SVF-doxygen/html/classSVF_1_1CFLBase-members.html +75 -77
- package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -7
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CFLStat-members.html +19 -18
- package/SVF-doxygen/html/classSVF_1_1CFLStat.html +5 -2
- package/SVF-doxygen/html/classSVF_1_1CFLVF-members.html +77 -79
- package/SVF-doxygen/html/classSVF_1_1CFLVF.html +2 -8
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl-members.html +50 -52
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +9 -15
- package/SVF-doxygen/html/classSVF_1_1ContextDDA-members.html +97 -99
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +18 -24
- package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1DDAPass.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1DDAStat-members.html +18 -17
- package/SVF-doxygen/html/classSVF_1_1DDAStat.html +12 -9
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FSMPTA-members.html +140 -142
- package/SVF-doxygen/html/classSVF_1_1FSMPTA.html +2 -8
- package/SVF-doxygen/html/classSVF_1_1FlowDDA-members.html +102 -104
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +15 -21
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive-members.html +133 -135
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +18 -24
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat-members.html +24 -23
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +241 -240
- package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ICFGStat-members.html +19 -18
- package/SVF-doxygen/html/classSVF_1_1ICFGStat.html +4 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MTA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAStat-members.html +20 -19
- package/SVF-doxygen/html/classSVF_1_1MTAStat.html +6 -3
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MemSSAStat-members.html +24 -23
- package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +7 -4
- package/SVF-doxygen/html/classSVF_1_1PCG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1POCRAlias-members.html +78 -80
- package/SVF-doxygen/html/classSVF_1_1POCRAlias.html +0 -6
- package/SVF-doxygen/html/classSVF_1_1POCRHybrid-members.html +78 -80
- package/SVF-doxygen/html/classSVF_1_1POCRHybrid.html +0 -6
- package/SVF-doxygen/html/classSVF_1_1PTAStat-members.html +19 -18
- package/SVF-doxygen/html/classSVF_1_1PTAStat.html +100 -85
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis-members.html +34 -36
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +291 -356
- package/SVF-doxygen/html/classSVF_1_1SVFGStat-members.html +41 -40
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +18 -18
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFStat-members.html +13 -12
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +208 -168
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard-members.html +109 -111
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +4 -10
- package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1TypeAnalysis-members.html +103 -105
- package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +9 -15
- package/SVF-doxygen/html/classSVF_1_1VFG.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive-members.html +158 -160
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +6 -12
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat-members.html +24 -23
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +84 -83
- package/SVF-doxygen/html/classSVF_1_1WPAPass.html +12 -12
- package/SVF-doxygen/html/functions_func_g.html +10 -13
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_g.html +4 -7
- package/SVF-doxygen/html/functions_l.html +5 -5
- package/SVF-doxygen/html/functions_n.html +6 -6
- package/SVF-doxygen/html/functions_o.html +4 -4
- package/SVF-doxygen/html/functions_p.html +19 -12
- package/SVF-doxygen/html/functions_r.html +1 -3
- package/SVF-doxygen/html/functions_s.html +10 -12
- package/SVF-doxygen/html/functions_t.html +9 -12
- package/SVF-doxygen/html/functions_v.html +7 -9
- package/SVF-doxygen/html/functions_vars_p.html +3 -0
- package/SVF-doxygen/html/functions_vars_t.html +0 -3
- package/SVF-doxygen/html/functions_w.html +7 -9
- package/SVF-doxygen/html/search/all_10.js +209 -208
- package/SVF-doxygen/html/search/all_11.js +1 -1
- package/SVF-doxygen/html/search/all_12.js +7 -7
- package/SVF-doxygen/html/search/all_13.js +6 -7
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +168 -168
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +175 -175
- package/SVF-doxygen/html/search/all_7.js +99 -100
- package/SVF-doxygen/html/search/all_8.js +196 -196
- package/SVF-doxygen/html/search/all_9.js +605 -605
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +197 -197
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +81 -81
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +34 -34
- package/SVF-doxygen/html/search/classes_8.js +57 -57
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +14 -14
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +57 -57
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +364 -364
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +140 -140
- package/SVF-doxygen/html/search/functions_12.js +289 -289
- package/SVF-doxygen/html/search/functions_13.js +72 -72
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +175 -175
- package/SVF-doxygen/html/search/functions_2.js +91 -91
- package/SVF-doxygen/html/search/functions_3.js +262 -262
- package/SVF-doxygen/html/search/functions_4.js +78 -78
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +60 -60
- package/SVF-doxygen/html/search/functions_7.js +856 -857
- package/SVF-doxygen/html/search/functions_8.js +148 -148
- package/SVF-doxygen/html/search/functions_9.js +421 -421
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +79 -79
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +3 -3
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +62 -62
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +33 -33
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +56 -56
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +76 -76
- package/SVF-doxygen/html/search/variables_10.js +99 -98
- package/SVF-doxygen/html/search/variables_11.js +45 -45
- package/SVF-doxygen/html/search/variables_12.js +91 -91
- package/SVF-doxygen/html/search/variables_13.js +73 -74
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +50 -50
- package/SVF-doxygen/html/search/variables_5.js +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +55 -55
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/svf-ex_8cpp.html +2 -2
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +3 -3
- package/package.json +1 -1
- package/svf/include/MemoryModel/PointerAnalysis.h +0 -9
- package/svf/include/Util/SVFStat.h +3 -0
- package/svf/lib/DDA/DDAStat.cpp +2 -2
- package/svf/lib/Graphs/SVFGStat.cpp +2 -4
- package/svf/lib/MemoryModel/PointerAnalysis.cpp +1 -1
- package/svf/lib/Util/PTAStat.cpp +14 -4
- package/svf/lib/Util/SVFStat.cpp +13 -3
- package/svf/lib/WPA/AndersenStat.cpp +3 -8
- package/svf/lib/WPA/FlowSensitiveStat.cpp +1 -2
- package/svf/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -2
|
@@ -326,239 +326,238 @@ $(function() {
|
|
|
326
326
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  timeStatMap[<span class="stringliteral">"AverageSCCSize"</span>] = (fspta->numOfSCC == 0) ? 0 :</div>
|
|
327
327
|
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  ((<span class="keywordtype">double</span>)fspta->numOfNodesInSCC / fspta->numOfSCC);</div>
|
|
328
328
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  </div>
|
|
329
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="
|
|
330
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
331
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
332
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
333
|
-
<div class="line"><a name="l00271"></a><span class="lineno"
|
|
334
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
335
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> 
|
|
336
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
337
|
-
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> 
|
|
338
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
339
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="
|
|
340
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="
|
|
341
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>&
|
|
342
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <
|
|
343
|
-
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> 
|
|
344
|
-
<div class="line"><a name="
|
|
345
|
-
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="
|
|
346
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> 
|
|
347
|
-
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> 
|
|
348
|
-
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> 
|
|
349
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> 
|
|
350
|
-
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> 
|
|
351
|
-
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> 
|
|
352
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> 
|
|
353
|
-
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> 
|
|
354
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> 
|
|
355
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> 
|
|
356
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> 
|
|
357
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> 
|
|
358
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 
|
|
359
|
-
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> 
|
|
360
|
-
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="
|
|
361
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> 
|
|
362
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> 
|
|
363
|
-
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> 
|
|
364
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> 
|
|
365
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
366
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> 
|
|
367
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> 
|
|
368
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> 
|
|
369
|
-
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> 
|
|
370
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> 
|
|
371
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
372
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
373
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> 
|
|
374
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> 
|
|
375
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
376
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> 
|
|
377
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> 
|
|
378
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 
|
|
379
|
-
<div class="line"><a name="
|
|
380
|
-
<div class="line"><a name="l00322"></a><span class="lineno"
|
|
381
|
-
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> 
|
|
382
|
-
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="
|
|
383
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> 
|
|
384
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> 
|
|
385
|
-
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> 
|
|
386
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 
|
|
387
|
-
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> 
|
|
388
|
-
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> 
|
|
389
|
-
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> 
|
|
390
|
-
<div class="line"><a name="
|
|
391
|
-
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>
|
|
392
|
-
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="
|
|
393
|
-
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> 
|
|
394
|
-
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> 
|
|
395
|
-
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> 
|
|
396
|
-
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <
|
|
397
|
-
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> 
|
|
398
|
-
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> 
|
|
399
|
-
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> 
|
|
400
|
-
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> 
|
|
401
|
-
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> 
|
|
402
|
-
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> 
|
|
403
|
-
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  </div>
|
|
404
|
-
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> 
|
|
405
|
-
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  </div>
|
|
406
|
-
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> 
|
|
407
|
-
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> 
|
|
408
|
-
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  </div>
|
|
409
|
-
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> 
|
|
410
|
-
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> 
|
|
411
|
-
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> 
|
|
412
|
-
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> 
|
|
413
|
-
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <
|
|
414
|
-
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> 
|
|
415
|
-
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> 
|
|
416
|
-
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> 
|
|
417
|
-
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  </div>
|
|
418
|
-
<div class="line"><a name="l00361"></a><span class="lineno"
|
|
419
|
-
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> 
|
|
420
|
-
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> 
|
|
421
|
-
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> 
|
|
422
|
-
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  </div>
|
|
423
|
-
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> 
|
|
424
|
-
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  DFInOutMap::const_iterator
|
|
425
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> 
|
|
426
|
-
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> 
|
|
427
|
-
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> 
|
|
428
|
-
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> 
|
|
429
|
-
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> 
|
|
430
|
-
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="
|
|
431
|
-
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> 
|
|
432
|
-
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> 
|
|
433
|
-
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> 
|
|
434
|
-
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> 
|
|
435
|
-
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> 
|
|
436
|
-
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> 
|
|
437
|
-
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> 
|
|
438
|
-
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> 
|
|
439
|
-
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> 
|
|
440
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> 
|
|
441
|
-
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> 
|
|
442
|
-
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> 
|
|
443
|
-
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> 
|
|
444
|
-
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> 
|
|
445
|
-
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span> 
|
|
446
|
-
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> 
|
|
447
|
-
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> 
|
|
448
|
-
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> 
|
|
449
|
-
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> 
|
|
450
|
-
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="
|
|
451
|
-
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> 
|
|
452
|
-
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  PtsMap::const_iterator
|
|
453
|
-
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> 
|
|
454
|
-
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> 
|
|
455
|
-
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> 
|
|
456
|
-
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> 
|
|
457
|
-
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> 
|
|
458
|
-
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> 
|
|
459
|
-
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> 
|
|
460
|
-
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> 
|
|
461
|
-
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  </div>
|
|
462
|
-
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> 
|
|
463
|
-
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> 
|
|
464
|
-
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> 
|
|
465
|
-
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> 
|
|
466
|
-
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  </div>
|
|
467
|
-
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> 
|
|
468
|
-
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> 
|
|
469
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> 
|
|
470
|
-
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> 
|
|
471
|
-
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> 
|
|
472
|
-
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> 
|
|
473
|
-
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> 
|
|
474
|
-
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> 
|
|
475
|
-
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> 
|
|
476
|
-
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> 
|
|
477
|
-
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 
|
|
478
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> 
|
|
479
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> 
|
|
480
|
-
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> 
|
|
481
|
-
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> 
|
|
482
|
-
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span> 
|
|
483
|
-
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> 
|
|
484
|
-
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span> 
|
|
485
|
-
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  </div>
|
|
486
|
-
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> 
|
|
487
|
-
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> 
|
|
488
|
-
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  </div>
|
|
489
|
-
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> 
|
|
490
|
-
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> 
|
|
491
|
-
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> 
|
|
492
|
-
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  </div>
|
|
493
|
-
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> 
|
|
494
|
-
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> 
|
|
495
|
-
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> 
|
|
496
|
-
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> 
|
|
497
|
-
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> 
|
|
498
|
-
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="comment">//
|
|
499
|
-
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="comment">//
|
|
500
|
-
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="comment">//
|
|
501
|
-
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="
|
|
502
|
-
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="
|
|
503
|
-
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> 
|
|
504
|
-
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> 
|
|
505
|
-
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> 
|
|
506
|
-
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> 
|
|
507
|
-
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <
|
|
508
|
-
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="
|
|
509
|
-
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> 
|
|
510
|
-
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> 
|
|
511
|
-
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="
|
|
512
|
-
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">
|
|
513
|
-
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> 
|
|
514
|
-
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> 
|
|
515
|
-
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  </div>
|
|
516
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> 
|
|
517
|
-
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  </div>
|
|
518
|
-
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> 
|
|
519
|
-
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> 
|
|
520
|
-
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <
|
|
521
|
-
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="comment">//
|
|
522
|
-
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="
|
|
523
|
-
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> 
|
|
524
|
-
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  </div>
|
|
525
|
-
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> 
|
|
526
|
-
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> 
|
|
527
|
-
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> 
|
|
528
|
-
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> 
|
|
529
|
-
<div class="line"><a name="
|
|
530
|
-
<div class="line"><a name="l00476"></a><span class="lineno"
|
|
531
|
-
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> 
|
|
532
|
-
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  SVFG::SVFGNodeIDToNodeMapTy::const_iterator
|
|
533
|
-
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> 
|
|
534
|
-
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> 
|
|
535
|
-
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> 
|
|
536
|
-
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keyword">const</span> <a class="code" href="
|
|
537
|
-
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> 
|
|
538
|
-
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> 
|
|
539
|
-
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> 
|
|
540
|
-
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> 
|
|
541
|
-
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> 
|
|
542
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> 
|
|
543
|
-
<div class="line"><a name="
|
|
544
|
-
<div class="line"><a name="l00493"></a><span class="lineno"
|
|
545
|
-
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> 
|
|
546
|
-
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> 
|
|
547
|
-
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> 
|
|
548
|
-
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a>
|
|
549
|
-
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <
|
|
550
|
-
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> 
|
|
551
|
-
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> 
|
|
552
|
-
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> 
|
|
553
|
-
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  </div>
|
|
554
|
-
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> 
|
|
555
|
-
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> 
|
|
556
|
-
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> 
|
|
557
|
-
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> 
|
|
558
|
-
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> 
|
|
559
|
-
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> 
|
|
329
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">PTAStat::printStat</a>(<span class="stringliteral">"Flow-Sensitive Pointer Analysis Statistics"</span>);</div>
|
|
330
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div>
|
|
331
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  </div>
|
|
332
|
+
<div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a36f7be42772b2df6f7594c51b7dc4770"> 270</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a36f7be42772b2df6f7594c51b7dc4770">FlowSensitiveStat::statNullPtr</a>()</div>
|
|
333
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> {</div>
|
|
334
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  _NumOfNullPtr = 0;</div>
|
|
335
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = fspta->getPAG()->begin(), eiter = fspta->getPAG()->end();</div>
|
|
336
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  iter != eiter; ++iter)</div>
|
|
337
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div>
|
|
338
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pagNodeId = iter->first;</div>
|
|
339
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pagNode = iter->second;</div>
|
|
340
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& inComingStore = pagNode-><a class="code" href="classSVF_1_1SVFVar.html#a76964ef7d4842a469d7720881499d8a6">getIncomingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9aa0f700b514c431ec5329aec49df56dcc">SVFStmt::Store</a>);</div>
|
|
341
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVFStmt::SVFStmtSetTy</a>& outGoingLoad = pagNode-><a class="code" href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">getOutgoingEdges</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVFStmt::Load</a>);</div>
|
|
342
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">if</span> (inComingStore.empty()==<span class="keyword">false</span> || outGoingLoad.empty()==<span class="keyword">false</span>)</div>
|
|
343
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  {</div>
|
|
344
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts = fspta->getPts(pagNodeId);</div>
|
|
345
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">if</span>(fspta->containBlackHoleNode(pts))</div>
|
|
346
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  {</div>
|
|
347
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  _NumOfConstantPtr++;</div>
|
|
348
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div>
|
|
349
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">if</span>(fspta->containConstantNode(pts))</div>
|
|
350
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div>
|
|
351
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  _NumOfBlackholePtr++;</div>
|
|
352
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div>
|
|
353
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">if</span>(pts.<a class="code" href="classSVF_1_1PointsTo.html#a13746982a11d0cab57e5919d53bfbec8">empty</a>())</div>
|
|
354
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div>
|
|
355
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
356
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  std::stringstream rawstr(str);</div>
|
|
357
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> (!SVFUtil::isa<DummyValVar>(pagNode) && !SVFUtil::isa<DummyObjVar>(pagNode))</div>
|
|
358
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div>
|
|
359
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="comment">// if a pointer is in dead function, we do not care</span></div>
|
|
360
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">if</span>(pagNode-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#a3a4b04027aa67278e7b1bb1ef88cf2e6">ptrInUncalledFunction</a>() == <span class="keyword">false</span>)</div>
|
|
361
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  {</div>
|
|
362
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  _NumOfNullPtr++;</div>
|
|
363
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  rawstr << <span class="stringliteral">"##Null Pointer : (NodeID "</span> << pagNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()</div>
|
|
364
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  << <span class="stringliteral">") PtrName:"</span> << pagNode-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
|
|
365
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(rawstr.str());</div>
|
|
366
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div>
|
|
367
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div>
|
|
368
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">else</span></div>
|
|
369
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div>
|
|
370
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  _NumOfNullPtr++;</div>
|
|
371
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  rawstr << <span class="stringliteral">"##Null Pointer : (NodeID "</span> << pagNode-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
372
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2e0196e0ce547ab4a483cc6d2646b24">writeWrnMsg</a>(rawstr.str());</div>
|
|
373
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div>
|
|
374
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  }</div>
|
|
375
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div>
|
|
376
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div>
|
|
377
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div>
|
|
378
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  </div>
|
|
379
|
+
<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#af51e5b90f7bc52e3657a708c7bc5bb75"> 321</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#af51e5b90f7bc52e3657a708c7bc5bb75">FlowSensitiveStat::statPtsSize</a>()</div>
|
|
380
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> {</div>
|
|
381
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="comment">// TODO: needs to be made to work for persistent.</span></div>
|
|
382
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span> (SVFUtil::isa<FlowSensitive::MutDFPTDataTy>(fspta->getPTDataTy()))</div>
|
|
383
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  {</div>
|
|
384
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="comment">// stat of IN set</span></div>
|
|
385
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  statInOutPtsSize(fspta->getDFInputMap(), IN);</div>
|
|
386
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="comment">// stat of OUT set</span></div>
|
|
387
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  statInOutPtsSize(fspta->getDFOutputMap(), OUT);</div>
|
|
388
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  }</div>
|
|
389
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  </div>
|
|
390
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalValidTopLvlPointers = 0;</div>
|
|
391
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> topTopLvlPtsSize = 0;</div>
|
|
392
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> iter = fspta->getPAG()->begin(), eiter = fspta->getPAG()->end();</div>
|
|
393
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  iter != eiter; ++iter)</div>
|
|
394
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  {</div>
|
|
395
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node = iter->first;</div>
|
|
396
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span> (fspta->getPAG()->isValidTopLevelPtr(iter->second) == <span class="keyword">false</span>)</div>
|
|
397
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">continue</span>;</div>
|
|
398
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size = fspta->getPts(node).count();</div>
|
|
399
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  </div>
|
|
400
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  totalValidTopLvlPointers++;</div>
|
|
401
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  topTopLvlPtsSize+=size;</div>
|
|
402
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  </div>
|
|
403
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">if</span>(size > _MaxPtsSize) _MaxPtsSize = size;</div>
|
|
404
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  </div>
|
|
405
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">if</span> (size > _MaxTopLvlPtsSize) _MaxTopLvlPtsSize = size;</div>
|
|
406
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  }</div>
|
|
407
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  </div>
|
|
408
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">if</span> (totalValidTopLvlPointers != 0)</div>
|
|
409
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  _AvgTopLvlPtsSize = (double)topTopLvlPtsSize/totalValidTopLvlPointers;</div>
|
|
410
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  </div>
|
|
411
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  _TotalPtsSize += topTopLvlPtsSize;</div>
|
|
412
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> totalPointer = totalValidTopLvlPointers + _NumOfVarHaveINOUTPts[IN] + _NumOfVarHaveINOUTPts[OUT];</div>
|
|
413
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">if</span> (totalPointer != 0)</div>
|
|
414
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  _AvgPtsSize = (double) _TotalPtsSize / totalPointer;</div>
|
|
415
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div>
|
|
416
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  </div>
|
|
417
|
+
<div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a8ae7448f6210b6c759a33e6fc8a8cee8"> 360</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a8ae7448f6210b6c759a33e6fc8a8cee8">FlowSensitiveStat::statInOutPtsSize</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75">DFInOutMap</a>& data, <a class="code" href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">ENUM_INOUT</a> inOrOut)</div>
|
|
418
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div>
|
|
419
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="comment">// Get number of nodes which have IN/OUT set</span></div>
|
|
420
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  _NumOfSVFGNodesHaveInOut[inOrOut] = data.size();</div>
|
|
421
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div>
|
|
422
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> inOutPtsSize = 0;</div>
|
|
423
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  DFInOutMap::const_iterator it = data.begin();</div>
|
|
424
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  DFInOutMap::const_iterator eit = data.end();</div>
|
|
425
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div>
|
|
426
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div>
|
|
427
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = fspta->svfg->getSVFGNode(it->first);</div>
|
|
428
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  </div>
|
|
429
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="comment">// Count number of SVFG nodes have IN/OUT set.</span></div>
|
|
430
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span> (SVFUtil::isa<FormalINSVFGNode>(node))</div>
|
|
431
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  _NumOfFormalInSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
432
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<FormalOUTSVFGNode>(node))</div>
|
|
433
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  _NumOfFormalOutSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
434
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ActualINSVFGNode>(node))</div>
|
|
435
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  _NumOfActualInSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
436
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ActualOUTSVFGNode>(node))</div>
|
|
437
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  _NumOfActualOutSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
438
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<LoadSVFGNode>(node))</div>
|
|
439
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  _NumOfLoadSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
440
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<StoreSVFGNode>(node))</div>
|
|
441
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  _NumOfStoreSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
442
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<MSSAPHISVFGNode>(node))</div>
|
|
443
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  _NumOfMSSAPhiSVFGNodesHaveInOut[inOrOut]++;</div>
|
|
444
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">else</span></div>
|
|
445
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"unexpected node have IN/OUT set"</span>);</div>
|
|
446
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  </div>
|
|
447
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="comment">/*-----------------------------------------------------*/</span></div>
|
|
448
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  </div>
|
|
449
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="comment">// Count SVFIR nodes and their points-to set size.</span></div>
|
|
450
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e">PtsMap</a>& cptsMap = it->second;</div>
|
|
451
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  PtsMap::const_iterator ptsIt = cptsMap.begin();</div>
|
|
452
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  PtsMap::const_iterator ptsEit = cptsMap.end();</div>
|
|
453
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">for</span> (; ptsIt != ptsEit; ++ptsIt)</div>
|
|
454
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  {</div>
|
|
455
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">if</span> (ptsIt->second.empty())</div>
|
|
456
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  {</div>
|
|
457
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  _NumOfVarHaveEmptyINOUTPts[inOrOut]++;</div>
|
|
458
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">continue</span>;</div>
|
|
459
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div>
|
|
460
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div>
|
|
461
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> ptsNum = ptsIt->second.count(); </div>
|
|
462
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  </div>
|
|
463
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="comment">// Only node with non-empty points-to set are counted.</span></div>
|
|
464
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  _NumOfVarHaveINOUTPts[inOrOut]++;</div>
|
|
465
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  </div>
|
|
466
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keywordflow">if</span> (SVFUtil::isa<FormalINSVFGNode>(node))</div>
|
|
467
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  _NumOfVarHaveINOUTPtsInFormalIn[inOrOut]++;</div>
|
|
468
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<FormalOUTSVFGNode>(node))</div>
|
|
469
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  _NumOfVarHaveINOUTPtsInFormalOut[inOrOut]++;</div>
|
|
470
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ActualINSVFGNode>(node))</div>
|
|
471
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  _NumOfVarHaveINOUTPtsInActualIn[inOrOut]++;</div>
|
|
472
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<ActualOUTSVFGNode>(node))</div>
|
|
473
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  _NumOfVarHaveINOUTPtsInActualOut[inOrOut]++;</div>
|
|
474
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<LoadSVFGNode>(node))</div>
|
|
475
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  _NumOfVarHaveINOUTPtsInLoad[inOrOut]++;</div>
|
|
476
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<StoreSVFGNode>(node))</div>
|
|
477
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  _NumOfVarHaveINOUTPtsInStore[inOrOut]++;</div>
|
|
478
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<MSSAPHISVFGNode>(node))</div>
|
|
479
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  _NumOfVarHaveINOUTPtsInMSSAPhi[inOrOut]++;</div>
|
|
480
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">else</span></div>
|
|
481
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"unexpected node have IN/OUT set"</span>);</div>
|
|
482
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  </div>
|
|
483
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  inOutPtsSize += ptsNum;</div>
|
|
484
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  </div>
|
|
485
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keywordflow">if</span> (ptsNum > _MaxInOutPtsSize[inOrOut])</div>
|
|
486
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  _MaxInOutPtsSize[inOrOut] = ptsNum;</div>
|
|
487
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  </div>
|
|
488
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">if</span> (ptsNum > _MaxPtsSize) _MaxPtsSize = ptsNum;</div>
|
|
489
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  }</div>
|
|
490
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  }</div>
|
|
491
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  </div>
|
|
492
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">if</span> (_NumOfVarHaveINOUTPts[inOrOut] != 0)</div>
|
|
493
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  _AvgInOutPtsSize[inOrOut] = (double)inOutPtsSize / _NumOfVarHaveINOUTPts[inOrOut];</div>
|
|
494
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  </div>
|
|
495
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  _TotalPtsSize += inOutPtsSize;</div>
|
|
496
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  </div>
|
|
497
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="comment">// How many IN/OUT PTSs could we have *potentially* had?</span></div>
|
|
498
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="comment">// l'-o->l, l''-o->l, ..., means there is a possibility of 1 IN PTS.</span></div>
|
|
499
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="comment">// *p = q && { o } in pts_ander(p) means there is a possibility of 1 OUT PTS.</span></div>
|
|
500
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="comment">// For OUTs at stores, we must also account for WU/SUs.</span></div>
|
|
501
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a> *svfg = fspta->svfg;</div>
|
|
502
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVFG::const_iterator</a> it = svfg-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); it != svfg-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++it)</div>
|
|
503
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  {</div>
|
|
504
|
+
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *sn = it->second;</div>
|
|
505
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  </div>
|
|
506
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="comment">// Unique objects coming into s.</span></div>
|
|
507
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> incomingObjects;</div>
|
|
508
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : sn-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>())</div>
|
|
509
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  {</div>
|
|
510
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = SVFUtil::dyn_cast<IndirectSVFGEdge>(e);</div>
|
|
511
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div>
|
|
512
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o : ie-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>()) incomingObjects.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(o);</div>
|
|
513
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  }</div>
|
|
514
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  </div>
|
|
515
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  _PotentialNumOfVarHaveINOUTPts[IN] += incomingObjects.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div>
|
|
516
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  </div>
|
|
517
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a> *store = SVFUtil::dyn_cast<StoreSVFGNode>(sn))</div>
|
|
518
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  {</div>
|
|
519
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> = store->getPAGDstNodeID();</div>
|
|
520
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="comment">// Reuse incomingObjects; what's already in there will be propagated forwarded</span></div>
|
|
521
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="comment">// as a WU/SU, and what's not (first defined at the store), will be added.</span></div>
|
|
522
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> o : fspta->ander->getPts(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>)) incomingObjects.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(o);</div>
|
|
523
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  </div>
|
|
524
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  _PotentialNumOfVarHaveINOUTPts[OUT] += incomingObjects.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div>
|
|
525
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  }</div>
|
|
526
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  }</div>
|
|
527
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
|
|
528
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  </div>
|
|
529
|
+
<div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a81785227a688389c68171a1fbd55fa9b"> 475</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a81785227a688389c68171a1fbd55fa9b">FlowSensitiveStat::statAddrVarPtsSize</a>()</div>
|
|
530
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> {</div>
|
|
531
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  SVFG::SVFGNodeIDToNodeMapTy::const_iterator it = fspta->svfg->begin();</div>
|
|
532
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  SVFG::SVFGNodeIDToNodeMapTy::const_iterator eit = fspta->svfg->end();</div>
|
|
533
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div>
|
|
534
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  {</div>
|
|
535
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node = it->second;</div>
|
|
536
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>* store = SVFUtil::dyn_cast<StoreSVFGNode>(node))</div>
|
|
537
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  {</div>
|
|
538
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  calculateAddrVarPts(store->getPAGDstNodeID(), store);</div>
|
|
539
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  }</div>
|
|
540
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div>
|
|
541
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
|
|
542
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  </div>
|
|
543
|
+
<div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="classSVF_1_1FlowSensitiveStat.html#a04466753c771238c6e1cc57964061dce"> 492</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1FlowSensitiveStat.html#a04466753c771238c6e1cc57964061dce">FlowSensitiveStat::calculateAddrVarPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> pointer, <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* svfg_node)</div>
|
|
544
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> {</div>
|
|
545
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts = fspta->getPts(pointer);</div>
|
|
546
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  _NumOfAddrTakeVar += pts.<a class="code" href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">count</a>();</div>
|
|
547
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> ptsIt = pts.<a class="code" href="classSVF_1_1PointsTo.html#ad5b582d2672617806c61e6170d0b5a7e">begin</a>();</div>
|
|
548
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> ptsEit = pts.<a class="code" href="classSVF_1_1PointsTo.html#a6e2ff63437d07a30cc6db35de032728a">end</a>();</div>
|
|
549
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">for</span> (; ptsIt != ptsEit; ++ptsIt)</div>
|
|
550
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div>
|
|
551
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd = *ptsIt;</div>
|
|
552
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  </div>
|
|
553
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& cpts = fspta->getDFOutPtsSet(svfg_node, ptd);</div>
|
|
554
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  _AvgAddrTakenVarPtsSize += cpts.<a class="code" href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">count</a>();</div>
|
|
555
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">if</span> (cpts.<a class="code" href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">count</a>() > _MaxAddrTakenVarPts)</div>
|
|
556
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  _MaxAddrTakenVarPts = cpts.<a class="code" href="classSVF_1_1PointsTo.html#aa0d4ee196b91fce626f3f15bcc5599e4">count</a>();</div>
|
|
557
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div>
|
|
558
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> }</div>
|
|
559
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  </div>
|
|
560
560
|
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  </div>
|
|
561
|
-
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  </div>
|
|
562
561
|
</div><!-- fragment --></div><!-- contents -->
|
|
563
562
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string & getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00243">SVFValue.h:243</a></div></div>
|
|
564
563
|
<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>
|
|
@@ -568,17 +567,17 @@ $(function() {
|
|
|
568
567
|
<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>
|
|
569
568
|
<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>
|
|
570
569
|
<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>
|
|
571
|
-
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a8ae7448f6210b6c759a33e6fc8a8cee8"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a8ae7448f6210b6c759a33e6fc8a8cee8">SVF::FlowSensitiveStat::statInOutPtsSize</a></div><div class="ttdeci">void statInOutPtsSize(const DFInOutMap &data, ENUM_INOUT inOrOut)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#
|
|
570
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a8ae7448f6210b6c759a33e6fc8a8cee8"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a8ae7448f6210b6c759a33e6fc8a8cee8">SVF::FlowSensitiveStat::statInOutPtsSize</a></div><div class="ttdeci">void statInOutPtsSize(const DFInOutMap &data, ENUM_INOUT inOrOut)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00360">FlowSensitiveStat.cpp:360</a></div></div>
|
|
572
571
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
|
|
573
572
|
<div class="ttc" id="aSVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00604">SVFType.h:604</a></div></div>
|
|
574
573
|
<div class="ttc" id="aclassSVF_1_1IndirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1IndirectSVFGEdge.html">SVF::IndirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGEdge_8h_source.html#l00042">SVFGEdge.h:42</a></div></div>
|
|
575
574
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00325">SVFIR.h:325</a></div></div>
|
|
576
|
-
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a04466753c771238c6e1cc57964061dce"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a04466753c771238c6e1cc57964061dce">SVF::FlowSensitiveStat::calculateAddrVarPts</a></div><div class="ttdeci">void calculateAddrVarPts(NodeID pointer, const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#
|
|
575
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a04466753c771238c6e1cc57964061dce"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a04466753c771238c6e1cc57964061dce">SVF::FlowSensitiveStat::calculateAddrVarPts</a></div><div class="ttdeci">void calculateAddrVarPts(NodeID pointer, const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00492">FlowSensitiveStat.cpp:492</a></div></div>
|
|
577
576
|
<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>
|
|
578
577
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
|
|
579
578
|
<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>
|
|
580
579
|
<div class="ttc" id="aclassSVF_1_1SVFStmt_html_a8cd7b6c6fd8b030b1421d95a086359f4"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a8cd7b6c6fd8b030b1421d95a086359f4">SVF::SVFStmt::SVFStmtSetTy</a></div><div class="ttdeci">GenericNode< SVFVar, SVFStmt >::GEdgeSetTy SVFStmtSetTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00217">SVFStatements.h:217</a></div></div>
|
|
581
|
-
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a81785227a688389c68171a1fbd55fa9b"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a81785227a688389c68171a1fbd55fa9b">SVF::FlowSensitiveStat::statAddrVarPtsSize</a></div><div class="ttdeci">void statAddrVarPtsSize()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#
|
|
580
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a81785227a688389c68171a1fbd55fa9b"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a81785227a688389c68171a1fbd55fa9b">SVF::FlowSensitiveStat::statAddrVarPtsSize</a></div><div class="ttdeci">void statAddrVarPtsSize()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00475">FlowSensitiveStat.cpp:475</a></div></div>
|
|
582
581
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a3ab6f65ffbf6442daac4d3f70f2d3cb1"><div class="ttname"><a href="classSVF_1_1MemObj.html#a3ab6f65ffbf6442daac4d3f70f2d3cb1">SVF::MemObj::getId</a></div><div class="ttdeci">SymID getId() const</div><div class="ttdoc">Get the memory object id.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00412">SymbolTableInfo.h:412</a></div></div>
|
|
583
582
|
<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>
|
|
584
583
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00321">SVFIR.h:321</a></div></div>
|
|
@@ -586,7 +585,7 @@ $(function() {
|
|
|
586
585
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a0212f3fe2f37363e8060f292c8cf7668"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a0212f3fe2f37363e8060f292c8cf7668">SVF::IRGraph::getValueNodeNum</a></div><div class="ttdeci">u32_t getValueNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00187">IRGraph.h:187</a></div></div>
|
|
587
586
|
<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>
|
|
588
587
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00114">SVFIR.h:114</a></div></div>
|
|
589
|
-
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a36f7be42772b2df6f7594c51b7dc4770"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a36f7be42772b2df6f7594c51b7dc4770">SVF::FlowSensitiveStat::statNullPtr</a></div><div class="ttdeci">void statNullPtr()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#
|
|
588
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a36f7be42772b2df6f7594c51b7dc4770"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a36f7be42772b2df6f7594c51b7dc4770">SVF::FlowSensitiveStat::statNullPtr</a></div><div class="ttdeci">void statNullPtr()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00270">FlowSensitiveStat.cpp:270</a></div></div>
|
|
590
589
|
<div class="ttc" id="aclassSVF_1_1SVFStat_html_a178fcefed6ffffc78bbe9b23e0e1babe"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">SVF::SVFStat::printStat</a></div><div class="ttdeci">virtual void printStat(std::string str="")</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00066">SVFStat.cpp:66</a></div></div>
|
|
591
590
|
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_ab4c205136b22a13b54ceb48135730d23"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#ab4c205136b22a13b54ceb48135730d23">SVF::FlowSensitiveStat::clearStat</a></div><div class="ttdeci">void clearStat()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00041">FlowSensitiveStat.cpp:41</a></div></div>
|
|
592
591
|
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_a55d45e82ea3d338114e50da877bcfb75"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75">SVF::FlowSensitiveStat::DFInOutMap</a></div><div class="ttdeci">FlowSensitive::DFInOutMap DFInOutMap</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00088">WPAStat.h:88</a></div></div>
|
|
@@ -595,10 +594,9 @@ $(function() {
|
|
|
595
594
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
596
595
|
<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>
|
|
597
596
|
<div class="ttc" id="aFlowSensitive_8h_html"><div class="ttname"><a href="FlowSensitive_8h.html">FlowSensitive.h</a></div></div>
|
|
598
|
-
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_af51e5b90f7bc52e3657a708c7bc5bb75"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#af51e5b90f7bc52e3657a708c7bc5bb75">SVF::FlowSensitiveStat::statPtsSize</a></div><div class="ttdeci">void statPtsSize()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#
|
|
597
|
+
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_af51e5b90f7bc52e3657a708c7bc5bb75"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#af51e5b90f7bc52e3657a708c7bc5bb75">SVF::FlowSensitiveStat::statPtsSize</a></div><div class="ttdeci">void statPtsSize()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00321">FlowSensitiveStat.cpp:321</a></div></div>
|
|
599
598
|
<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>
|
|
600
599
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a82528aff779ccf8f723f57507dd2d991"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a82528aff779ccf8f723f57507dd2d991">SVF::IRGraph::getObjectNodeNum</a></div><div class="ttdeci">u32_t getObjectNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00191">IRGraph.h:191</a></div></div>
|
|
601
|
-
<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>
|
|
602
600
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_a927733580b47be5ffcfced44ba9fd6c3"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">SVF::SVFVar::getOutgoingEdges</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getOutgoingEdges(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get outgoing SVFIR statements (edges)</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00153">SVFVariables.h:153</a></div></div>
|
|
603
601
|
<div class="ttc" id="aclassSVF_1_1FlowSensitiveStat_html_ab11996ab5606f51c977b9b1385c13d71"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">SVF::FlowSensitiveStat::ENUM_INOUT</a></div><div class="ttdeci">ENUM_INOUT</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00105">WPAStat.h:105</a></div></div>
|
|
604
602
|
<div class="ttc" id="anamespaceSVF_html_ad11fe2412b2182365a662ff0e4639b48"><div class="ttname"><a href="namespaceSVF.html#ad11fe2412b2182365a662ff0e4639b48">SVF::SymID</a></div><div class="ttdeci">unsigned SymID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00058">SVFType.h:58</a></div></div>
|