svf-tools 1.0.310 → 1.0.311
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/AndersenLCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8h_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8cpp.html +1 -1
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
- 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 +5 -5
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +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 +2 -2
- 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 +8 -8
- 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 +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +4 -4
- 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/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 +4 -4
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +15 -15
- 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 +6 -6
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +27 -27
- package/SVF-doxygen/html/html/PAG_8h_source.html +17 -17
- 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 +8 -8
- 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 +11 -11
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +66 -66
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
- 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_source.html +1 -1
- 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 +7 -7
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +16 -16
- 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/TypeAnalysis_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
- 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 +4 -4
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- 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.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +69 -68
- 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.html +25 -25
- 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 +9 -9
- 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 +20 -20
- 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 +1 -1
- 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_1FlowDDA.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +30 -30
- 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_1GenericGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +58 -57
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.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_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 +17 -17
- 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 +4 -4
- 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_1MemSSA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PAG.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- 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 +15 -15
- 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 +11 -11
- 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 +110 -77
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +7 -7
- 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.html +66 -65
- 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_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +4 -4
- 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 +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +5 -5
- 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/functions_0x7e.html +3 -0
- package/SVF-doxygen/html/html/functions_c.html +27 -26
- package/SVF-doxygen/html/html/functions_func_0x7e.html +3 -0
- package/SVF-doxygen/html/html/functions_func_c.html +11 -10
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +12 -12
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- 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_1_1SVFUtil.html +1 -1
- 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_10.js +5 -5
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +2 -2
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_1b.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/functions_16.js +1 -0
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- 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 +5 -5
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +3 -3
- 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/PersistentPointsToCache.h +13 -7
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -0
- package/include/Util/SVFModule.h +16 -0
- package/lib/Graphs/PAG.cpp +3 -10
- package/lib/SVF-FE/SymbolTableInfo.cpp +3 -0
- package/lib/Util/Options.cpp +2 -2
- package/package.json +1 -1
|
@@ -1997,12 +1997,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1997
1997
|
<div class="ttc" id="classSVF_1_1PAG_html_a7bd46d36d58cc8ec70d8a42e5eb93683"><div class="ttname"><a href="classSVF_1_1PAG.html#a7bd46d36d58cc8ec70d8a42e5eb93683">SVF::PAG::totalPTAPAGEdge</a></div><div class="ttdeci">u32_t totalPTAPAGEdge</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00120">PAG.h:120</a></div></div>
|
|
1998
1998
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1999
1999
|
<div class="ttc" id="classSVF_1_1PAG_html_ae297792b6cf9e7782ef4268f48c01748"><div class="ttname"><a href="classSVF_1_1PAG.html#ae297792b6cf9e7782ef4268f48c01748">SVF::PAG::PTAPAGEdgeKindToSetMap</a></div><div class="ttdeci">PAGEdge::PAGKindToEdgeSetMapTy PTAPAGEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00086">PAG.h:86</a></div></div>
|
|
2000
|
-
<div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
2001
|
-
<div class="ttc" id="classSVF_1_1PAGEdge_html_a3d5a75d4f3792f90bf6ee58776512154"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#a3d5a75d4f3792f90bf6ee58776512154">SVF::PAGEdge::isPTAEdge</a></div><div class="ttdeci">bool isPTAEdge() const</div><div class="ttdoc">Whether src and dst nodes are both of pointer type. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#
|
|
2000
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
|
|
2001
|
+
<div class="ttc" id="classSVF_1_1PAGEdge_html_a3d5a75d4f3792f90bf6ee58776512154"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#a3d5a75d4f3792f90bf6ee58776512154">SVF::PAGEdge::isPTAEdge</a></div><div class="ttdeci">bool isPTAEdge() const</div><div class="ttdoc">Whether src and dst nodes are both of pointer type. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l01005">PAG.cpp:1005</a></div></div>
|
|
2002
2002
|
<div class="ttc" id="classSVF_1_1PAG_html_a32c107e02c73642ff4afd08b6cf22232"><div class="ttname"><a href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">SVF::PAG::PAGEdgeKindToSetMap</a></div><div class="ttdeci">PAGEdge::PAGKindToEdgeSetMapTy PAGEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00085">PAG.h:85</a></div></div>
|
|
2003
2003
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
2004
2004
|
<div class="ttc" id="classSVF_1_1PAGNode_html_a55bca5a9f3efe73feb45920f042e5965"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a55bca5a9f3efe73feb45920f042e5965">SVF::PAGNode::addInEdge</a></div><div class="ttdeci">void addInEdge(PAGEdge *inEdge)</div><div class="ttdoc">add methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00238">PAGNode.h:238</a></div></div>
|
|
2005
|
-
<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#
|
|
2005
|
+
<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>
|
|
2006
2006
|
<div class="ttc" id="SVFBasicTypes_8h_html_a7a295e02c56a93cf9206dd9d3b18dd17"><div class="ttname"><a href="SVFBasicTypes_8h.html#a7a295e02c56a93cf9206dd9d3b18dd17">DPAGBuild</a></div><div class="ttdeci">#define DPAGBuild</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00156">SVFBasicTypes.h:156</a></div></div>
|
|
2007
2007
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
|
|
2008
2008
|
<div class="ttc" id="classSVF_1_1PAGNode_html_aed41d396a1313757176f296e7d72f731"><div class="ttname"><a href="classSVF_1_1PAGNode.html#aed41d396a1313757176f296e7d72f731">SVF::PAGNode::addOutEdge</a></div><div class="ttdeci">void addOutEdge(PAGEdge *outEdge)</div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00245">PAGNode.h:245</a></div></div>
|
|
@@ -2438,7 +2438,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2438
2438
|
<p>Add a <a class="el" href="classSVF_1_1PAG.html">PAG</a> node into Node map </p>
|
|
2439
2439
|
|
|
2440
2440
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00740">740</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
2441
|
-
<div class="fragment"><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  {</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(i,node);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">return</span> i;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph< PAGNode, PAGEdge >::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
2441
|
+
<div class="fragment"><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  {</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(i,node);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordflow">return</span> i;</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph< PAGNode, PAGEdge >::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00380">GenericGraph.h:380</a></div></div>
|
|
2442
2442
|
</div><!-- fragment -->
|
|
2443
2443
|
</div>
|
|
2444
2444
|
</div>
|
|
@@ -2580,7 +2580,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2580
2580
|
|
|
2581
2581
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00823">823</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
2582
2582
|
<div class="fragment"><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  {</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(i) == <span class="keyword">false</span> && <span class="stringliteral">"This NodeID clashes here. Please check NodeIDAllocator. Switch Strategy::DEBUG to SEQ or DENSE"</span>);</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#af97b7459e24b23498acece32fafd82ef">addNode</a>(node,i);</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
2583
|
-
<div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< PAGNode, PAGEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
2583
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< PAGNode, PAGEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00395">GenericGraph.h:395</a></div></div>
|
|
2584
2584
|
<div class="ttc" id="classSVF_1_1PAG_html_af97b7459e24b23498acece32fafd82ef"><div class="ttname"><a href="classSVF_1_1PAG.html#af97b7459e24b23498acece32fafd82ef">SVF::PAG::addNode</a></div><div class="ttdeci">NodeID addNode(PAGNode *node, NodeID i)</div><div class="ttdoc">add node into PAG </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00740">PAG.h:740</a></div></div>
|
|
2585
2585
|
</div><!-- fragment -->
|
|
2586
2586
|
</div>
|
|
@@ -3106,7 +3106,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3106
3106
|
|
|
3107
3107
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00817">817</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3108
3108
|
<div class="fragment"><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  {</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(i) == <span class="keyword">false</span> && <span class="stringliteral">"This NodeID clashes here. Please check NodeIDAllocator. Switch Strategy::DEBUG to SEQ or DENSE"</span>);</div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#af97b7459e24b23498acece32fafd82ef">addNode</a>(node,i);</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
3109
|
-
<div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< PAGNode, PAGEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
3109
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< PAGNode, PAGEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00395">GenericGraph.h:395</a></div></div>
|
|
3110
3110
|
<div class="ttc" id="classSVF_1_1PAG_html_af97b7459e24b23498acece32fafd82ef"><div class="ttname"><a href="classSVF_1_1PAG.html#af97b7459e24b23498acece32fafd82ef">SVF::PAG::addNode</a></div><div class="ttdeci">NodeID addNode(PAGNode *node, NodeID i)</div><div class="ttdoc">add node into PAG </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00740">PAG.h:740</a></div></div>
|
|
3111
3111
|
</div><!-- fragment -->
|
|
3112
3112
|
</div>
|
|
@@ -3296,7 +3296,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3296
3296
|
<p>Clean up memory </p>
|
|
3297
3297
|
|
|
3298
3298
|
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00868">868</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
3299
|
-
<div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span> {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <
|
|
3299
|
+
<div class="fragment"><div class="line"><a name="l00869"></a><span class="lineno"> 869</span> {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <a class="code" href="classSVF_1_1SymbolTableInfo.html#a9f8d99c761f3c7108d797b3702fcbfec">SymbolTableInfo::releaseSymbolInfo</a>();</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span> </div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1PAG.html#aa26d3c84f970deaa76ae404597abf960">icfg</a>;</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <a class="code" href="classSVF_1_1PAG.html#aa26d3c84f970deaa76ae404597abf960">icfg</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span> }</div><div class="ttc" id="classSVF_1_1PAG_html_aa26d3c84f970deaa76ae404597abf960"><div class="ttname"><a href="classSVF_1_1PAG.html#aa26d3c84f970deaa76ae404597abf960">SVF::PAG::icfg</a></div><div class="ttdeci">ICFG * icfg</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00110">PAG.h:110</a></div></div>
|
|
3300
3300
|
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a9f8d99c761f3c7108d797b3702fcbfec"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a9f8d99c761f3c7108d797b3702fcbfec">SVF::SymbolTableInfo::releaseSymbolInfo</a></div><div class="ttdeci">static void releaseSymbolInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00109">SymbolTableInfo.h:109</a></div></div>
|
|
3301
3301
|
<div class="ttc" id="classSVF_1_1PAG_html_acebd1174f9bbeeb35ccfdf87a8f0998a"><div class="ttname"><a href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">SVF::PAG::symInfo</a></div><div class="ttdeci">SymbolTableInfo * symInfo</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00082">PAG.h:82</a></div></div>
|
|
3302
3302
|
</div><!-- fragment -->
|
|
@@ -3321,8 +3321,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3321
3321
|
<p>Dump <a class="el" href="classSVF_1_1PAG.html">PAG</a>. </p>
|
|
3322
3322
|
<p>Dump this <a class="el" href="classSVF_1_1PAG.html">PAG</a> </p>
|
|
3323
3323
|
|
|
3324
|
-
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#
|
|
3325
|
-
<div class="fragment"><div class="line"><a name="
|
|
3324
|
+
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l01076">1076</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
3325
|
+
<div class="fragment"><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> {</div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <a class="code" href="classllvm_1_1GraphPrinter.html#a53b3809728c30389a594076097884b82">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>(), name, <span class="keyword">this</span>);</div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
3326
3326
|
<div class="ttc" id="classllvm_1_1GraphPrinter_html_a53b3809728c30389a594076097884b82"><div class="ttname"><a href="classllvm_1_1GraphPrinter.html#a53b3809728c30389a594076097884b82">llvm::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(llvm::raw_ostream &O, const std::string &GraphName, const GraphType &GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00057">GraphPrinter.h:57</a></div></div>
|
|
3327
3327
|
</div><!-- fragment -->
|
|
3328
3328
|
</div>
|
|
@@ -3354,7 +3354,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3354
3354
|
<p>Get a pag node according to its ID. </p>
|
|
3355
3355
|
|
|
3356
3356
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00517">517</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3357
|
-
<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< PAGNode, PAGEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
3357
|
+
<div class="fragment"><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph< PAGNode, PAGEdge >::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00395">GenericGraph.h:395</a></div></div>
|
|
3358
3358
|
</div><!-- fragment -->
|
|
3359
3359
|
</div>
|
|
3360
3360
|
</div>
|
|
@@ -5147,7 +5147,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5147
5147
|
</div><div class="memdoc">
|
|
5148
5148
|
|
|
5149
5149
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00444">444</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5150
|
-
<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">edgeNum</a>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a2fbc96de5f066469c2739229307bcc0c"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">SVF::GenericGraph< PAGNode, PAGEdge >::edgeNum</a></div><div class="ttdeci">u32_t edgeNum</div><div class="ttdoc">total num of node </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5150
|
+
<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  {</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">edgeNum</a>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a2fbc96de5f066469c2739229307bcc0c"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">SVF::GenericGraph< PAGNode, PAGEdge >::edgeNum</a></div><div class="ttdeci">u32_t edgeNum</div><div class="ttdoc">total num of node </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00436">GenericGraph.h:436</a></div></div>
|
|
5151
5151
|
</div><!-- fragment -->
|
|
5152
5152
|
</div>
|
|
5153
5153
|
</div>
|
|
@@ -5178,7 +5178,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5178
5178
|
<p>Get <a class="el" href="classSVF_1_1PAGNode.html">PAGNode</a> ID. </p>
|
|
5179
5179
|
|
|
5180
5180
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00539">539</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5181
|
-
<div class="fragment"><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph< PAGNode, PAGEdge >::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5181
|
+
<div class="fragment"><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  {</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph< PAGNode, PAGEdge >::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00387">GenericGraph.h:387</a></div></div>
|
|
5182
5182
|
</div><!-- fragment -->
|
|
5183
5183
|
</div>
|
|
5184
5184
|
</div>
|
|
@@ -5208,7 +5208,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5208
5208
|
<p>Node and edge statistics. </p>
|
|
5209
5209
|
|
|
5210
5210
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00440">440</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5211
|
-
<div class="fragment"><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">nodeNum</a>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a38122734cbe71551a420dfb7fee2012e"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">SVF::GenericGraph< PAGNode, PAGEdge >::nodeNum</a></div><div class="ttdeci">u32_t nodeNum</div><div class="ttdoc">total num of edge </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5211
|
+
<div class="fragment"><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  {</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">nodeNum</a>;</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a38122734cbe71551a420dfb7fee2012e"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">SVF::GenericGraph< PAGNode, PAGEdge >::nodeNum</a></div><div class="ttdeci">u32_t nodeNum</div><div class="ttdoc">total num of edge </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00437">GenericGraph.h:437</a></div></div>
|
|
5212
5212
|
</div><!-- fragment -->
|
|
5213
5213
|
</div>
|
|
5214
5214
|
</div>
|
|
@@ -5551,8 +5551,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5551
5551
|
<p><a class="el" href="classSVF_1_1PAG.html">PAG</a> build configurations. </p>
|
|
5552
5552
|
<p>Whether to handle blackhole edge </p>
|
|
5553
5553
|
|
|
5554
|
-
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#
|
|
5555
|
-
<div class="fragment"><div class="line"><a name="
|
|
5554
|
+
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l01092">1092</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
5555
|
+
<div class="fragment"><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> {</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  <a class="code" href="classSVF_1_1Options.html#ad2d3db3e407a53956a5a59cc24eb8d40">Options::HandBlackHole</a> = b;</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> }</div><div class="ttc" id="classSVF_1_1Options_html_ad2d3db3e407a53956a5a59cc24eb8d40"><div class="ttname"><a href="classSVF_1_1Options.html#ad2d3db3e407a53956a5a59cc24eb8d40">SVF::Options::HandBlackHole</a></div><div class="ttdeci">static llvm::cl::opt< bool > HandBlackHole</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00112">Options.h:112</a></div></div>
|
|
5556
5556
|
</div><!-- fragment -->
|
|
5557
5557
|
</div>
|
|
5558
5558
|
</div>
|
|
@@ -5661,7 +5661,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5661
5661
|
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00741">741</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
5662
5662
|
<div class="fragment"><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> {</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <a class="code" href="classSVF_1_1PAGEdge.html">PAGEdge</a> edge(src,dst,<a class="code" href="classSVF_1_1PAGEdge.html#af112ad6555179a592c97a13100f725e5">PAGEdge::makeEdgeFlagWithCallInst</a>(kind,callInst));</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  PAGEdge::PAGEdgeSetTy::iterator it = <a class="code" href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">PAGEdgeKindToSetMap</a>[kind].find(&edge);</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">PAGEdgeKindToSetMap</a>[kind].<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>())</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  {</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="keywordflow">return</span> *it;</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  }</div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> }</div><div class="ttc" id="classSVF_1_1PAGEdge_html"><div class="ttname"><a href="classSVF_1_1PAGEdge.html">SVF::PAGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00047">PAGEdge.h:47</a></div></div>
|
|
5663
5663
|
<div class="ttc" id="classSVF_1_1PAG_html_a32c107e02c73642ff4afd08b6cf22232"><div class="ttname"><a href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">SVF::PAG::PAGEdgeKindToSetMap</a></div><div class="ttdeci">PAGEdge::PAGKindToEdgeSetMapTy PAGEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00085">PAG.h:85</a></div></div>
|
|
5664
|
-
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph< PAGNode, PAGEdge >::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5664
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph< PAGNode, PAGEdge >::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
5665
5665
|
<div class="ttc" id="classSVF_1_1PAGEdge_html_af112ad6555179a592c97a13100f725e5"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#af112ad6555179a592c97a13100f725e5">SVF::PAGEdge::makeEdgeFlagWithCallInst</a></div><div class="ttdeci">static GEdgeFlag makeEdgeFlagWithCallInst(GEdgeKind k, const ICFGNode *cs)</div><div class="ttdoc">Compute the unique edgeFlag value from edge kind and call site Instruction. </div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00139">PAGEdge.h:139</a></div></div>
|
|
5666
5666
|
</div><!-- fragment -->
|
|
5667
5667
|
</div>
|
|
@@ -5702,7 +5702,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5702
5702
|
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00727">727</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
5703
5703
|
<div class="fragment"><div class="line"><a name="l00728"></a><span class="lineno"> 728</span> {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  <a class="code" href="classSVF_1_1PAGEdge.html">PAGEdge</a> edge(src,dst,kind);</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  PAGEdge::PAGEdgeSetTy::iterator it = <a class="code" href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">PAGEdgeKindToSetMap</a>[kind].find(&edge);</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">PAGEdgeKindToSetMap</a>[kind].<a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>())</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  {</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  <span class="keywordflow">return</span> *it;</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  }</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> }</div><div class="ttc" id="classSVF_1_1PAGEdge_html"><div class="ttname"><a href="classSVF_1_1PAGEdge.html">SVF::PAGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00047">PAGEdge.h:47</a></div></div>
|
|
5704
5704
|
<div class="ttc" id="classSVF_1_1PAG_html_a32c107e02c73642ff4afd08b6cf22232"><div class="ttname"><a href="classSVF_1_1PAG.html#a32c107e02c73642ff4afd08b6cf22232">SVF::PAG::PAGEdgeKindToSetMap</a></div><div class="ttdeci">PAGEdge::PAGKindToEdgeSetMapTy PAGEdgeKindToSetMap</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00085">PAG.h:85</a></div></div>
|
|
5705
|
-
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph< PAGNode, PAGEdge >::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5705
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph< PAGNode, PAGEdge >::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
5706
5706
|
</div><!-- fragment -->
|
|
5707
5707
|
</div>
|
|
5708
5708
|
</div>
|
|
@@ -5822,12 +5822,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5822
5822
|
<p>Initialize candidate pointers. </p>
|
|
5823
5823
|
|
|
5824
5824
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00146">146</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5825
|
-
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// collect candidate pointers for demand-driven analysis</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">iterator</a> nIter = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); nIter != <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++nIter)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nIter->first;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">// do not compute points-to for isolated node</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">isValidPointer</a>(nodeId) == <span class="keyword">false</span>)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classSVF_1_1PAG.html#aada10ac92c40951586031271478248c2">candidatePointers</a>.insert(nodeId);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph< PAGNode, PAGEdge >::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5825
|
+
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="comment">// collect candidate pointers for demand-driven analysis</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">iterator</a> nIter = <a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); nIter != <a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++nIter)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = nIter->first;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">// do not compute points-to for isolated node</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">isValidPointer</a>(nodeId) == <span class="keyword">false</span>)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="code" href="classSVF_1_1PAG.html#aada10ac92c40951586031271478248c2">candidatePointers</a>.insert(nodeId);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph< PAGNode, PAGEdge >::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
|
|
5826
5826
|
<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>
|
|
5827
5827
|
<div class="ttc" id="classSVF_1_1PAG_html_aada10ac92c40951586031271478248c2"><div class="ttname"><a href="classSVF_1_1PAG.html#aada10ac92c40951586031271478248c2">SVF::PAG::candidatePointers</a></div><div class="ttdeci">OrderedNodeSet candidatePointers</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00108">PAG.h:108</a></div></div>
|
|
5828
|
-
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph< PAGNode, PAGEdge >::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5829
|
-
<div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph< PAGNode, PAGEdge >::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
5830
|
-
<div class="ttc" id="classSVF_1_1PAG_html_a17fab82554f5a81c22c037b5813999e3"><div class="ttname"><a href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">SVF::PAG::isValidPointer</a></div><div class="ttdeci">bool isValidPointer(NodeID nodeId) const</div><div class="ttdoc">Whether a node is a valid pointer. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#
|
|
5828
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph< PAGNode, PAGEdge >::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
5829
|
+
<div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph< PAGNode, PAGEdge >::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00338">GenericGraph.h:338</a></div></div>
|
|
5830
|
+
<div class="ttc" id="classSVF_1_1PAG_html_a17fab82554f5a81c22c037b5813999e3"><div class="ttname"><a href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">SVF::PAG::isValidPointer</a></div><div class="ttdeci">bool isValidPointer(NodeID nodeId) const</div><div class="ttdoc">Whether a node is a valid pointer. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00971">PAG.cpp:971</a></div></div>
|
|
5831
5831
|
</div><!-- fragment -->
|
|
5832
5832
|
</div>
|
|
5833
5833
|
</div>
|
|
@@ -6239,11 +6239,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
6239
6239
|
|
|
6240
6240
|
<p>Whether a node is a valid pointer. </p>
|
|
6241
6241
|
|
|
6242
|
-
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#
|
|
6243
|
-
<div class="fragment"><div class="line"><a name="
|
|
6244
|
-
<div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
6242
|
+
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00971">971</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
6243
|
+
<div class="fragment"><div class="line"><a name="l00972"></a><span class="lineno"> 972</span> {</div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span>  <a class="code" href="classSVF_1_1PAGNode.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a3aa1c92eb8a6fab72996964de80f19ac">getPAGNode</a>(nodeId);</div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span>  <span class="keywordflow">if</span> ((node-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().empty() && node-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().empty()))</div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span>  <span class="keywordflow">return</span> node-><a class="code" href="classSVF_1_1PAGNode.html#afa5f1f6b3b7ffff2c417d58db7ef6bc2">isPointer</a>();</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span> }</div><div class="ttc" id="classSVF_1_1PAG_html_a50d0968c6a467ab224ebc73d8beff852"><div class="ttname"><a href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">SVF::PAG::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">Singleton pattern here to enable instance of PAG can only be created once. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00102">PAG.h:102</a></div></div>
|
|
6244
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00182">GenericGraph.h:182</a></div></div>
|
|
6245
6245
|
<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>
|
|
6246
|
-
<div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy & getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
6246
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_a2d9cd758d6f8c5189d9b90b74f43e009"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">SVF::GenericNode::getOutEdges</a></div><div class="ttdeci">const GEdgeSetTy & getOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00178">GenericGraph.h:178</a></div></div>
|
|
6247
6247
|
<div class="ttc" id="classSVF_1_1PAGNode_html"><div class="ttname"><a href="classSVF_1_1PAGNode.html">SVF::PAGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00046">PAGNode.h:46</a></div></div>
|
|
6248
6248
|
<div class="ttc" id="classSVF_1_1PAGNode_html_afa5f1f6b3b7ffff2c417d58db7ef6bc2"><div class="ttname"><a href="classSVF_1_1PAGNode.html#afa5f1f6b3b7ffff2c417d58db7ef6bc2">SVF::PAGNode::isPointer</a></div><div class="ttdeci">virtual bool isPointer() const</div><div class="ttdoc">Whether it is a pointer. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00115">PAGNode.h:115</a></div></div>
|
|
6249
6249
|
</div><!-- fragment -->
|
|
@@ -6265,13 +6265,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
6265
6265
|
</table>
|
|
6266
6266
|
</div><div class="memdoc">
|
|
6267
6267
|
|
|
6268
|
-
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#
|
|
6269
|
-
<div class="fragment"><div class="line"><a name="
|
|
6268
|
+
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00979">979</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
6269
|
+
<div class="fragment"><div class="line"><a name="l00980"></a><span class="lineno"> 980</span> {</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keywordflow">if</span> (node-><a class="code" href="classSVF_1_1PAGNode.html#a983d2d9a8ea6fd5be14af55cf22c65ce">isTopLevelPtr</a>())</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  {</div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">isValidPointer</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) && node-><a class="code" href="classSVF_1_1PAGNode.html#a071f592f2b811c136db5e05a6169aa99">hasValue</a>())</div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span>  {</div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#afd690c09e01989e57899875ca97f0166">SVFUtil::ArgInNoCallerFunction</a>(node-><a class="code" href="classSVF_1_1PAGNode.html#a45be6b7b2f1f9754ea47e511e65d46ae">getValue</a>()))</div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span>  }</div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span>  }</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span> }</div><div class="ttc" id="classSVF_1_1PAGNode_html_a45be6b7b2f1f9754ea47e511e65d46ae"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a45be6b7b2f1f9754ea47e511e65d46ae">SVF::PAGNode::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00094">PAGNode.h:94</a></div></div>
|
|
6270
6270
|
<div class="ttc" id="classSVF_1_1PAGNode_html_a071f592f2b811c136db5e05a6169aa99"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a071f592f2b811c136db5e05a6169aa99">SVF::PAGNode::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00110">PAGNode.h:110</a></div></div>
|
|
6271
6271
|
<div class="ttc" id="classSVF_1_1PAGNode_html_a983d2d9a8ea6fd5be14af55cf22c65ce"><div class="ttname"><a href="classSVF_1_1PAGNode.html#a983d2d9a8ea6fd5be14af55cf22c65ce">SVF::PAGNode::isTopLevelPtr</a></div><div class="ttdeci">bool isTopLevelPtr() const</div><div class="ttdoc">Whether it is a top-level pointer. </div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00120">PAGNode.h:120</a></div></div>
|
|
6272
6272
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_afd690c09e01989e57899875ca97f0166"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#afd690c09e01989e57899875ca97f0166">SVF::SVFUtil::ArgInNoCallerFunction</a></div><div class="ttdeci">bool ArgInNoCallerFunction(const Value *val)</div><div class="ttdoc">Return true if the argument in a function does not have a caller. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00490">LLVMUtil.h:490</a></div></div>
|
|
6273
|
-
<div class="ttc" id="classSVF_1_1PAG_html_a17fab82554f5a81c22c037b5813999e3"><div class="ttname"><a href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">SVF::PAG::isValidPointer</a></div><div class="ttdeci">bool isValidPointer(NodeID nodeId) const</div><div class="ttdoc">Whether a node is a valid pointer. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#
|
|
6274
|
-
<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#
|
|
6273
|
+
<div class="ttc" id="classSVF_1_1PAG_html_a17fab82554f5a81c22c037b5813999e3"><div class="ttname"><a href="classSVF_1_1PAG.html#a17fab82554f5a81c22c037b5813999e3">SVF::PAG::isValidPointer</a></div><div class="ttdeci">bool isValidPointer(NodeID nodeId) const</div><div class="ttdoc">Whether a node is a valid pointer. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00971">PAG.cpp:971</a></div></div>
|
|
6274
|
+
<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>
|
|
6275
6275
|
</div><!-- fragment -->
|
|
6276
6276
|
</div>
|
|
6277
6277
|
</div>
|
|
@@ -6333,8 +6333,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
6333
6333
|
<p>Print <a class="el" href="classSVF_1_1PAG.html">PAG</a>. </p>
|
|
6334
6334
|
<p>Print this <a class="el" href="classSVF_1_1PAG.html">PAG</a> graph including its nodes and edges </p>
|
|
6335
6335
|
|
|
6336
|
-
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#
|
|
6337
|
-
<div class="fragment"><div class="line"><a name="l00888"></a><span class="lineno"> 888</span> {</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"-------------------PAG------------------------------------\n"</span>;</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& addrs = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6ac29bb583428e3c20d758bb9cf2d2d626">PAGEdge::Addr</a>);</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = addrs.begin(), eiter =</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  addrs.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  {</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Addr --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  }</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span> </div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& copys = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6af447071283803d3aee763fe20783f4a4">PAGEdge::Copy</a>);</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = copys.begin(), eiter =</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  copys.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  {</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Copy --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  }</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span> </div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& calls = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a5f4c2c1ec167425622d40133ec15448d">PAGEdge::Call</a>);</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = calls.begin(), eiter =</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  calls.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  {</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Call --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  }</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& rets = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a99fe431c7a635d39b5558d1048a94c05">PAGEdge::Ret</a>);</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = rets.begin(), eiter =</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  rets.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  {</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Ret --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  }</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& tdfks = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a1070b34fd19259725d752aa3b5adc73b">PAGEdge::ThreadFork</a>);</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = tdfks.begin(), eiter =</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  tdfks.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  {</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- ThreadFork --> "</span></div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  << (*iter)->getDstID() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  }</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& tdjns = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a8ec550e2cbb5ba5847a0eb0760be165b">PAGEdge::ThreadJoin</a>);</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = tdjns.begin(), eiter =</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  tdjns.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  {</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- ThreadJoin --> "</span></div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  << (*iter)->getDstID() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  }</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span> </div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& ngeps = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a4b8b2eb7125c259d8d550dd83c51147b">PAGEdge::NormalGep</a>);</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = ngeps.begin(), eiter =</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  ngeps.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  {</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  <a class="code" href="classSVF_1_1NormalGepPE.html">NormalGepPE</a>* gep = SVFUtil::cast<NormalGepPE>(*iter);</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << gep-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() << <span class="stringliteral">" -- NormalGep ("</span> << gep-><a class="code" href="classSVF_1_1NormalGepPE.html#a38ac1dd06ada0a04e13a038f8b69e3e5">getOffset</a>()</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  << <span class="stringliteral">") --> "</span> << gep-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  }</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span> </div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& vgeps = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6ad1f40a044008babd44bff30af846550c">PAGEdge::VariantGep</a>);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = vgeps.begin(), eiter =</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  vgeps.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  {</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- VariantGep --> "</span></div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  << (*iter)->getDstID() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  }</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span> </div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& loads = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a8fcebc849a231c3c87dddbf0ab5a2167">PAGEdge::Load</a>);</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = loads.begin(), eiter =</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  loads.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  {</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Load --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  }</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span> </div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& stores = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6aca20a2c4d9809736d43b18f3cb53e8cf">PAGEdge::Store</a>);</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = stores.begin(), eiter =</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  stores.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span>  {</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Store --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span>  }</div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"----------------------------------------------------------\n"</span>;</div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span> </div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span> }</div><div class="ttc" id="classSVF_1_1PAG_html_a50d0968c6a467ab224ebc73d8beff852"><div class="ttname"><a href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">SVF::PAG::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">Singleton pattern here to enable instance of PAG can only be created once. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00102">PAG.h:102</a></div></div>
|
|
6336
|
+
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00880">880</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
6337
|
+
<div class="fragment"><div class="line"><a name="l00881"></a><span class="lineno"> 881</span> {</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span> </div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"-------------------PAG------------------------------------\n"</span>;</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& addrs = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6ac29bb583428e3c20d758bb9cf2d2d626">PAGEdge::Addr</a>);</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = addrs.begin(), eiter =</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  addrs.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  {</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Addr --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& copys = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6af447071283803d3aee763fe20783f4a4">PAGEdge::Copy</a>);</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = copys.begin(), eiter =</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  copys.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  {</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Copy --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  }</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& calls = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a5f4c2c1ec167425622d40133ec15448d">PAGEdge::Call</a>);</div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = calls.begin(), eiter =</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  calls.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  {</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Call --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  }</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span> </div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& rets = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a99fe431c7a635d39b5558d1048a94c05">PAGEdge::Ret</a>);</div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = rets.begin(), eiter =</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  rets.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  {</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Ret --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  }</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span> </div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& tdfks = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a1070b34fd19259725d752aa3b5adc73b">PAGEdge::ThreadFork</a>);</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = tdfks.begin(), eiter =</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  tdfks.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  {</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- ThreadFork --> "</span></div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  << (*iter)->getDstID() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  }</div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span> </div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& tdjns = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a8ec550e2cbb5ba5847a0eb0760be165b">PAGEdge::ThreadJoin</a>);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = tdjns.begin(), eiter =</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  tdjns.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  {</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- ThreadJoin --> "</span></div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  << (*iter)->getDstID() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  }</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span> </div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& ngeps = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a4b8b2eb7125c259d8d550dd83c51147b">PAGEdge::NormalGep</a>);</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = ngeps.begin(), eiter =</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  ngeps.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  {</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <a class="code" href="classSVF_1_1NormalGepPE.html">NormalGepPE</a>* gep = SVFUtil::cast<NormalGepPE>(*iter);</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << gep-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() << <span class="stringliteral">" -- NormalGep ("</span> << gep-><a class="code" href="classSVF_1_1NormalGepPE.html#a38ac1dd06ada0a04e13a038f8b69e3e5">getOffset</a>()</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  << <span class="stringliteral">") --> "</span> << gep-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  }</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& vgeps = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6ad1f40a044008babd44bff30af846550c">PAGEdge::VariantGep</a>);</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = vgeps.begin(), eiter =</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  vgeps.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  {</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- VariantGep --> "</span></div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  << (*iter)->getDstID() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  }</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span> </div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& loads = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a8fcebc849a231c3c87dddbf0ab5a2167">PAGEdge::Load</a>);</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = loads.begin(), eiter =</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  loads.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  {</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Load --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  }</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  <a class="code" href="classSVF_1_1PAGEdge.html#a59eb693c90848382efa1cccb56fe82d3">PAGEdge::PAGEdgeSetTy</a>& stores = <a class="code" href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">pag</a>-><a class="code" href="classSVF_1_1PAG.html#a4b89e254837eca47e09e41cf67dba722">getEdgeSet</a>(<a class="code" href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6aca20a2c4d9809736d43b18f3cb53e8cf">PAGEdge::Store</a>);</div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  <span class="keywordflow">for</span> (PAGEdge::PAGEdgeSetTy::iterator iter = stores.begin(), eiter =</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  stores.end(); iter != eiter; ++iter)</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span>  {</div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << (*iter)->getSrcID() << <span class="stringliteral">" -- Store --> "</span> << (*iter)->getDstID()</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  }</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <span class="stringliteral">"----------------------------------------------------------\n"</span>;</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span> </div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span> }</div><div class="ttc" id="classSVF_1_1PAG_html_a50d0968c6a467ab224ebc73d8beff852"><div class="ttname"><a href="classSVF_1_1PAG.html#a50d0968c6a467ab224ebc73d8beff852">SVF::PAG::pag</a></div><div class="ttdeci">static PAG * pag</div><div class="ttdoc">Singleton pattern here to enable instance of PAG can only be created once. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00102">PAG.h:102</a></div></div>
|
|
6338
6338
|
<div class="ttc" id="classSVF_1_1PAGEdge_html_a79080505b4744aa8806b55215ac2b0f6ad1f40a044008babd44bff30af846550c"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6ad1f40a044008babd44bff30af846550c">SVF::PAGEdge::VariantGep</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00056">PAGEdge.h:56</a></div></div>
|
|
6339
6339
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00077">GenericGraph.h:77</a></div></div>
|
|
6340
6340
|
<div class="ttc" id="classSVF_1_1PAGEdge_html_a79080505b4744aa8806b55215ac2b0f6a1070b34fd19259725d752aa3b5adc73b"><div class="ttname"><a href="classSVF_1_1PAGEdge.html#a79080505b4744aa8806b55215ac2b0f6a1070b34fd19259725d752aa3b5adc73b">SVF::PAGEdge::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGEdge_8h_source.html#l00056">PAGEdge.h:56</a></div></div>
|
|
@@ -6430,8 +6430,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
6430
6430
|
<p>View graph from the debugger. </p>
|
|
6431
6431
|
<p>View <a class="el" href="classSVF_1_1PAG.html">PAG</a> </p>
|
|
6432
6432
|
|
|
6433
|
-
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#
|
|
6434
|
-
<div class="fragment"><div class="line"><a name="
|
|
6433
|
+
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l01084">1084</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
6434
|
+
<div class="fragment"><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> {</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span>  llvm::ViewGraph(<span class="keyword">this</span>, <span class="stringliteral">"ProgramAssignmentGraph"</span>);</div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> }</div></div><!-- fragment -->
|
|
6435
6435
|
</div>
|
|
6436
6436
|
</div>
|
|
6437
6437
|
<h2 class="groupheader">Member Data Documentation</h2>
|