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
|
@@ -63,6 +63,7 @@ $(function() {
|
|
|
63
63
|
</div><!-- top -->
|
|
64
64
|
<div class="header">
|
|
65
65
|
<div class="summary">
|
|
66
|
+
<a href="#nested-classes">Classes</a> |
|
|
66
67
|
<a href="#pub-types">Public Types</a> |
|
|
67
68
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
68
69
|
<a href="#pub-static-methods">Static Public Member Functions</a> |
|
|
@@ -77,6 +78,11 @@ $(function() {
|
|
|
77
78
|
|
|
78
79
|
<p><code>#include <<a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>></code></p>
|
|
79
80
|
<table class="memberdecls">
|
|
81
|
+
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
|
82
|
+
Classes</h2></td></tr>
|
|
83
|
+
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">Clusterer</a></td></tr>
|
|
84
|
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
85
|
+
</table><table class="memberdecls">
|
|
80
86
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
81
87
|
Public Types</h2></td></tr>
|
|
82
88
|
<tr class="memitem:a8cf553cd07768aad3f3b91bf3d7c6228"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">Strategy</a> { <a class="el" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,
|
|
@@ -99,6 +105,9 @@ Public Member Functions</h2></td></tr>
|
|
|
99
105
|
<tr class="memitem:ae42c5bb7db4d2142adc2e7e904eb36c7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NodeIDAllocator.html#ae42c5bb7db4d2142adc2e7e904eb36c7">endSymbolAllocation</a> (void)</td></tr>
|
|
100
106
|
<tr class="memdesc:ae42c5bb7db4d2142adc2e7e904eb36c7"><td class="mdescLeft"> </td><td class="mdescRight">Notify the allocator that all symbols have had IDs allocated. <a href="#ae42c5bb7db4d2142adc2e7e904eb36c7">More...</a><br /></td></tr>
|
|
101
107
|
<tr class="separator:ae42c5bb7db4d2142adc2e7e904eb36c7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
108
|
+
<tr class="memitem:ad63e43c65cb7d7cac7824f5cede5ec89"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89">getNumObjects</a> (void) const</td></tr>
|
|
109
|
+
<tr class="memdesc:ad63e43c65cb7d7cac7824f5cede5ec89"><td class="mdescLeft"> </td><td class="mdescRight">Returns the total number of memory objects. <a href="#ad63e43c65cb7d7cac7824f5cede5ec89">More...</a><br /></td></tr>
|
|
110
|
+
<tr class="separator:ad63e43c65cb7d7cac7824f5cede5ec89"><td class="memSeparator" colspan="2"> </td></tr>
|
|
102
111
|
</table><table class="memberdecls">
|
|
103
112
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
|
|
104
113
|
Static Public Member Functions</h2></td></tr>
|
|
@@ -154,7 +163,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
154
163
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
155
164
|
<div class="textblock"><p>Allocates node IDs for objects and values, upon request, according to some strategy which can be user-defined. It is the job of <a class="el" href="classSVF_1_1SymbolTableInfo.html">SymbolTableInfo</a> to tell the <a class="el" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a> when all symbols have been allocated through endSymbolAllocation. </p>
|
|
156
165
|
|
|
157
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
166
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00020">20</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
158
167
|
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
|
|
159
168
|
<a id="a8cf553cd07768aad3f3b91bf3d7c6228"></a>
|
|
160
169
|
<h2 class="memtitle"><span class="permalink"><a href="#a8cf553cd07768aad3f3b91bf3d7c6228">◆ </a></span>Strategy</h2>
|
|
@@ -178,10 +187,10 @@ Static Private Attributes</h2></td></tr>
|
|
|
178
187
|
</td></tr>
|
|
179
188
|
</table>
|
|
180
189
|
|
|
181
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
182
|
-
<div class="fragment"><div class="line"><a name="
|
|
183
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">SVF::NodeIDAllocator::DENSE</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
184
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">SVF::NodeIDAllocator::DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
190
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00024">24</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
191
|
+
<div class="fragment"><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">DEBUG</a>,</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  };</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SVF::NodeIDAllocator::SEQ</a></div><div class="ttdoc">Allocate objects objects and values sequentially, intermixed. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00031">NodeIDAllocator.h:31</a></div></div>
|
|
192
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">SVF::NodeIDAllocator::DENSE</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00029">NodeIDAllocator.h:29</a></div></div>
|
|
193
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f">SVF::NodeIDAllocator::DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00036">NodeIDAllocator.h:36</a></div></div>
|
|
185
194
|
</div><!-- fragment -->
|
|
186
195
|
</div>
|
|
187
196
|
</div>
|
|
@@ -213,12 +222,12 @@ Static Private Attributes</h2></td></tr>
|
|
|
213
222
|
<p>Builds a node ID allocator with the strategy specified on the command line. </p>
|
|
214
223
|
|
|
215
224
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00044">44</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
216
|
-
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  : <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a>(<a class="code" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">Options::NodeAllocStrat</a>)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  { }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
225
|
+
<div class="fragment"><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  : <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>(4), <a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a>(<a class="code" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">Options::NodeAllocStrat</a>)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  { }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00084">NodeIDAllocator.h:84</a></div></div>
|
|
217
226
|
<div class="ttc" id="classSVF_1_1Options_html_a2537be131132830c63d408133619a065"><div class="ttname"><a href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">SVF::Options::NodeAllocStrat</a></div><div class="ttdeci">static const llvm::cl::opt< SVF::NodeIDAllocator::Strategy > NodeAllocStrat</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00031">Options.h:31</a></div></div>
|
|
218
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
219
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
220
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
221
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
227
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00090">NodeIDAllocator.h:90</a></div></div>
|
|
228
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00086">NodeIDAllocator.h:86</a></div></div>
|
|
229
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00094">NodeIDAllocator.h:94</a></div></div>
|
|
230
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00088">NodeIDAllocator.h:88</a></div></div>
|
|
222
231
|
</div><!-- fragment -->
|
|
223
232
|
</div>
|
|
224
233
|
</div>
|
|
@@ -259,10 +268,10 @@ Static Private Attributes</h2></td></tr>
|
|
|
259
268
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00081">81</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
260
269
|
<div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="comment">// Nothing different to the other case.</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</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>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::SEQ)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DEBUG)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// For a gep id, base id is set at lower bits, and offset is set at higher bits</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// e.g., 1100050 denotes base=50 and offset=10</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// The offset is 10, not 11, because we add 1 to the offset to ensure that the</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">// high bits are never 0. For example, we do not want the gep id to be 50 when</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="comment">// the base is 50 and the offset is 0.</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> gepMultiplier = pow(10, ceil(log10(</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> > maxFieldLimit ?</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> : maxFieldLimit</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  )));</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">id</span> = (offset + 1) * gepMultiplier + base;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> > <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> && <span class="stringliteral">"NodeIDAllocator::allocateGepObjectId: GEP allocation clashing with other nodes"</span>);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">else</span></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>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"NodeIDAllocator::allocateGepObjectId: unimplemented node allocation strategy"</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 && <span class="stringliteral">"NodeIDAllocator::allocateGepObjectId: ID not allocated"</span>);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</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>
|
|
261
270
|
<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>
|
|
262
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
263
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
264
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
265
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
271
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00084">NodeIDAllocator.h:84</a></div></div>
|
|
272
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00090">NodeIDAllocator.h:90</a></div></div>
|
|
273
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00094">NodeIDAllocator.h:94</a></div></div>
|
|
274
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00088">NodeIDAllocator.h:88</a></div></div>
|
|
266
275
|
</div><!-- fragment -->
|
|
267
276
|
</div>
|
|
268
277
|
</div>
|
|
@@ -287,9 +296,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
287
296
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00048">48</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
288
297
|
<div class="fragment"><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// We allocate objects from 0(-ish, considering the special nodes) to # of objects.</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  }</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::SEQ)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><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">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DEBUG)</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>  <span class="comment">// Non-GEPs just grab the next available ID.</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// We may have "holes" because GEPs increment the total</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">// but allocate far away. This is not a problem because</span></div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// we don't care about the relative distances between nodes.</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</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="keywordflow">else</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"NodeIDAllocator::allocateObjectId: unimplemented node allocation strategy."</span>);</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="line"><a name="l00074"></a><span class="lineno"> 74</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 && <span class="stringliteral">"NodeIDAllocator::allocateObjectId: ID not allocated"</span>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</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>
|
|
289
298
|
<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>
|
|
290
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
291
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
292
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
299
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00084">NodeIDAllocator.h:84</a></div></div>
|
|
300
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00090">NodeIDAllocator.h:90</a></div></div>
|
|
301
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00094">NodeIDAllocator.h:94</a></div></div>
|
|
293
302
|
</div><!-- fragment -->
|
|
294
303
|
</div>
|
|
295
304
|
</div>
|
|
@@ -314,9 +323,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
314
323
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00120">120</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
315
324
|
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span> = 0;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DENSE)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="comment">// We allocate values from UINT_MAX to UINT_MAX - # of values.</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="comment">// TODO: UINT_MAX does not allow for an easily changeable type</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="comment">// of NodeID (though it is already in use elsewhere).</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordtype">id</span> = UINT_MAX - <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::SEQ)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="comment">// Everything is sequential and intermixed.</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a> == Strategy::DEBUG)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordtype">id</span> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"NodeIDAllocator::allocateValueId: unimplemented node allocation strategy"</span>);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  ++<a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keywordtype">id</span> != 0 && <span class="stringliteral">"NodeIDAllocator::allocateValueId: ID not allocated"</span>);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> id;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</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>
|
|
316
325
|
<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>
|
|
317
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
318
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
319
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
326
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00090">NodeIDAllocator.h:90</a></div></div>
|
|
327
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a001c25f6998b8b0a9a7e5e00810e155f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">SVF::NodeIDAllocator::numValues</a></div><div class="ttdeci">NodeID numValues</div><div class="ttdoc">Number of values allocated, including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00086">NodeIDAllocator.h:86</a></div></div>
|
|
328
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a44420802f9db288515ee09771c3edd4d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">SVF::NodeIDAllocator::strategy</a></div><div class="ttdeci">enum Strategy strategy</div><div class="ttdoc">Strategy to allocate with. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00094">NodeIDAllocator.h:94</a></div></div>
|
|
320
329
|
</div><!-- fragment -->
|
|
321
330
|
</div>
|
|
322
331
|
</div>
|
|
@@ -339,8 +348,8 @@ Static Private Attributes</h2></td></tr>
|
|
|
339
348
|
<p>Notify the allocator that all symbols have had IDs allocated. </p>
|
|
340
349
|
|
|
341
350
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00151">151</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
342
|
-
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
343
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
351
|
+
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a> = <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a8e76e0da58f0a5bdbd8118ac419cfa62"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">SVF::NodeIDAllocator::numNodes</a></div><div class="ttdeci">NodeID numNodes</div><div class="ttdoc">Total number of objects and values allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00090">NodeIDAllocator.h:90</a></div></div>
|
|
352
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a3a160f4c6e761a130b863a3df0af7f96"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">SVF::NodeIDAllocator::numSymbols</a></div><div class="ttdeci">NodeID numSymbols</div><div class="ttdoc">Number of explicit symbols allocated (e.g., llvm::Values), including specials. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00088">NodeIDAllocator.h:88</a></div></div>
|
|
344
353
|
</div><!-- fragment -->
|
|
345
354
|
</div>
|
|
346
355
|
</div>
|
|
@@ -371,11 +380,42 @@ Static Private Attributes</h2></td></tr>
|
|
|
371
380
|
<p>Return (singleton) allocator. </p>
|
|
372
381
|
|
|
373
382
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00025">25</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
374
|
-
<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">NodeIDAllocator</a>();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
383
|
+
<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">NodeIDAllocator</a>();</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  }</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00097">NodeIDAllocator.h:97</a></div></div>
|
|
375
384
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_ac8d6abc4ee27ae464f3978e4f4bdc3a6"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">SVF::NodeIDAllocator::NodeIDAllocator</a></div><div class="ttdeci">NodeIDAllocator(void)</div><div class="ttdoc">Builds a node ID allocator with the strategy specified on the command line. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00044">NodeIDAllocator.cpp:44</a></div></div>
|
|
376
385
|
</div><!-- fragment -->
|
|
377
386
|
</div>
|
|
378
387
|
</div>
|
|
388
|
+
<a id="ad63e43c65cb7d7cac7824f5cede5ec89"></a>
|
|
389
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad63e43c65cb7d7cac7824f5cede5ec89">◆ </a></span>getNumObjects()</h2>
|
|
390
|
+
|
|
391
|
+
<div class="memitem">
|
|
392
|
+
<div class="memproto">
|
|
393
|
+
<table class="mlabels">
|
|
394
|
+
<tr>
|
|
395
|
+
<td class="mlabels-left">
|
|
396
|
+
<table class="memname">
|
|
397
|
+
<tr>
|
|
398
|
+
<td class="memname"><a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> SVF::NodeIDAllocator::getNumObjects </td>
|
|
399
|
+
<td>(</td>
|
|
400
|
+
<td class="paramtype">void </td>
|
|
401
|
+
<td class="paramname"></td><td>)</td>
|
|
402
|
+
<td> const</td>
|
|
403
|
+
</tr>
|
|
404
|
+
</table>
|
|
405
|
+
</td>
|
|
406
|
+
<td class="mlabels-right">
|
|
407
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
408
|
+
</tr>
|
|
409
|
+
</table>
|
|
410
|
+
</div><div class="memdoc">
|
|
411
|
+
|
|
412
|
+
<p>Returns the total number of memory objects. </p>
|
|
413
|
+
|
|
414
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00074">74</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
415
|
+
<div class="fragment"><div class="line"><a name="l00074"></a><span class="lineno"> 74</span> { <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>; }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a190c729a3f3f622f82cee4917946b50f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">SVF::NodeIDAllocator::numObjects</a></div><div class="ttdeci">NodeID numObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00084">NodeIDAllocator.h:84</a></div></div>
|
|
416
|
+
</div><!-- fragment -->
|
|
417
|
+
</div>
|
|
418
|
+
</div>
|
|
379
419
|
<a id="af7952ef5667039c9be86a589419b35a8"></a>
|
|
380
420
|
<h2 class="memtitle"><span class="permalink"><a href="#af7952ef5667039c9be86a589419b35a8">◆ </a></span>unset()</h2>
|
|
381
421
|
|
|
@@ -403,7 +443,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
403
443
|
<p>Deletes the (singleton) allocator. </p>
|
|
404
444
|
|
|
405
445
|
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8cpp_source.html#l00035">35</a> of file <a class="el" href="NodeIDAllocator_8cpp_source.html">NodeIDAllocator.cpp</a>.</p>
|
|
406
|
-
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#
|
|
446
|
+
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  {</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a> != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  {</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div><div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a67e85749e539ea34146b197668a4ea64"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">SVF::NodeIDAllocator::allocator</a></div><div class="ttdeci">static NodeIDAllocator * allocator</div><div class="ttdoc">Single allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00097">NodeIDAllocator.h:97</a></div></div>
|
|
407
447
|
</div><!-- fragment -->
|
|
408
448
|
</div>
|
|
409
449
|
</div>
|
|
@@ -430,7 +470,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
430
470
|
|
|
431
471
|
<p>Single allocator. </p>
|
|
432
472
|
|
|
433
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
473
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00097">97</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
434
474
|
|
|
435
475
|
</div>
|
|
436
476
|
</div>
|
|
@@ -455,7 +495,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
455
495
|
</div><div class="memdoc">
|
|
456
496
|
<p>These nodes, and any nodes before them are assumed allocated as objects and values. For simplicity's sake, numObjects and numVals thus start at 4 (and the other counters are set appropriately). </p>
|
|
457
497
|
|
|
458
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
498
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00044">44</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
459
499
|
|
|
460
500
|
</div>
|
|
461
501
|
</div>
|
|
@@ -479,7 +519,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
479
519
|
</table>
|
|
480
520
|
</div><div class="memdoc">
|
|
481
521
|
|
|
482
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
522
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00046">46</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
483
523
|
|
|
484
524
|
</div>
|
|
485
525
|
</div>
|
|
@@ -503,7 +543,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
503
543
|
</table>
|
|
504
544
|
</div><div class="memdoc">
|
|
505
545
|
|
|
506
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
546
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00045">45</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
507
547
|
|
|
508
548
|
</div>
|
|
509
549
|
</div>
|
|
@@ -527,7 +567,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
527
567
|
</table>
|
|
528
568
|
</div><div class="memdoc">
|
|
529
569
|
|
|
530
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
570
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00047">47</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
531
571
|
|
|
532
572
|
</div>
|
|
533
573
|
</div>
|
|
@@ -553,7 +593,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
553
593
|
|
|
554
594
|
<p>Total number of objects and values allocated. </p>
|
|
555
595
|
|
|
556
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
596
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00090">90</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
557
597
|
|
|
558
598
|
</div>
|
|
559
599
|
</div>
|
|
@@ -579,7 +619,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
579
619
|
<p>These are moreso counters than amounts.</p>
|
|
580
620
|
<p>Number of memory objects allocated, including specials. </p>
|
|
581
621
|
|
|
582
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
622
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00084">84</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
583
623
|
|
|
584
624
|
</div>
|
|
585
625
|
</div>
|
|
@@ -605,7 +645,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
605
645
|
|
|
606
646
|
<p>Number of explicit symbols allocated (e.g., llvm::Values), including specials. </p>
|
|
607
647
|
|
|
608
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
648
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00088">88</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
609
649
|
|
|
610
650
|
</div>
|
|
611
651
|
</div>
|
|
@@ -631,7 +671,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
631
671
|
|
|
632
672
|
<p>Number of values allocated, including specials. </p>
|
|
633
673
|
|
|
634
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
674
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00086">86</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
635
675
|
|
|
636
676
|
</div>
|
|
637
677
|
</div>
|
|
@@ -657,7 +697,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
657
697
|
|
|
658
698
|
<p>Strategy to allocate with. </p>
|
|
659
699
|
|
|
660
|
-
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#
|
|
700
|
+
<p class="definition">Definition at line <a class="el" href="NodeIDAllocator_8h_source.html#l00094">94</a> of file <a class="el" href="NodeIDAllocator_8h_source.html">NodeIDAllocator.h</a>.</p>
|
|
661
701
|
|
|
662
702
|
</div>
|
|
663
703
|
</div>
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
5
|
+
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
6
|
+
<meta name="generator" content="Doxygen 1.8.13"/>
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
8
|
+
<title>Static Value-Flow Analysis: Member List</title>
|
|
9
|
+
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
10
|
+
<script type="text/javascript" src="jquery.js"></script>
|
|
11
|
+
<script type="text/javascript" src="dynsections.js"></script>
|
|
12
|
+
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
13
|
+
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
14
|
+
<script type="text/javascript" src="search/search.js"></script>
|
|
15
|
+
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
19
|
+
<div id="titlearea">
|
|
20
|
+
<table cellspacing="0" cellpadding="0">
|
|
21
|
+
<tbody>
|
|
22
|
+
<tr style="height: 56px;">
|
|
23
|
+
<td id="projectalign" style="padding-left: 0.5em;">
|
|
24
|
+
<div id="projectname">Static Value-Flow Analysis
|
|
25
|
+
</div>
|
|
26
|
+
</td>
|
|
27
|
+
</tr>
|
|
28
|
+
</tbody>
|
|
29
|
+
</table>
|
|
30
|
+
</div>
|
|
31
|
+
<!-- end header part -->
|
|
32
|
+
<!-- Generated by Doxygen 1.8.13 -->
|
|
33
|
+
<script type="text/javascript">
|
|
34
|
+
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
35
|
+
</script>
|
|
36
|
+
<script type="text/javascript" src="menudata.js"></script>
|
|
37
|
+
<script type="text/javascript" src="menu.js"></script>
|
|
38
|
+
<script type="text/javascript">
|
|
39
|
+
$(function() {
|
|
40
|
+
initMenu('',true,false,'search.php','Search');
|
|
41
|
+
$(document).ready(function() { init_search(); });
|
|
42
|
+
});
|
|
43
|
+
</script>
|
|
44
|
+
<div id="main-nav"></div>
|
|
45
|
+
<!-- window showing the filter options -->
|
|
46
|
+
<div id="MSearchSelectWindow"
|
|
47
|
+
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
48
|
+
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
49
|
+
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<!-- iframe showing the search results (closed by default) -->
|
|
53
|
+
<div id="MSearchResultsWindow">
|
|
54
|
+
<iframe src="javascript:void(0)" frameborder="0"
|
|
55
|
+
name="MSearchResults" id="MSearchResults">
|
|
56
|
+
</iframe>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div id="nav-path" class="navpath">
|
|
60
|
+
<ul>
|
|
61
|
+
<li class="navelem"><a class="el" href="namespaceSVF.html">SVF</a></li><li class="navelem"><a class="el" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a></li><li class="navelem"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">Clusterer</a></li> </ul>
|
|
62
|
+
</div>
|
|
63
|
+
</div><!-- top -->
|
|
64
|
+
<div class="header">
|
|
65
|
+
<div class="headertitle">
|
|
66
|
+
<div class="title">SVF::NodeIDAllocator::Clusterer Member List</div> </div>
|
|
67
|
+
</div><!--header-->
|
|
68
|
+
<div class="contents">
|
|
69
|
+
|
|
70
|
+
<p>This is the complete list of members for <a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a>, including all inherited members.</p>
|
|
71
|
+
<table class="directory">
|
|
72
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3556bdda6725b72d0ca88364daeae32e">BestCandidate</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
73
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">cluster</a>(BVDataPTAImpl *pta, const std::vector< std::pair< NodeID, unsigned >> keys, std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, std::string evalSubtitle="")</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
74
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac8c209af1d177cbc8fbbfe4526fe8ce2">condensedIndex</a>(size_t n, size_t i, size_t j)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
75
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a67ab9cffacc1584b2e7bae5d1b08c541">DendrogramTraversalTime</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
76
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3f86e733cc075180e9682887c554b8fa">determineBestMapping</a>(const std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, Map< PointsTo, unsigned > pointsToSets, const std::string &evalSubtitle, double &evalTime)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
77
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a09d2dbb2faab0a0e03bfa353534116a8">DistanceMatrixTime</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
78
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1f74f1e72a844166f742d2d46efbbb5e">DistOccMap</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
79
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856">EvalTime</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
80
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">evaluate</a>(const std::vector< NodeID > &nodeMap, const Map< PointsTo, unsigned > pointsToSets, Map< std::string, std::string > &stats, bool accountForOcc)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
81
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22">FastClusterTime</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
82
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#adf415d244ef1fafe7a7de3c360553c0f">getDistanceMatrix</a>(const std::vector< std::pair< const PointsTo *, unsigned >> pointsToSets, const size_t numObjects, const Map< NodeID, unsigned > &nodeMap, double &distanceMatrixTime)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
83
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">getReverseNodeMapping</a>(const std::vector< NodeID > &nodeMapping)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
84
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a172d72ae4ae45fa2baf2f20ff2b499dc">LargestRegion</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
85
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af3fe4b4098898ee38928c9db30ea0fe9">NewBvNumWords</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
86
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a779446e2fe92518401f1732fb809f066">NewSbvNumWords</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
87
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639">NumGtIntRegions</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
88
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f">NumNonTrivialRegionObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
89
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498">NumObjects</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
90
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac5fe44f10cdbca9754444943a0f5c3c1">NumRegions</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
91
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9">OriginalBvNumWords</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
92
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a639b887e30115c2a6cd108c65f18fcc1">OriginalSbvNumWords</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
93
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">printStats</a>(std::string title, Map< std::string, std::string > &stats)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
94
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad5f733cad8a103a64e80270acb67567a">RegioningTime</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
95
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a7d34542f34a8e8008119c3d61943daa2">regionObjects</a>(const Map< NodeID, Set< NodeID >> &graph, size_t numObjects, size_t &numLabels)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
96
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">requiredBits</a>(const PointsTo &pts)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
97
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad0f0a6b61a044db819c253f8b9ab093e">requiredBits</a>(const size_t n)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
98
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a2a70b98363303cb33d96732f44b4c5c3">TheoreticalNumWords</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
99
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afef85f0ecacd681357b3945f97d52964">TotalTime</a></td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
100
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#abd44e3b07b0482bacf6b1a080fe650c6">traverseDendrogram</a>(std::vector< NodeID > &nodeMap, const int *dendrogram, const size_t numObjects, unsigned &allocCounter, Set< int > &visited, const int index, const std::vector< NodeID > &regionNodeMap)</td><td class="entry"><a class="el" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
|
|
101
|
+
</table></div><!-- contents -->
|
|
102
|
+
<!-- start footer part -->
|
|
103
|
+
<hr class="footer"/><address class="footer"><small>
|
|
104
|
+
Generated by  <a href="http://www.doxygen.org/index.html">
|
|
105
|
+
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
106
|
+
</a> 1.8.13
|
|
107
|
+
</small></address>
|
|
108
|
+
</body>
|
|
109
|
+
</html>
|