svf-tools 1.0.310 → 1.0.314
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Andersen_8cpp.html +1 -0
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +58 -56
- package/SVF-doxygen/html/html/Andersen_8h_source.html +118 -118
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +49 -50
- package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +17 -16
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +16 -16
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ConsG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +10 -10
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExternalPAG_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -5
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +82 -81
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ICFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemModelBuilder_8cpp.html +90 -0
- package/SVF-doxygen/html/html/MemModelBuilder_8cpp_source.html +205 -0
- package/SVF-doxygen/html/html/MemModelBuilder_8h.html +97 -0
- package/SVF-doxygen/html/html/MemModelBuilder_8h_source.html +105 -0
- package/SVF-doxygen/html/html/MemModel_8cpp_source.html +9 -53
- package/SVF-doxygen/html/html/MemModel_8h_source.html +44 -44
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +12 -12
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/PAGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PAGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGNode_8h_source.html +11 -11
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/PAG_8h_source.html +41 -41
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +34 -33
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +66 -66
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SVFModule_8cpp.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/SVFModule_8h.html +3 -0
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +53 -46
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +5 -55
- package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +88 -101
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/TCT_8h_source.html +10 -10
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +135 -136
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +228 -228
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +60 -58
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +73 -72
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +123 -120
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +58 -57
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.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_1IntraMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocObjTypeInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder-members.html +95 -0
- package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder.html +711 -0
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +7 -10
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +92 -199
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +68 -168
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PAG.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PAGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +39 -38
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +153 -116
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- 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_1RetPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule-members.html +1 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +113 -80
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +49 -55
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +300 -587
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
- 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_1VFG.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
- package/SVF-doxygen/html/html/classes.html +91 -91
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_5840dc76920ee0f379cd88b55fa041fd.html +1 -1
- package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +1 -1
- package/SVF-doxygen/html/html/files.html +2 -2
- package/SVF-doxygen/html/html/functions_0x7e.html +5 -8
- package/SVF-doxygen/html/html/functions_a.html +13 -10
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_c.html +38 -36
- package/SVF-doxygen/html/html/functions_e.html +1 -1
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +12 -9
- package/SVF-doxygen/html/html/functions_func_0x7e.html +5 -8
- package/SVF-doxygen/html/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_c.html +28 -26
- package/SVF-doxygen/html/html/functions_func_e.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +11 -13
- package/SVF-doxygen/html/html/functions_func_h.html +3 -3
- package/SVF-doxygen/html/html/functions_func_i.html +8 -7
- package/SVF-doxygen/html/html/functions_func_l.html +2 -8
- package/SVF-doxygen/html/html/functions_func_m.html +4 -1
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +8 -5
- package/SVF-doxygen/html/html/functions_func_v.html +0 -3
- package/SVF-doxygen/html/html/functions_g.html +6 -8
- package/SVF-doxygen/html/html/functions_h.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +15 -14
- package/SVF-doxygen/html/html/functions_l.html +6 -10
- package/SVF-doxygen/html/html/functions_m.html +5 -1
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +13 -9
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_rela.html +3 -0
- package/SVF-doxygen/html/html/functions_s.html +20 -14
- package/SVF-doxygen/html/html/functions_t.html +4 -4
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +2 -5
- package/SVF-doxygen/html/html/functions_vars_l.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_s.html +2 -1
- package/SVF-doxygen/html/html/functions_w.html +3 -1
- package/SVF-doxygen/html/html/hierarchy.html +127 -128
- package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +1 -3
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +40 -39
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +3 -2
- package/SVF-doxygen/html/html/search/all_10.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +9 -8
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +0 -1
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_1b.js +3 -4
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +11 -10
- package/SVF-doxygen/html/html/search/all_5.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_8.js +3 -3
- package/SVF-doxygen/html/html/search/all_9.js +4 -3
- package/SVF-doxygen/html/html/search/all_c.js +4 -7
- package/SVF-doxygen/html/html/search/all_d.js +4 -1
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/classes_9.js +1 -3
- package/SVF-doxygen/html/html/search/classes_a.js +1 -0
- package/SVF-doxygen/html/html/search/files_8.js +1 -3
- package/SVF-doxygen/html/html/search/files_9.js +2 -0
- package/SVF-doxygen/html/html/search/functions_0.js +3 -2
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -0
- package/SVF-doxygen/html/html/search/functions_13.js +0 -1
- package/SVF-doxygen/html/html/search/functions_16.js +3 -4
- package/SVF-doxygen/html/html/search/functions_2.js +10 -9
- package/SVF-doxygen/html/html/search/functions_4.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_7.js +3 -3
- package/SVF-doxygen/html/html/search/functions_8.js +2 -1
- package/SVF-doxygen/html/html/search/functions_a.js +1 -3
- package/SVF-doxygen/html/html/search/functions_b.js +2 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/related_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +12 -12
- 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_01OfflineConsG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -7
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/Graphs/GenericGraph.h +5 -8
- package/include/MemoryModel/MemModel.h +5 -21
- package/include/MemoryModel/PersistentPointsToCache.h +13 -7
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -0
- package/include/SVF-FE/CHG.h +1 -1
- package/include/SVF-FE/MemModelBuilder.h +102 -0
- package/include/SVF-FE/SymbolTableInfo.h +12 -79
- package/include/Util/NodeIDAllocator.h +1 -1
- package/include/Util/SVFModule.h +16 -0
- package/include/WPA/Andersen.h +2 -7
- package/lib/Graphs/PAG.cpp +3 -10
- package/lib/MemoryModel/MemModel.cpp +10 -436
- package/lib/SVF-FE/CHG.cpp +0 -6
- package/lib/SVF-FE/CPPUtil.cpp +2 -0
- package/lib/SVF-FE/MemModelBuilder.cpp +616 -0
- package/lib/SVF-FE/SymbolTableInfo.cpp +10 -453
- package/lib/Util/NodeIDAllocator.cpp +2 -1
- package/lib/Util/Options.cpp +2 -10
- package/lib/Util/SVFModule.cpp +3 -2
- package/lib/WPA/Andersen.cpp +13 -1
- package/package.json +1 -1
- package/tools/Example/svf-ex.cpp +6 -3
- package/include/SVF-FE/LocMemModel.h +0 -35
- package/lib/SVF-FE/LocMemModel.cpp +0 -31
|
@@ -66,13 +66,14 @@ $(function() {
|
|
|
66
66
|
<div class="title">NodeIDAllocator.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="NodeIDAllocator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- NodeIDAllocator.h -- Allocates node IDs on request ------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#ifndef NODEIDALLOCATOR_H_</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#define NODEIDALLOCATOR_H_</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="fastcluster_8h.html">FastCluster/fastcluster.h</a>"</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>"</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> {</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// Forward declare for the Clusterer.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">class </span>BVDataPTAImpl;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html"> 20</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> {</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228"> 24</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">Strategy</a></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0"> 29</a></span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f"> 31</a></span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"> 36</a></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="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a79ee84d7efb8abbfcd80d31d966ce20b"> 44</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a79ee84d7efb8abbfcd80d31d966ce20b">blackHoleObjectId</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a6a300a5b455fe4b8bace2f1d66fb5f9d"> 45</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a6a300a5b455fe4b8bace2f1d66fb5f9d">constantObjectId</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a535be344f97496d8086e2861ea6dc2ea"> 46</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a535be344f97496d8086e2861ea6dc2ea">blackHolePointerId</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a1e3a98be74d5dfd3b4c1b5f9c0941353"> 47</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a1e3a98be74d5dfd3b4c1b5f9c0941353">nullPointerId</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a> *<span class="keyword">get</span>(void);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#af7952ef5667039c9be86a589419b35a8">unset</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a6ce6b40b8291c6378dda07d943d66e53">allocateObjectId</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#abaff066537f06c4891c199ebfc9624e3">allocateGepObjectId</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> base, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> offset, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a26b5e09e10448694435f74a8b622a7e8">allocateValueId</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ae42c5bb7db4d2142adc2e7e904eb36c7">endSymbolAllocation</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89"> 74</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89">getNumObjects</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</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> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">NodeIDAllocator</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f"> 84</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f"> 86</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96"> 88</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62"> 90</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d"> 94</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">Strategy</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64"> 97</a></span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a> *<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html"> 102</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">Clusterer</a></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1f74f1e72a844166f742d2d46efbbb5e"> 107</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<NodePair, std::pair<unsigned, unsigned></a>> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1f74f1e72a844166f742d2d46efbbb5e">DistOccMap</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498"> 111</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498">NumObjects</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad5f733cad8a103a64e80270acb67567a"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad5f733cad8a103a64e80270acb67567a">RegioningTime</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a09d2dbb2faab0a0e03bfa353534116a8"> 113</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a09d2dbb2faab0a0e03bfa353534116a8">DistanceMatrixTime</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22">FastClusterTime</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a67ab9cffacc1584b2e7bae5d1b08c541"> 115</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a67ab9cffacc1584b2e7bae5d1b08c541">DendrogramTraversalTime</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856"> 116</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856">EvalTime</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afef85f0ecacd681357b3945f97d52964"> 117</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afef85f0ecacd681357b3945f97d52964">TotalTime</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a2a70b98363303cb33d96732f44b4c5c3"> 118</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a2a70b98363303cb33d96732f44b4c5c3">TheoreticalNumWords</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9"> 119</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9">OriginalBvNumWords</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a639b887e30115c2a6cd108c65f18fcc1"> 120</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a639b887e30115c2a6cd108c65f18fcc1">OriginalSbvNumWords</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af3fe4b4098898ee38928c9db30ea0fe9"> 121</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af3fe4b4098898ee38928c9db30ea0fe9">NewBvNumWords</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a779446e2fe92518401f1732fb809f066"> 122</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a779446e2fe92518401f1732fb809f066">NewSbvNumWords</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac5fe44f10cdbca9754444943a0f5c3c1"> 123</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac5fe44f10cdbca9754444943a0f5c3c1">NumRegions</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639"> 124</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639">NumGtIntRegions</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a172d72ae4ae45fa2baf2f20ff2b499dc"> 125</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a172d72ae4ae45fa2baf2f20ff2b499dc">LargestRegion</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3556bdda6725b72d0ca88364daeae32e"> 126</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3556bdda6725b72d0ca88364daeae32e">BestCandidate</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f"> 127</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f">NumNonTrivialRegionObjects</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="keyword">public</span>:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">static</span> std::vector<NodeID> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">cluster</a>(<a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> *pta, <span class="keyword">const</span> std::vector<std::pair<NodeID, unsigned>> keys, std::vector<std::pair<<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector<NodeID>>> &candidates, std::string evalSubtitle=<span class="stringliteral">""</span>);</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="comment">// Returns a reverse node mapping for mapping generated by cluster().</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">static</span> std::vector<NodeID> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">getReverseNodeMapping</a>(<span class="keyword">const</span> std::vector<NodeID> &nodeMapping);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">evaluate</a>(<span class="keyword">const</span> std::vector<NodeID> &nodeMap, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<PointsTo, unsigned></a> pointsToSets, <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, std::string></a> &stats, <span class="keywordtype">bool</span> accountForOcc);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">printStats</a>(std::string title, <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, std::string></a> &stats);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac8c209af1d177cbc8fbbfe4526fe8ce2">condensedIndex</a>(<span class="keywordtype">size_t</span> n, <span class="keywordtype">size_t</span> i, <span class="keywordtype">size_t</span> j);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">requiredBits</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pts);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">requiredBits</a>(<span class="keyword">const</span> <span class="keywordtype">size_t</span> n);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> *<a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#adf415d244ef1fafe7a7de3c360553c0f">getDistanceMatrix</a>(<span class="keyword">const</span> std::vector<std::pair<const PointsTo *, unsigned>> pointsToSets,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> numObjects, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<NodeID, unsigned></a> &nodeMap,</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordtype">double</span> &distanceMatrixTime);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#abd44e3b07b0482bacf6b1a080fe650c6">traverseDendrogram</a>(std::vector<NodeID> &nodeMap, <span class="keyword">const</span> <span class="keywordtype">int</span> *dendrogram, <span class="keyword">const</span> <span class="keywordtype">size_t</span> numObjects, <span class="keywordtype">unsigned</span> &allocCounter, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<int></a> &visited, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <span class="keyword">const</span> std::vector<NodeID> &regionNodeMap);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">static</span> <span class="keyword">inline</span> std::vector<unsigned> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a7d34542f34a8e8008119c3d61943daa2">regionObjects</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<NodeID></a>> &graph, <span class="keywordtype">size_t</span> numObjects, <span class="keywordtype">size_t</span> &numLabels);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">// From all the candidates, returns the best mapping for pointsToSets (points-to set -> # occurences).</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">static</span> <span class="keyword">inline</span> std::pair<hclust_fast_methods, std::vector<NodeID>> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3f86e733cc075180e9682887c554b8fa">determineBestMapping</a>(</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keyword">const</span> std::vector<std::pair<<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector<NodeID>>> &candidates,</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<PointsTo, unsigned></a> pointsToSets, <span class="keyword">const</span> std::string &evalSubtitle, <span class="keywordtype">double</span> &evalTime);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  };</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> };</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> } <span class="comment">// namespace SVF</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor">#endif // ifdef NODEIDALLOCATOR_H_</span></div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
|
|
69
|
+
<a href="NodeIDAllocator_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- NodeIDAllocator.h -- Allocates node IDs on request ------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#ifndef NODEIDALLOCATOR_H_</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#define NODEIDALLOCATOR_H_</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#include "<a class="code" href="fastcluster_8h.html">FastCluster/fastcluster.h</a>"</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "<a class="code" href="SVFBasicTypes_8h.html">Util/SVFBasicTypes.h</a>"</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>"</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> {</div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// Forward declare for the Clusterer.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="keyword">class </span>BVDataPTAImpl;</div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> </div><div class="line"><a name="l00020"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html"> 20</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> {</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228"> 24</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">Strategy</a></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  {</div><div class="line"><a name="l00029"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0"> 29</a></span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a9df17b1222681bba5e649895deb726f0">DENSE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f"> 31</a></span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a85142db6ed24203f054117f3a5110e2f">SEQ</a>,</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228a06987883653f3b0961962f2cdda3747f"> 36</a></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="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a79ee84d7efb8abbfcd80d31d966ce20b"> 44</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a79ee84d7efb8abbfcd80d31d966ce20b">blackHoleObjectId</a>;</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a6a300a5b455fe4b8bace2f1d66fb5f9d"> 45</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a6a300a5b455fe4b8bace2f1d66fb5f9d">constantObjectId</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a535be344f97496d8086e2861ea6dc2ea"> 46</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a535be344f97496d8086e2861ea6dc2ea">blackHolePointerId</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a1e3a98be74d5dfd3b4c1b5f9c0941353"> 47</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a1e3a98be74d5dfd3b4c1b5f9c0941353">nullPointerId</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a> *<span class="keyword">get</span>(void);</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#af7952ef5667039c9be86a589419b35a8">unset</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a6ce6b40b8291c6378dda07d943d66e53">allocateObjectId</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#abaff066537f06c4891c199ebfc9624e3">allocateGepObjectId</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> base, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> offset, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a26b5e09e10448694435f74a8b622a7e8">allocateValueId</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a92b053f79cfa1259603836cb0aacad7d">endSymbolAllocation</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89"> 74</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89">getNumObjects</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{ <span class="keywordflow">return</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> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classSVF_1_1NodeIDAllocator.html#ac8d6abc4ee27ae464f3978e4f4bdc3a6">NodeIDAllocator</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f"> 84</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f">numObjects</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f"> 86</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a001c25f6998b8b0a9a7e5e00810e155f">numValues</a>;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96"> 88</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a3a160f4c6e761a130b863a3df0af7f96">numSymbols</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62"> 90</a></span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62">numNodes</a>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d"> 94</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a8cf553cd07768aad3f3b91bf3d7c6228">Strategy</a> <a class="code" href="classSVF_1_1NodeIDAllocator.html#a44420802f9db288515ee09771c3edd4d">strategy</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64"> 97</a></span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1NodeIDAllocator.html">NodeIDAllocator</a> *<a class="code" href="classSVF_1_1NodeIDAllocator.html#a67e85749e539ea34146b197668a4ea64">allocator</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html"> 102</a></span>  <span class="keyword">class </span><a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">Clusterer</a></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1f74f1e72a844166f742d2d46efbbb5e"> 107</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<NodePair, std::pair<unsigned, unsigned></a>> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1f74f1e72a844166f742d2d46efbbb5e">DistOccMap</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498"> 111</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498">NumObjects</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad5f733cad8a103a64e80270acb67567a"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad5f733cad8a103a64e80270acb67567a">RegioningTime</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a09d2dbb2faab0a0e03bfa353534116a8"> 113</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a09d2dbb2faab0a0e03bfa353534116a8">DistanceMatrixTime</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22">FastClusterTime</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a67ab9cffacc1584b2e7bae5d1b08c541"> 115</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a67ab9cffacc1584b2e7bae5d1b08c541">DendrogramTraversalTime</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856"> 116</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856">EvalTime</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afef85f0ecacd681357b3945f97d52964"> 117</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afef85f0ecacd681357b3945f97d52964">TotalTime</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a2a70b98363303cb33d96732f44b4c5c3"> 118</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a2a70b98363303cb33d96732f44b4c5c3">TheoreticalNumWords</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9"> 119</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9">OriginalBvNumWords</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a639b887e30115c2a6cd108c65f18fcc1"> 120</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a639b887e30115c2a6cd108c65f18fcc1">OriginalSbvNumWords</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af3fe4b4098898ee38928c9db30ea0fe9"> 121</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af3fe4b4098898ee38928c9db30ea0fe9">NewBvNumWords</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a779446e2fe92518401f1732fb809f066"> 122</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a779446e2fe92518401f1732fb809f066">NewSbvNumWords</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac5fe44f10cdbca9754444943a0f5c3c1"> 123</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac5fe44f10cdbca9754444943a0f5c3c1">NumRegions</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639"> 124</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639">NumGtIntRegions</a>;</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a172d72ae4ae45fa2baf2f20ff2b499dc"> 125</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a172d72ae4ae45fa2baf2f20ff2b499dc">LargestRegion</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3556bdda6725b72d0ca88364daeae32e"> 126</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3556bdda6725b72d0ca88364daeae32e">BestCandidate</a>;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f"> 127</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> std::string <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f">NumNonTrivialRegionObjects</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="keyword">public</span>:</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keyword">static</span> std::vector<NodeID> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">cluster</a>(<a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> *pta, <span class="keyword">const</span> std::vector<std::pair<NodeID, unsigned>> keys, std::vector<std::pair<<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector<NodeID>>> &candidates, std::string evalSubtitle=<span class="stringliteral">""</span>);</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="comment">// Returns a reverse node mapping for mapping generated by cluster().</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">static</span> std::vector<NodeID> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">getReverseNodeMapping</a>(<span class="keyword">const</span> std::vector<NodeID> &nodeMapping);</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">evaluate</a>(<span class="keyword">const</span> std::vector<NodeID> &nodeMap, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<PointsTo, unsigned></a> pointsToSets, <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, std::string></a> &stats, <span class="keywordtype">bool</span> accountForOcc);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">printStats</a>(std::string title, <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, std::string></a> &stats);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac8c209af1d177cbc8fbbfe4526fe8ce2">condensedIndex</a>(<span class="keywordtype">size_t</span> n, <span class="keywordtype">size_t</span> i, <span class="keywordtype">size_t</span> j);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">requiredBits</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &pts);</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">requiredBits</a>(<span class="keyword">const</span> <span class="keywordtype">size_t</span> n);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">double</span> *<a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#adf415d244ef1fafe7a7de3c360553c0f">getDistanceMatrix</a>(<span class="keyword">const</span> std::vector<std::pair<const PointsTo *, unsigned>> pointsToSets,</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keyword">const</span> <span class="keywordtype">size_t</span> numObjects, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<NodeID, unsigned></a> &nodeMap,</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordtype">double</span> &distanceMatrixTime);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#abd44e3b07b0482bacf6b1a080fe650c6">traverseDendrogram</a>(std::vector<NodeID> &nodeMap, <span class="keyword">const</span> <span class="keywordtype">int</span> *dendrogram, <span class="keyword">const</span> <span class="keywordtype">size_t</span> numObjects, <span class="keywordtype">unsigned</span> &allocCounter, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<int></a> &visited, <span class="keyword">const</span> <span class="keywordtype">int</span> index, <span class="keyword">const</span> std::vector<NodeID> &regionNodeMap);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">static</span> <span class="keyword">inline</span> std::vector<unsigned> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a7d34542f34a8e8008119c3d61943daa2">regionObjects</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<NodeID></a>> &graph, <span class="keywordtype">size_t</span> numObjects, <span class="keywordtype">size_t</span> &numLabels);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">// From all the candidates, returns the best mapping for pointsToSets (points-to set -> # occurences).</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">static</span> <span class="keyword">inline</span> std::pair<hclust_fast_methods, std::vector<NodeID>> <a class="code" href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3f86e733cc075180e9682887c554b8fa">determineBestMapping</a>(</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keyword">const</span> std::vector<std::pair<<a class="code" href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a>, std::vector<NodeID>>> &candidates,</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<PointsTo, unsigned></a> pointsToSets, <span class="keyword">const</span> std::string &evalSubtitle, <span class="keywordtype">double</span> &evalTime);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  };</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> };</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> } <span class="comment">// namespace SVF</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor">#endif // ifdef NODEIDALLOCATOR_H_</span></div><div class="ttc" id="classSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ad7cb36a1f0f67864fb8290e9dfd7b639"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639">SVF::NodeIDAllocator::Clusterer::NumGtIntRegions</a></div><div class="ttdeci">static const std::string NumGtIntRegions</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00124">NodeIDAllocator.h:124</a></div></div>
|
|
71
71
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html">SVF::NodeIDAllocator</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00020">NodeIDAllocator.h:20</a></div></div>
|
|
72
72
|
<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>
|
|
73
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a9aea96839c51ac1e2cbf4813174bb21c"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">SVF::NodeIDAllocator::Clusterer::requiredBits</a></div><div class="ttdeci">static unsigned requiredBits(const PointsTo &pts)</div><div class="ttdoc">Returns the minimum number of bits required to represent pts in a perfect world. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
73
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a9aea96839c51ac1e2cbf4813174bb21c"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a9aea96839c51ac1e2cbf4813174bb21c">SVF::NodeIDAllocator::Clusterer::requiredBits</a></div><div class="ttdeci">static unsigned requiredBits(const PointsTo &pts)</div><div class="ttdoc">Returns the minimum number of bits required to represent pts in a perfect world. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00406">NodeIDAllocator.cpp:406</a></div></div>
|
|
74
74
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a67ab9cffacc1584b2e7bae5d1b08c541"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a67ab9cffacc1584b2e7bae5d1b08c541">SVF::NodeIDAllocator::Clusterer::DendrogramTraversalTime</a></div><div class="ttdeci">static const std::string DendrogramTraversalTime</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00115">NodeIDAllocator.h:115</a></div></div>
|
|
75
|
-
<div class="ttc" id="
|
|
75
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a92b053f79cfa1259603836cb0aacad7d"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a92b053f79cfa1259603836cb0aacad7d">SVF::NodeIDAllocator::endSymbolAllocation</a></div><div class="ttdeci">NodeID endSymbolAllocation(void)</div><div class="ttdoc">Notify the allocator that all symbols have had IDs allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00151">NodeIDAllocator.cpp:151</a></div></div>
|
|
76
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_acbbc5c04c79846fe1cc46a3bd5a65aba"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#acbbc5c04c79846fe1cc46a3bd5a65aba">SVF::NodeIDAllocator::Clusterer::evaluate</a></div><div class="ttdeci">static void evaluate(const std::vector< NodeID > &nodeMap, const Map< PointsTo, unsigned > pointsToSets, Map< std::string, std::string > &stats, bool accountForOcc)</div><div class="ttdoc">Fills in *NumWords statistics in stats.. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00561">NodeIDAllocator.cpp:561</a></div></div>
|
|
76
77
|
<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>
|
|
77
78
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_af2786eae11ee13845da336ad23bc97e9"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af2786eae11ee13845da336ad23bc97e9">SVF::NodeIDAllocator::Clusterer::OriginalBvNumWords</a></div><div class="ttdeci">static const std::string OriginalBvNumWords</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00119">NodeIDAllocator.h:119</a></div></div>
|
|
78
79
|
<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>
|
|
@@ -86,13 +87,13 @@ $(function() {
|
|
|
86
87
|
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
|
|
87
88
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_abaff066537f06c4891c199ebfc9624e3"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#abaff066537f06c4891c199ebfc9624e3">SVF::NodeIDAllocator::allocateGepObjectId</a></div><div class="ttdeci">NodeID allocateGepObjectId(NodeID base, u32_t offset, u32_t maxFieldLimit)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00081">NodeIDAllocator.cpp:81</a></div></div>
|
|
88
89
|
<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>
|
|
89
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac10cbda6a84ce890c9946a5ff35800b7"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">SVF::NodeIDAllocator::Clusterer::printStats</a></div><div class="ttdeci">static void printStats(std::string title, Map< std::string, std::string > &stats)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
90
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac10cbda6a84ce890c9946a5ff35800b7"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7">SVF::NodeIDAllocator::Clusterer::printStats</a></div><div class="ttdeci">static void printStats(std::string title, Map< std::string, std::string > &stats)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00679">NodeIDAllocator.cpp:679</a></div></div>
|
|
90
91
|
<div class="ttc" id="SVFBasicTypes_8h_html"><div class="ttname"><a href="SVFBasicTypes_8h.html">SVFBasicTypes.h</a></div></div>
|
|
91
92
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ae78d2b60035350c634f6f58d7a043c22"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22">SVF::NodeIDAllocator::Clusterer::FastClusterTime</a></div><div class="ttdeci">static const std::string FastClusterTime</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00114">NodeIDAllocator.h:114</a></div></div>
|
|
92
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a3f86e733cc075180e9682887c554b8fa"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3f86e733cc075180e9682887c554b8fa">SVF::NodeIDAllocator::Clusterer::determineBestMapping</a></div><div class="ttdeci">static std::pair< hclust_fast_methods, std::vector< NodeID > > determineBestMapping(const std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, Map< PointsTo, unsigned > pointsToSets, const std::string &evalSubtitle, double &evalTime)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
93
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a7d34542f34a8e8008119c3d61943daa2"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a7d34542f34a8e8008119c3d61943daa2">SVF::NodeIDAllocator::Clusterer::regionObjects</a></div><div class="ttdeci">static std::vector< unsigned > regionObjects(const Map< NodeID, Set< NodeID >> &graph, size_t numObjects, size_t &numLabels)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
93
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a3f86e733cc075180e9682887c554b8fa"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a3f86e733cc075180e9682887c554b8fa">SVF::NodeIDAllocator::Clusterer::determineBestMapping</a></div><div class="ttdeci">static std::pair< hclust_fast_methods, std::vector< NodeID > > determineBestMapping(const std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, Map< PointsTo, unsigned > pointsToSets, const std::string &evalSubtitle, double &evalTime)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00639">NodeIDAllocator.cpp:639</a></div></div>
|
|
94
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a7d34542f34a8e8008119c3d61943daa2"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a7d34542f34a8e8008119c3d61943daa2">SVF::NodeIDAllocator::Clusterer::regionObjects</a></div><div class="ttdeci">static std::vector< unsigned > regionObjects(const Map< NodeID, Set< NodeID >> &graph, size_t numObjects, size_t &numLabels)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00521">NodeIDAllocator.cpp:521</a></div></div>
|
|
94
95
|
<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>
|
|
95
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a33d502a0bd49307cd824e34b73157b9b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">SVF::NodeIDAllocator::Clusterer::cluster</a></div><div class="ttdeci">static std::vector< NodeID > cluster(BVDataPTAImpl *pta, const std::vector< std::pair< NodeID, unsigned >> keys, std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, std::string evalSubtitle="")</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
96
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a33d502a0bd49307cd824e34b73157b9b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a33d502a0bd49307cd824e34b73157b9b">SVF::NodeIDAllocator::Clusterer::cluster</a></div><div class="ttdeci">static std::vector< NodeID > cluster(BVDataPTAImpl *pta, const std::vector< std::pair< NodeID, unsigned >> keys, std::vector< std::pair< hclust_fast_methods, std::vector< NodeID >>> &candidates, std::string evalSubtitle="")</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00175">NodeIDAllocator.cpp:175</a></div></div>
|
|
96
97
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00095">SVFBasicTypes.h:95</a></div></div>
|
|
97
98
|
<div class="ttc" id="fastcluster_8h_html_a4205a14ad66b3320d2e94c61d74913dd"><div class="ttname"><a href="fastcluster_8h.html#a4205a14ad66b3320d2e94c61d74913dd">hclust_fast_methods</a></div><div class="ttdeci">hclust_fast_methods</div><div class="ttdef"><b>Definition:</b> <a href="fastcluster_8h_source.html#l00065">fastcluster.h:65</a></div></div>
|
|
98
99
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_ad63e43c65cb7d7cac7824f5cede5ec89"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89">SVF::NodeIDAllocator::getNumObjects</a></div><div class="ttdeci">NodeID getNumObjects(void) const</div><div class="ttdoc">Returns the total number of memory objects. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00074">NodeIDAllocator.h:74</a></div></div>
|
|
@@ -106,7 +107,7 @@ $(function() {
|
|
|
106
107
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html">SVF::NodeIDAllocator::Clusterer</a></div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00102">NodeIDAllocator.h:102</a></div></div>
|
|
107
108
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a79ee84d7efb8abbfcd80d31d966ce20b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a79ee84d7efb8abbfcd80d31d966ce20b">SVF::NodeIDAllocator::blackHoleObjectId</a></div><div class="ttdeci">static const NodeID blackHoleObjectId</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00044">NodeIDAllocator.h:44</a></div></div>
|
|
108
109
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a172d72ae4ae45fa2baf2f20ff2b499dc"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a172d72ae4ae45fa2baf2f20ff2b499dc">SVF::NodeIDAllocator::Clusterer::LargestRegion</a></div><div class="ttdeci">static const std::string LargestRegion</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00125">NodeIDAllocator.h:125</a></div></div>
|
|
109
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_adf415d244ef1fafe7a7de3c360553c0f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#adf415d244ef1fafe7a7de3c360553c0f">SVF::NodeIDAllocator::Clusterer::getDistanceMatrix</a></div><div class="ttdeci">static double * getDistanceMatrix(const std::vector< std::pair< const PointsTo *, unsigned >> pointsToSets, const size_t numObjects, const Map< NodeID, unsigned > &nodeMap, double &distanceMatrixTime)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
110
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_adf415d244ef1fafe7a7de3c360553c0f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#adf415d244ef1fafe7a7de3c360553c0f">SVF::NodeIDAllocator::Clusterer::getDistanceMatrix</a></div><div class="ttdeci">static double * getDistanceMatrix(const std::vector< std::pair< const PointsTo *, unsigned >> pointsToSets, const size_t numObjects, const Map< NodeID, unsigned > &nodeMap, double &distanceMatrixTime)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00419">NodeIDAllocator.cpp:419</a></div></div>
|
|
110
111
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a1e3a98be74d5dfd3b4c1b5f9c0941353"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a1e3a98be74d5dfd3b4c1b5f9c0941353">SVF::NodeIDAllocator::nullPointerId</a></div><div class="ttdeci">static const NodeID nullPointerId</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00047">NodeIDAllocator.h:47</a></div></div>
|
|
111
112
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a1f74f1e72a844166f742d2d46efbbb5e"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1f74f1e72a844166f742d2d46efbbb5e">SVF::NodeIDAllocator::Clusterer::DistOccMap</a></div><div class="ttdeci">Map< NodePair, std::pair< unsigned, unsigned > > DistOccMap</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00107">NodeIDAllocator.h:107</a></div></div>
|
|
112
113
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
|
|
@@ -116,18 +117,17 @@ $(function() {
|
|
|
116
117
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a535be344f97496d8086e2861ea6dc2ea"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a535be344f97496d8086e2861ea6dc2ea">SVF::NodeIDAllocator::blackHolePointerId</a></div><div class="ttdeci">static const NodeID blackHolePointerId</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00046">NodeIDAllocator.h:46</a></div></div>
|
|
117
118
|
<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>
|
|
118
119
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a1d98862e19affdd08740f85490d0d856"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856">SVF::NodeIDAllocator::Clusterer::EvalTime</a></div><div class="ttdeci">static const std::string EvalTime</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00116">NodeIDAllocator.h:116</a></div></div>
|
|
119
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_ae42c5bb7db4d2142adc2e7e904eb36c7"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#ae42c5bb7db4d2142adc2e7e904eb36c7">SVF::NodeIDAllocator::endSymbolAllocation</a></div><div class="ttdeci">void endSymbolAllocation(void)</div><div class="ttdoc">Notify the allocator that all symbols have had IDs allocated. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00151">NodeIDAllocator.cpp:151</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a1bf9461c717e8dabaee6a57f3d76d61f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f">SVF::NodeIDAllocator::Clusterer::NumNonTrivialRegionObjects</a></div><div class="ttdeci">static const std::string NumNonTrivialRegionObjects</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00127">NodeIDAllocator.h:127</a></div></div>
|
|
121
121
|
<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>
|
|
122
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac8c209af1d177cbc8fbbfe4526fe8ce2"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac8c209af1d177cbc8fbbfe4526fe8ce2">SVF::NodeIDAllocator::Clusterer::condensedIndex</a></div><div class="ttdeci">static size_t condensedIndex(size_t n, size_t i, size_t j)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
122
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac8c209af1d177cbc8fbbfe4526fe8ce2"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac8c209af1d177cbc8fbbfe4526fe8ce2">SVF::NodeIDAllocator::Clusterer::condensedIndex</a></div><div class="ttdeci">static size_t condensedIndex(size_t n, size_t i, size_t j)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00400">NodeIDAllocator.cpp:400</a></div></div>
|
|
123
123
|
<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>
|
|
124
124
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a26b5e09e10448694435f74a8b622a7e8"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a26b5e09e10448694435f74a8b622a7e8">SVF::NodeIDAllocator::allocateValueId</a></div><div class="ttdeci">NodeID allocateValueId(void)</div><div class="ttdoc">Allocate a value ID as determined by the strategy. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00120">NodeIDAllocator.cpp:120</a></div></div>
|
|
125
125
|
<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>
|
|
126
126
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
|
|
127
127
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_af3fe4b4098898ee38928c9db30ea0fe9"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#af3fe4b4098898ee38928c9db30ea0fe9">SVF::NodeIDAllocator::Clusterer::NewBvNumWords</a></div><div class="ttdeci">static const std::string NewBvNumWords</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00121">NodeIDAllocator.h:121</a></div></div>
|
|
128
128
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_ac5fe44f10cdbca9754444943a0f5c3c1"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac5fe44f10cdbca9754444943a0f5c3c1">SVF::NodeIDAllocator::Clusterer::NumRegions</a></div><div class="ttdeci">static const std::string NumRegions</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8h_source.html#l00123">NodeIDAllocator.h:123</a></div></div>
|
|
129
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a36b25188130f4c21d145c950a70d616f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">SVF::NodeIDAllocator::Clusterer::getReverseNodeMapping</a></div><div class="ttdeci">static std::vector< NodeID > getReverseNodeMapping(const std::vector< NodeID > &nodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
130
|
-
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_abd44e3b07b0482bacf6b1a080fe650c6"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#abd44e3b07b0482bacf6b1a080fe650c6">SVF::NodeIDAllocator::Clusterer::traverseDendrogram</a></div><div class="ttdeci">static void traverseDendrogram(std::vector< NodeID > &nodeMap, const int *dendrogram, const size_t numObjects, unsigned &allocCounter, Set< int > &visited, const int index, const std::vector< NodeID > &regionNodeMap)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#
|
|
129
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_a36b25188130f4c21d145c950a70d616f"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a36b25188130f4c21d145c950a70d616f">SVF::NodeIDAllocator::Clusterer::getReverseNodeMapping</a></div><div class="ttdeci">static std::vector< NodeID > getReverseNodeMapping(const std::vector< NodeID > &nodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00386">NodeIDAllocator.cpp:386</a></div></div>
|
|
130
|
+
<div class="ttc" id="classSVF_1_1NodeIDAllocator_1_1Clusterer_html_abd44e3b07b0482bacf6b1a080fe650c6"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator_1_1Clusterer.html#abd44e3b07b0482bacf6b1a080fe650c6">SVF::NodeIDAllocator::Clusterer::traverseDendrogram</a></div><div class="ttdeci">static void traverseDendrogram(std::vector< NodeID > &nodeMap, const int *dendrogram, const size_t numObjects, unsigned &allocCounter, Set< int > &visited, const int index, const std::vector< NodeID > &regionNodeMap)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00490">NodeIDAllocator.cpp:490</a></div></div>
|
|
131
131
|
</div><!-- fragment --></div><!-- contents -->
|
|
132
132
|
<!-- start footer part -->
|
|
133
133
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -92,7 +92,7 @@ $(function() {
|
|
|
92
92
|
<div class="ttc" id="OfflineConsG_8h_html"><div class="ttname"><a href="OfflineConsG_8h.html">OfflineConsG.h</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">SVF::ConstraintEdge::NormalGep</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
94
94
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html_a9880cb387e24fa2c87297487411f95ea"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a9880cb387e24fa2c87297487411f95ea">SVF::OfflineConsG::StoreEdges</a></div><div class="ttdeci">Set< StoreCGEdge * > StoreEdges</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8h_source.html#l00050">OfflineConsG.h:50</a></div></div>
|
|
95
|
-
<div class="ttc" id="structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4_html"><div class="ttname"><a href="structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html">llvm::DOTGraphTraits< PAG * ></a></div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#
|
|
95
|
+
<div class="ttc" id="structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4_html"><div class="ttname"><a href="structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html">llvm::DOTGraphTraits< PAG * ></a></div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l01103">PAG.cpp:1103</a></div></div>
|
|
96
96
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a3a5fdc9330a657240f77199f5aee602d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">SVF::SCCDetection::repNode</a></div><div class="ttdeci">NodeID repNode(NodeID n) const</div><div class="ttdoc">get the rep node if not found return itself </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00139">SCC.h:139</a></div></div>
|
|
97
97
|
<div class="ttc" id="classSVF_1_1PAG_html_a3aa1c92eb8a6fab72996964de80f19ac"><div class="ttname"><a href="classSVF_1_1PAG.html#a3aa1c92eb8a6fab72996964de80f19ac">SVF::PAG::getPAGNode</a></div><div class="ttdeci">PAGNode * getPAGNode(NodeID id) const</div><div class="ttdoc">Get PAGNode ID. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00539">PAG.h:539</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html_ac6197a5515ace76b2d51451f5149aef7"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#ac6197a5515ace76b2d51451f5149aef7">SVF::OfflineConsG::buildOfflineCG</a></div><div class="ttdeci">void buildOfflineCG()</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8cpp_source.html#l00039">OfflineConsG.cpp:39</a></div></div>
|
|
@@ -114,7 +114,7 @@ $(function() {
|
|
|
114
114
|
<div class="ttc" id="classSVF_1_1OfflineConsG_html_a727c635892986998167f30ff23a75f4c"><div class="ttname"><a href="classSVF_1_1OfflineConsG.html#a727c635892986998167f30ff23a75f4c">SVF::OfflineConsG::dump</a></div><div class="ttdeci">void dump(std::string name)</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8cpp_source.html#l00169">OfflineConsG.cpp:169</a></div></div>
|
|
115
115
|
<div class="ttc" id="structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4_html_a046f087794d334eb303a2cea66aad3c3"><div class="ttname"><a href="structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html#a046f087794d334eb303a2cea66aad3c3">llvm::DOTGraphTraits< OfflineConsG * >::getEdgeSourceLabel</a></div><div class="ttdeci">static std::string getEdgeSourceLabel(NodeType *, EdgeIter)</div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8cpp_source.html#l00288">OfflineConsG.cpp:288</a></div></div>
|
|
116
116
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
|
|
117
|
-
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
117
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
118
118
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
119
119
|
<div class="ttc" id="structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4_html_af55f35dde97c37966d9d3396662e00aa"><div class="ttname"><a href="structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html#af55f35dde97c37966d9d3396662e00aa">llvm::DOTGraphTraits< OfflineConsG * >::getGraphName</a></div><div class="ttdeci">static std::string getGraphName(OfflineConsG *)</div><div class="ttdoc">Return name of the graph. </div><div class="ttdef"><b>Definition:</b> <a href="OfflineConsG_8cpp_source.html#l00192">OfflineConsG.cpp:192</a></div></div>
|
|
120
120
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|