svf-tools 1.0.289 → 1.0.293
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/README.md +1 -0
- package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +45 -29
- package/SVF-doxygen/html/html/Andersen_8h_source.html +50 -50
- package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +9 -9
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +52 -32
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +58 -55
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +64 -11
- package/SVF-doxygen/html/html/NodeIDAllocator_8h.html +5 -1
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +52 -15
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +34 -33
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +32 -32
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -12
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +33 -35
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -36
- package/SVF-doxygen/html/html/SVFG_8h_source.html +19 -19
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -7
- package/SVF-doxygen/html/html/SVFUtil_8h.html +3 -0
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +10 -8
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -11
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +51 -43
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +34 -33
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/annotated.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +213 -212
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +124 -72
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +223 -222
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +36 -34
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +232 -231
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +21 -19
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +220 -219
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +38 -36
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +221 -220
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +232 -231
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +220 -219
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +21 -19
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +227 -226
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +26 -24
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +110 -107
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +12 -4
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +109 -106
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +286 -157
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +121 -118
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +36 -28
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +11 -10
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +74 -34
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer-members.html +109 -0
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1188 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +77 -66
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +32 -26
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +36 -37
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +121 -153
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +49 -49
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +8 -9
- package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +132 -129
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +171 -116
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +5 -5
- package/SVF-doxygen/html/html/classes.html +62 -62
- package/SVF-doxygen/html/html/functions_b.html +10 -5
- package/SVF-doxygen/html/html/functions_c.html +36 -22
- package/SVF-doxygen/html/html/functions_d.html +12 -0
- package/SVF-doxygen/html/html/functions_e.html +9 -3
- package/SVF-doxygen/html/html/functions_f.html +21 -18
- package/SVF-doxygen/html/html/functions_func_c.html +19 -10
- package/SVF-doxygen/html/html/functions_func_d.html +3 -0
- package/SVF-doxygen/html/html/functions_func_e.html +3 -0
- package/SVF-doxygen/html/html/functions_func_g.html +16 -10
- package/SVF-doxygen/html/html/functions_func_p.html +6 -2
- package/SVF-doxygen/html/html/functions_func_r.html +7 -1
- package/SVF-doxygen/html/html/functions_func_t.html +3 -0
- package/SVF-doxygen/html/html/functions_g.html +15 -9
- package/SVF-doxygen/html/html/functions_l.html +10 -7
- package/SVF-doxygen/html/html/functions_n.html +21 -3
- package/SVF-doxygen/html/html/functions_o.html +16 -8
- package/SVF-doxygen/html/html/functions_p.html +23 -17
- package/SVF-doxygen/html/html/functions_r.html +13 -6
- package/SVF-doxygen/html/html/functions_s.html +9 -9
- package/SVF-doxygen/html/html/functions_t.html +18 -9
- package/SVF-doxygen/html/html/functions_type_d.html +3 -0
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_b.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_d.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_f.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_l.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_n.html +18 -0
- package/SVF-doxygen/html/html/functions_vars_o.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_r.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_t.html +6 -0
- package/SVF-doxygen/html/html/functions_w.html +8 -6
- package/SVF-doxygen/html/html/globals_f.html +3 -3
- package/SVF-doxygen/html/html/hierarchy.html +413 -412
- package/SVF-doxygen/html/html/menudata.js +2 -0
- package/SVF-doxygen/html/html/namespaceSVF.html +8 -8
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +47 -16
- package/SVF-doxygen/html/html/namespacemembers_func.html +17 -10
- package/SVF-doxygen/html/html/namespacemembers_h.html +76 -0
- package/SVF-doxygen/html/html/search/all_10.js +9 -8
- package/SVF-doxygen/html/html/search/all_12.js +5 -2
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +8 -5
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +4 -0
- package/SVF-doxygen/html/html/search/all_4.js +4 -0
- package/SVF-doxygen/html/html/search/all_5.js +2 -0
- package/SVF-doxygen/html/html/search/all_6.js +4 -3
- package/SVF-doxygen/html/html/search/all_7.js +4 -2
- package/SVF-doxygen/html/html/search/all_8.js +1 -0
- package/SVF-doxygen/html/html/search/all_c.js +4 -3
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +9 -4
- package/SVF-doxygen/html/html/search/all_f.js +4 -2
- package/SVF-doxygen/html/html/search/classes_2.js +1 -0
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +2 -0
- package/SVF-doxygen/html/html/search/functions_3.js +1 -0
- package/SVF-doxygen/html/html/search/functions_4.js +1 -0
- package/SVF-doxygen/html/html/search/functions_6.js +4 -2
- package/SVF-doxygen/html/html/search/functions_7.js +1 -0
- package/SVF-doxygen/html/html/search/functions_e.js +3 -2
- package/SVF-doxygen/html/html/search/functions_f.js +2 -0
- package/SVF-doxygen/html/html/search/typedefs_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_12.js +1 -0
- package/SVF-doxygen/html/html/search/variables_14.js +3 -1
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_2.js +1 -0
- package/SVF-doxygen/html/html/search/variables_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_4.js +2 -0
- package/SVF-doxygen/html/html/search/variables_5.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -0
- package/SVF-doxygen/html/html/search/variables_c.js +1 -0
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +7 -2
- package/SVF-doxygen/html/html/search/variables_f.js +2 -0
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html +1 -1
- package/include/SABER/ProgSlice.h +0 -3
- package/include/Util/NodeIDAllocator.h +94 -0
- package/include/Util/SVFUtil.h +3 -0
- package/include/WPA/Andersen.h +4 -0
- package/include/WPA/FlowSensitive.h +9 -0
- package/include/WPA/VersionedFlowSensitive.h +3 -0
- package/lib/Graphs/SVFG.cpp +0 -20
- package/lib/Graphs/VFG.cpp +18 -0
- package/lib/MemoryModel/PointsTo.cpp +76 -19
- package/lib/SABER/ProgSlice.cpp +0 -37
- package/lib/SABER/SaberAnnotator.cpp +1 -1
- package/lib/Util/NodeIDAllocator.cpp +548 -1
- package/lib/Util/SVFUtil.cpp +19 -0
- package/lib/WPA/Andersen.cpp +34 -0
- package/lib/WPA/FlowSensitive.cpp +70 -0
- package/lib/WPA/VersionedFlowSensitive.cpp +20 -0
- package/package.json +1 -1
|
@@ -556,6 +556,8 @@ Protected Member Functions</h2></td></tr>
|
|
|
556
556
|
<tr class="memitem:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">addTypeForGepObjNode</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, const <a class="el" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a> *)</td></tr>
|
|
557
557
|
<tr class="memdesc:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">add type for newly created GepObjNode <a href="classSVF_1_1Andersen.html#a85cc81a4f9399e9a23372fa2658325a6">More...</a><br /></td></tr>
|
|
558
558
|
<tr class="separator:a85cc81a4f9399e9a23372fa2658325a6 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
559
|
+
<tr class="memitem:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#ae1ff65a411f2c4dfee0973ad4af48daf">cluster</a> (void) const</td></tr>
|
|
560
|
+
<tr class="separator:ae1ff65a411f2c4dfee0973ad4af48daf inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
559
561
|
<tr class="memitem:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">processAllAddr</a> ()</td></tr>
|
|
560
562
|
<tr class="memdesc:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="mdescLeft"> </td><td class="mdescRight">handling various constraints <a href="classSVF_1_1Andersen.html#adccf6acf63abc9cafc92b2148396fd10">More...</a><br /></td></tr>
|
|
561
563
|
<tr class="separator:adccf6acf63abc9cafc92b2148396fd10 inherit pro_methods_classSVF_1_1Andersen"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -820,7 +822,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
820
822
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
821
823
|
<div class="textblock"><p>Hybrid Cycle Detection Based <a class="el" href="classSVF_1_1Andersen.html">Andersen</a> Analysis </p>
|
|
822
824
|
|
|
823
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
825
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00642">642</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
824
826
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
825
827
|
<a id="a33cb18543abbcd434861c5da7e588356"></a>
|
|
826
828
|
<h2 class="memtitle"><span class="permalink"><a href="#a33cb18543abbcd434861c5da7e588356">◆ </a></span>OSCC</h2>
|
|
@@ -834,7 +836,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
834
836
|
</table>
|
|
835
837
|
</div><div class="memdoc">
|
|
836
838
|
|
|
837
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
839
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00646">646</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
838
840
|
|
|
839
841
|
</div>
|
|
840
842
|
</div>
|
|
@@ -873,9 +875,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
873
875
|
</table>
|
|
874
876
|
</div><div class="memdoc">
|
|
875
877
|
|
|
876
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
877
|
-
<div class="fragment"><div class="line"><a name="
|
|
878
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
878
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00654">654</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
879
|
+
<div class="fragment"><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  :</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <a class="code" href="classSVF_1_1Andersen.html#aed87dd498ba5daf263624a74118ef007">Andersen</a>(_pag, type), <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  {</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  }</div><div class="ttc" id="classSVF_1_1Andersen_html_aed87dd498ba5daf263624a74118ef007"><div class="ttname"><a href="classSVF_1_1Andersen.html#aed87dd498ba5daf263624a74118ef007">SVF::Andersen::Andersen</a></div><div class="ttdeci">Andersen(PAG *_pag, PTATY type=Andersen_WPA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00164">Andersen.h:164</a></div></div>
|
|
880
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00651">Andersen.h:651</a></div></div>
|
|
879
881
|
</div><!-- fragment -->
|
|
880
882
|
</div>
|
|
881
883
|
</div>
|
|
@@ -906,10 +908,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
906
908
|
|
|
907
909
|
<p>Create an singleton instance directly instead of invoking llvm pass manager. </p>
|
|
908
910
|
|
|
909
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
910
|
-
<div class="fragment"><div class="line"><a name="
|
|
911
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00660">660</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
912
|
+
<div class="fragment"><div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  {</div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  {</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a37c2429f238adf0aa6e89bc2d20ee8df">AndersenHCD</a>(_pag);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>-><a class="code" href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">analyze</a>();</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  }</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_a2356a7f8215725d2ee035630b1487b05"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">SVF::AndersenHCD::hcdAndersen</a></div><div class="ttdeci">static AndersenHCD * hcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00649">Andersen.h:649</a></div></div>
|
|
911
913
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_a944966086ecb716184c8cdcc43db5751"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a944966086ecb716184c8cdcc43db5751">SVF::AndersenBase::analyze</a></div><div class="ttdeci">virtual void analyze() override</div><div class="ttdoc">Andersen analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00094">Andersen.cpp:94</a></div></div>
|
|
912
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a37c2429f238adf0aa6e89bc2d20ee8df"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a37c2429f238adf0aa6e89bc2d20ee8df">SVF::AndersenHCD::AndersenHCD</a></div><div class="ttdeci">AndersenHCD(PAG *_pag, PTATY type=AndersenHCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
914
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a37c2429f238adf0aa6e89bc2d20ee8df"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a37c2429f238adf0aa6e89bc2d20ee8df">SVF::AndersenHCD::AndersenHCD</a></div><div class="ttdeci">AndersenHCD(PAG *_pag, PTATY type=AndersenHCD_WPA)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00654">Andersen.h:654</a></div></div>
|
|
913
915
|
</div><!-- fragment -->
|
|
914
916
|
</div>
|
|
915
917
|
</div>
|
|
@@ -937,8 +939,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
937
939
|
</table>
|
|
938
940
|
</div><div class="memdoc">
|
|
939
941
|
|
|
940
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
941
|
-
<div class="fragment"><div class="line"><a name="
|
|
942
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00687">687</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
943
|
+
<div class="fragment"><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  {</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-><a class="code" href="classSVF_1_1OfflineConsG.html#a3f390900ee8761055c6d59107bc0ad27">getOCGRep</a>(nodeId);</div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00651">Andersen.h:651</a></div></div>
|
|
942
944
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html_a3f390900ee8761055c6d59107bc0ad27"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a3f390900ee8761055c6d59107bc0ad27">SVF::OfflineConsG::getOCGRep</a></div><div class="ttdeci">NodeID getOCGRep(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00070">OfflineConsG.h:70</a></div></div>
|
|
943
945
|
</div><!-- fragment -->
|
|
944
946
|
</div>
|
|
@@ -967,9 +969,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
967
969
|
</table>
|
|
968
970
|
</div><div class="memdoc">
|
|
969
971
|
|
|
970
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
971
|
-
<div class="fragment"><div class="line"><a name="
|
|
972
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
972
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00683">683</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
973
|
+
<div class="fragment"><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  {</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-><a class="code" href="classSVF_1_1OfflineConsG.html#a0a03ef009894059fa2591ea5f9ef87d9">hasOCGRep</a>(nodeId);</div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  }</div><div class="ttc" id="classSVF_1_1OfflineConsG_html_a0a03ef009894059fa2591ea5f9ef87d9"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a0a03ef009894059fa2591ea5f9ef87d9">SVF::OfflineConsG::hasOCGRep</a></div><div class="ttdeci">bool hasOCGRep(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00065">OfflineConsG.h:65</a></div></div>
|
|
974
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00651">Andersen.h:651</a></div></div>
|
|
973
975
|
</div><!-- fragment -->
|
|
974
976
|
</div>
|
|
975
977
|
</div>
|
|
@@ -1002,8 +1004,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1002
1004
|
<p>Reimplemented in <a class="el" href="classSVF_1_1AndersenHLCD.html#a5926080868429040f5142843f01a2a5c">SVF::AndersenHLCD</a>.</p>
|
|
1003
1005
|
|
|
1004
1006
|
<p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00045">45</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
|
|
1005
|
-
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">Andersen::initialize</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// Build offline constraint graph and solve its constraints</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1OfflineConsG.html">OfflineConsG</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>* oscc = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>(<a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  oscc->find();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-><a class="code" href="classSVF_1_1OfflineConsG.html#ab7d06ed7e5e186b97452391c1162b181">solveOfflineSCC</a>(oscc);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">delete</span> oscc;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1006
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a33cb18543abbcd434861c5da7e588356"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">SVF::AndersenHCD::OSCC</a></div><div class="ttdeci">SCCDetection< OfflineConsG * > OSCC</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1007
|
+
<div class="fragment"><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">Andersen::initialize</a>();</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="comment">// Build offline constraint graph and solve its constraints</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1OfflineConsG.html">OfflineConsG</a>(<a class="code" href="classSVF_1_1PointerAnalysis.html#a8771956f7595b66d825b3dc459d1ae49">pag</a>);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>* oscc = <span class="keyword">new</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">OSCC</a>(<a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  oscc->find();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-><a class="code" href="classSVF_1_1OfflineConsG.html#ab7d06ed7e5e186b97452391c1162b181">solveOfflineSCC</a>(oscc);</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">delete</span> oscc;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00651">Andersen.h:651</a></div></div>
|
|
1008
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a33cb18543abbcd434861c5da7e588356"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a33cb18543abbcd434861c5da7e588356">SVF::AndersenHCD::OSCC</a></div><div class="ttdeci">SCCDetection< OfflineConsG * > OSCC</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00646">Andersen.h:646</a></div></div>
|
|
1007
1009
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html_ab7d06ed7e5e186b97452391c1162b181"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#ab7d06ed7e5e186b97452391c1162b181">SVF::OfflineConsG::solveOfflineSCC</a></div><div class="ttdeci">void solveOfflineSCC(OSCC *oscc)</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8cpp_source.html#l00124">OfflineConsG.cpp:124</a></div></div>
|
|
1008
1010
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html">SVF::OfflineConsG</a></div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00044">OfflineConsG.h:44</a></div></div>
|
|
1009
1011
|
<div class="ttc" id="classSVF_1_1Andersen_html_a20617a69c112ad423b1b5021e48a8548"><div class="ttname"><a href="classSVF_1_1Andersen.html#a20617a69c112ad423b1b5021e48a8548">SVF::Andersen::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00175">Andersen.cpp:175</a></div></div>
|
|
@@ -1035,8 +1037,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1035
1037
|
</table>
|
|
1036
1038
|
</div><div class="memdoc">
|
|
1037
1039
|
|
|
1038
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1039
|
-
<div class="fragment"><div class="line"><a name="
|
|
1040
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00695">695</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1041
|
+
<div class="fragment"><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  {</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  NodeSet::const_iterator it = <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.find(node);</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordflow">return</span> it != <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.end();</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  };</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ac1de536453e92d7628b12e54cc7b2df7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">SVF::AndersenHCD::mergedNodes</a></div><div class="ttdeci">NodeSet mergedNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00650">Andersen.h:650</a></div></div>
|
|
1040
1042
|
</div><!-- fragment -->
|
|
1041
1043
|
</div>
|
|
1042
1044
|
</div>
|
|
@@ -1078,9 +1080,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1078
1080
|
<p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00104">104</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
|
|
1079
1081
|
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  node = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(node);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  rep = <a class="code" href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">sccRepNode</a>(rep);</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">unionPts</a>(rep, node))</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(rep);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="comment">// Once a 'Node' is merged to its rep, it is collapsed,</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">// only its 'NodeID' remaining in the set 'subNodes' of its rep node.</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">mergeNodeToRep</a>(node, rep);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">setMergedNode</a>(node);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00163">WPASolver.h:163</a></div></div>
|
|
1080
1082
|
<div class="ttc" id="classSVF_1_1Andersen_html_ab7dadfd4d810be4863f03ed996b3b3c4"><div class="ttname"><a href="classSVF_1_1Andersen.html#ab7dadfd4d810be4863f03ed996b3b3c4">SVF::Andersen::unionPts</a></div><div class="ttdeci">virtual bool unionPts(NodeID id, const PointsTo &target)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00226">Andersen.h:226</a></div></div>
|
|
1081
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a6d6d770848a42c6291db663ab138461d"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">SVF::AndersenHCD::setMergedNode</a></div><div class="ttdeci">void setMergedNode(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1082
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1083
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1083
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a6d6d770848a42c6291db663ab138461d"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d">SVF::AndersenHCD::setMergedNode</a></div><div class="ttdeci">void setMergedNode(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00700">Andersen.h:700</a></div></div>
|
|
1084
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00695">Andersen.h:695</a></div></div>
|
|
1085
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00795">Andersen.cpp:795</a></div></div>
|
|
1084
1086
|
<div class="ttc" id="classSVF_1_1Andersen_html_aad706e332847e6b0892350a05028ba30"><div class="ttname"><a href="classSVF_1_1Andersen.html#aad706e332847e6b0892350a05028ba30">SVF::Andersen::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC methods. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00211">Andersen.h:211</a></div></div>
|
|
1085
1087
|
</div><!-- fragment -->
|
|
1086
1088
|
</div>
|
|
@@ -1115,18 +1117,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1115
1117
|
<p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00078">78</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
|
|
1116
1118
|
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#abeafc9d45d529577b99fe821e59fd9cb">hasOfflineRep</a>(nodeId))</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="comment">// get offline rep node</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> oRep = <a class="code" href="classSVF_1_1AndersenHCD.html#ac2e6a5acffff567e729b6aa9e9beeb55">getOfflineRep</a>(nodeId);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="comment">// get online rep node</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rep = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">sccRepNode</a>(oRep);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pts = <a class="code" href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">getPts</a>(nodeId);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> ptIt = pts.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>(), ptEit = pts.<a class="code" href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">end</a>(); ptIt != ptEit; ++ptIt)</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> tgt = *ptIt;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* tgtNode = <a class="code" href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">consCG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(tgt);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (!tgtNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a2d37b9e477f8ddc9f9b517b9e2867d44">getDirectInEdges</a>().empty())</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span> (tgtNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a9058618987da9d21156cea72a5d5ddad">getAddrOutEdges</a>().size() > 1)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<a class="code" href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">oCG</a>-><a class="code" href="classSVF_1_1OfflineConsG.html#ac2e7ddb9b7b45f9db47b60d8a0be06ae">isaRef</a>(tgt) && <span class="stringliteral">"Point-to target should not be a ref node!"</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#afea4ecab92720da2f5dad27840ac1e57">mergeNodeAndPts</a>(tgt, rep);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> }</div><div class="ttc" id="classSVF_1_1Andersen_html_a187285a5bdf9422d9188b2b11b667639"><div class="ttname"><a href="classSVF_1_1Andersen.html#a187285a5bdf9422d9188b2b11b667639">SVF::Andersen::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdoc">Operation of points-to set. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00222">Andersen.h:222</a></div></div>
|
|
1117
1119
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
|
|
1118
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1120
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_af5fe01816e65ece685a3c3537ebd0137"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#af5fe01816e65ece685a3c3537ebd0137">SVF::AndersenHCD::oCG</a></div><div class="ttdeci">OfflineConsG * oCG</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00651">Andersen.h:651</a></div></div>
|
|
1119
1121
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1120
1122
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1121
1123
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00174">PointsTo.h:174</a></div></div>
|
|
1122
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_abeafc9d45d529577b99fe821e59fd9cb"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#abeafc9d45d529577b99fe821e59fd9cb">SVF::AndersenHCD::hasOfflineRep</a></div><div class="ttdeci">bool hasOfflineRep(NodeID nodeId) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1124
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_abeafc9d45d529577b99fe821e59fd9cb"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#abeafc9d45d529577b99fe821e59fd9cb">SVF::AndersenHCD::hasOfflineRep</a></div><div class="ttdeci">bool hasOfflineRep(NodeID nodeId) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00683">Andersen.h:683</a></div></div>
|
|
1123
1125
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00127">PointsTo.h:127</a></div></div>
|
|
1124
1126
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a9058618987da9d21156cea72a5d5ddad"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a9058618987da9d21156cea72a5d5ddad">SVF::ConstraintNode::getAddrOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy & getAddrOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00160">ConsGNode.h:160</a></div></div>
|
|
1125
1127
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html_ac2e7ddb9b7b45f9db47b60d8a0be06ae"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#ac2e7ddb9b7b45f9db47b60d8a0be06ae">SVF::OfflineConsG::isaRef</a></div><div class="ttdeci">bool isaRef(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00081">OfflineConsG.h:81</a></div></div>
|
|
1126
1128
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a39b973543acdcdc5493832cc9d0f586f"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a39b973543acdcdc5493832cc9d0f586f">SVF::ConstraintGraph::sccRepNode</a></div><div class="ttdeci">NodeID sccRepNode(NodeID id) const</div><div class="ttdoc">SCC rep/sub nodes methods. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00232">ConsG.h:232</a></div></div>
|
|
1127
1129
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
|
|
1128
1130
|
<div class="ttc" id="classSVF_1_1AndersenHCD_html_afea4ecab92720da2f5dad27840ac1e57"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#afea4ecab92720da2f5dad27840ac1e57">SVF::AndersenHCD::mergeNodeAndPts</a></div><div class="ttdeci">void mergeNodeAndPts(NodeID node, NodeID tgt)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00104">AndersenHCD.cpp:104</a></div></div>
|
|
1129
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_ac2e6a5acffff567e729b6aa9e9beeb55"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac2e6a5acffff567e729b6aa9e9beeb55">SVF::AndersenHCD::getOfflineRep</a></div><div class="ttdeci">NodeID getOfflineRep(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1131
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_ac2e6a5acffff567e729b6aa9e9beeb55"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac2e6a5acffff567e729b6aa9e9beeb55">SVF::AndersenHCD::getOfflineRep</a></div><div class="ttdeci">NodeID getOfflineRep(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00687">Andersen.h:687</a></div></div>
|
|
1130
1132
|
<div class="ttc" id="classSVF_1_1AndersenBase_html_ae21e38a06a4397d11cdd17b0f8f282fd"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ae21e38a06a4397d11cdd17b0f8f282fd">SVF::AndersenBase::consCG</a></div><div class="ttdeci">ConstraintGraph * consCG</div><div class="ttdoc">Constraint Graph. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00149">Andersen.h:149</a></div></div>
|
|
1131
1133
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
|
|
1132
1134
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
|
|
@@ -1157,8 +1159,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1157
1159
|
</table>
|
|
1158
1160
|
</div><div class="memdoc">
|
|
1159
1161
|
|
|
1160
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1161
|
-
<div class="fragment"><div class="line"><a name="
|
|
1162
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00671">671</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1163
|
+
<div class="fragment"><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  {</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>)</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a>;</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">hcdAndersen</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  }</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_a2356a7f8215725d2ee035630b1487b05"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2356a7f8215725d2ee035630b1487b05">SVF::AndersenHCD::hcdAndersen</a></div><div class="ttdeci">static AndersenHCD * hcdAndersen</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00649">Andersen.h:649</a></div></div>
|
|
1162
1164
|
</div><!-- fragment -->
|
|
1163
1165
|
</div>
|
|
1164
1166
|
</div>
|
|
@@ -1186,9 +1188,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1186
1188
|
</table>
|
|
1187
1189
|
</div><div class="memdoc">
|
|
1188
1190
|
|
|
1189
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1190
|
-
<div class="fragment"><div class="line"><a name="
|
|
1191
|
-
<div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#
|
|
1191
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00700">700</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1192
|
+
<div class="fragment"><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  {</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">isaMergedNode</a>(node))</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">mergedNodes</a>.insert(node);</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  };</div><div class="ttc" id="classSVF_1_1AndersenHCD_html_ac1de536453e92d7628b12e54cc7b2df7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ac1de536453e92d7628b12e54cc7b2df7">SVF::AndersenHCD::mergedNodes</a></div><div class="ttdeci">NodeSet mergedNodes</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00650">Andersen.h:650</a></div></div>
|
|
1193
|
+
<div class="ttc" id="classSVF_1_1AndersenHCD_html_ab0414e29a745ed14e790c296042d1fe9"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#ab0414e29a745ed14e790c296042d1fe9">SVF::AndersenHCD::isaMergedNode</a></div><div class="ttdeci">bool isaMergedNode(NodeID node) const</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00695">Andersen.h:695</a></div></div>
|
|
1192
1194
|
</div><!-- fragment -->
|
|
1193
1195
|
</div>
|
|
1194
1196
|
</div>
|
|
@@ -1223,11 +1225,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1223
1225
|
<p class="definition">Definition at line <a class="el" href="AndersenHCD_8cpp_source.html#l00059">59</a> of file <a class="el" href="AndersenHCD_8cpp_source.html">AndersenHCD.cpp</a>.</p>
|
|
1224
1226
|
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> {</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = <a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">collapsePWCNode</a>(nodeId);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">//Merge detected offline SCC cycles</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="classSVF_1_1AndersenHCD.html#a2bbd6a0af75b17a70b1451a69cc3d5d7">mergeSCC</a>(nodeId);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="comment">// Keep solving until workList is empty.</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="code" href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">processNode</a>(nodeId);</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">collapseFields</a>();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1225
1227
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00167">WPASolver.h:167</a></div></div>
|
|
1226
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1228
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ac22a6946de30bc5887b9e4ec9259764f"><div class="ttname"><a href="classSVF_1_1Andersen.html#ac22a6946de30bc5887b9e4ec9259764f">SVF::Andersen::collapseFields</a></div><div class="ttdeci">void collapseFields()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00457">Andersen.cpp:457</a></div></div>
|
|
1227
1229
|
<div class="ttc" id="classSVF_1_1AndersenHCD_html_a2bbd6a0af75b17a70b1451a69cc3d5d7"><div class="ttname"><a href="classSVF_1_1AndersenHCD.html#a2bbd6a0af75b17a70b1451a69cc3d5d7">SVF::AndersenHCD::mergeSCC</a></div><div class="ttdeci">virtual void mergeSCC(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenHCD_8cpp_source.html#l00078">AndersenHCD.cpp:78</a></div></div>
|
|
1228
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_a1caa6fa0740f4fa789d960a5a6fcb9c1"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdoc">Override WPASolver function in order to use the default solver. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1230
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_a1caa6fa0740f4fa789d960a5a6fcb9c1"><div class="ttname"><a href="classSVF_1_1Andersen.html#a1caa6fa0740f4fa789d960a5a6fcb9c1">SVF::Andersen::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID nodeId)</div><div class="ttdoc">Override WPASolver function in order to use the default solver. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00214">Andersen.cpp:214</a></div></div>
|
|
1229
1231
|
<div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00158">WPASolver.h:158</a></div></div>
|
|
1230
|
-
<div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#
|
|
1232
|
+
<div class="ttc" id="classSVF_1_1Andersen_html_ae79bff0e9c49f15e7db00ed605824d98"><div class="ttname"><a href="classSVF_1_1Andersen.html#ae79bff0e9c49f15e7db00ed605824d98">SVF::Andersen::collapsePWCNode</a></div><div class="ttdeci">void collapsePWCNode(NodeID nodeId)</div><div class="ttdoc">Collapse a field object into its base for field insensitive anlaysis. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00448">Andersen.cpp:448</a></div></div>
|
|
1231
1233
|
</div><!-- fragment -->
|
|
1232
1234
|
</div>
|
|
1233
1235
|
</div>
|
|
@@ -1252,7 +1254,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1252
1254
|
</table>
|
|
1253
1255
|
</div><div class="memdoc">
|
|
1254
1256
|
|
|
1255
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1257
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00649">649</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1256
1258
|
|
|
1257
1259
|
</div>
|
|
1258
1260
|
</div>
|
|
@@ -1276,7 +1278,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1276
1278
|
</table>
|
|
1277
1279
|
</div><div class="memdoc">
|
|
1278
1280
|
|
|
1279
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1281
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00650">650</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1280
1282
|
|
|
1281
1283
|
</div>
|
|
1282
1284
|
</div>
|
|
@@ -1300,7 +1302,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1300
1302
|
</table>
|
|
1301
1303
|
</div><div class="memdoc">
|
|
1302
1304
|
|
|
1303
|
-
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#
|
|
1305
|
+
<p class="definition">Definition at line <a class="el" href="Andersen_8h_source.html#l00651">651</a> of file <a class="el" href="Andersen_8h_source.html">Andersen.h</a>.</p>
|
|
1304
1306
|
|
|
1305
1307
|
</div>
|
|
1306
1308
|
</div>
|