svf-tools 1.0.310 → 1.0.314
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Andersen_8cpp.html +1 -0
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +58 -56
- package/SVF-doxygen/html/html/Andersen_8h_source.html +118 -118
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +49 -50
- package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +17 -16
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +16 -16
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ConsG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +10 -10
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExternalPAG_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -5
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +82 -81
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ICFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemModelBuilder_8cpp.html +90 -0
- package/SVF-doxygen/html/html/MemModelBuilder_8cpp_source.html +205 -0
- package/SVF-doxygen/html/html/MemModelBuilder_8h.html +97 -0
- package/SVF-doxygen/html/html/MemModelBuilder_8h_source.html +105 -0
- package/SVF-doxygen/html/html/MemModel_8cpp_source.html +9 -53
- package/SVF-doxygen/html/html/MemModel_8h_source.html +44 -44
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +12 -12
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/PAGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PAGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGNode_8h_source.html +11 -11
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/PAG_8h_source.html +41 -41
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +34 -33
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +66 -66
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SVFModule_8cpp.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/SVFModule_8h.html +3 -0
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +53 -46
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +5 -55
- package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +88 -101
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/TCT_8h_source.html +10 -10
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +135 -136
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +228 -228
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +60 -58
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +73 -72
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +123 -120
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +58 -57
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocObjTypeInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder-members.html +95 -0
- package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder.html +711 -0
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +7 -10
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +92 -199
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +68 -168
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PAG.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PAGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +39 -38
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +153 -116
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule-members.html +1 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +113 -80
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +49 -55
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +300 -587
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
- package/SVF-doxygen/html/html/classes.html +91 -91
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_5840dc76920ee0f379cd88b55fa041fd.html +1 -1
- package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +1 -1
- package/SVF-doxygen/html/html/files.html +2 -2
- package/SVF-doxygen/html/html/functions_0x7e.html +5 -8
- package/SVF-doxygen/html/html/functions_a.html +13 -10
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_c.html +38 -36
- package/SVF-doxygen/html/html/functions_e.html +1 -1
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +12 -9
- package/SVF-doxygen/html/html/functions_func_0x7e.html +5 -8
- package/SVF-doxygen/html/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_c.html +28 -26
- package/SVF-doxygen/html/html/functions_func_e.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +11 -13
- package/SVF-doxygen/html/html/functions_func_h.html +3 -3
- package/SVF-doxygen/html/html/functions_func_i.html +8 -7
- package/SVF-doxygen/html/html/functions_func_l.html +2 -8
- package/SVF-doxygen/html/html/functions_func_m.html +4 -1
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +8 -5
- package/SVF-doxygen/html/html/functions_func_v.html +0 -3
- package/SVF-doxygen/html/html/functions_g.html +6 -8
- package/SVF-doxygen/html/html/functions_h.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +15 -14
- package/SVF-doxygen/html/html/functions_l.html +6 -10
- package/SVF-doxygen/html/html/functions_m.html +5 -1
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +13 -9
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_rela.html +3 -0
- package/SVF-doxygen/html/html/functions_s.html +20 -14
- package/SVF-doxygen/html/html/functions_t.html +4 -4
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +2 -5
- package/SVF-doxygen/html/html/functions_vars_l.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_s.html +2 -1
- package/SVF-doxygen/html/html/functions_w.html +3 -1
- package/SVF-doxygen/html/html/hierarchy.html +127 -128
- package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +1 -3
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +40 -39
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +3 -2
- package/SVF-doxygen/html/html/search/all_10.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +9 -8
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +0 -1
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_1b.js +3 -4
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +11 -10
- package/SVF-doxygen/html/html/search/all_5.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_8.js +3 -3
- package/SVF-doxygen/html/html/search/all_9.js +4 -3
- package/SVF-doxygen/html/html/search/all_c.js +4 -7
- package/SVF-doxygen/html/html/search/all_d.js +4 -1
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/classes_9.js +1 -3
- package/SVF-doxygen/html/html/search/classes_a.js +1 -0
- package/SVF-doxygen/html/html/search/files_8.js +1 -3
- package/SVF-doxygen/html/html/search/files_9.js +2 -0
- package/SVF-doxygen/html/html/search/functions_0.js +3 -2
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -0
- package/SVF-doxygen/html/html/search/functions_13.js +0 -1
- package/SVF-doxygen/html/html/search/functions_16.js +3 -4
- package/SVF-doxygen/html/html/search/functions_2.js +10 -9
- package/SVF-doxygen/html/html/search/functions_4.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_7.js +3 -3
- package/SVF-doxygen/html/html/search/functions_8.js +2 -1
- package/SVF-doxygen/html/html/search/functions_a.js +1 -3
- package/SVF-doxygen/html/html/search/functions_b.js +2 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/related_3.js +1 -0
- package/SVF-doxygen/html/html/search/variables_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +12 -12
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -7
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/Graphs/GenericGraph.h +5 -8
- package/include/MemoryModel/MemModel.h +5 -21
- package/include/MemoryModel/PersistentPointsToCache.h +13 -7
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -0
- package/include/SVF-FE/CHG.h +1 -1
- package/include/SVF-FE/MemModelBuilder.h +102 -0
- package/include/SVF-FE/SymbolTableInfo.h +12 -79
- package/include/Util/NodeIDAllocator.h +1 -1
- package/include/Util/SVFModule.h +16 -0
- package/include/WPA/Andersen.h +2 -7
- package/lib/Graphs/PAG.cpp +3 -10
- package/lib/MemoryModel/MemModel.cpp +10 -436
- package/lib/SVF-FE/CHG.cpp +0 -6
- package/lib/SVF-FE/CPPUtil.cpp +2 -0
- package/lib/SVF-FE/MemModelBuilder.cpp +616 -0
- package/lib/SVF-FE/SymbolTableInfo.cpp +10 -453
- package/lib/Util/NodeIDAllocator.cpp +2 -1
- package/lib/Util/Options.cpp +2 -10
- package/lib/Util/SVFModule.cpp +3 -2
- package/lib/WPA/Andersen.cpp +13 -1
- package/package.json +1 -1
- package/tools/Example/svf-ex.cpp +6 -3
- package/include/SVF-FE/LocMemModel.h +0 -35
- package/lib/SVF-FE/LocMemModel.cpp +0 -31
|
@@ -1228,7 +1228,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1228
1228
|
<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>
|
|
1229
1229
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html">SVF::ICFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8h_source.html#l00039">ICFGBuilder.h:39</a></div></div>
|
|
1230
1230
|
<div class="ttc" id="classSVF_1_1PAG_html_ab18ceda2810981f4d4bb47ac88705577"><div class="ttname"><a href="classSVF_1_1PAG.html#ab18ceda2810981f4d4bb47ac88705577">SVF::PAG::PAGEdgeSet</a></div><div class="ttdeci">Set< const PAGEdge * > PAGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00055">PAG.h:55</a></div></div>
|
|
1231
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
1231
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
|
|
1232
1232
|
<div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
|
|
1233
1233
|
<div class="ttc" id="classSVF_1_1PAG_html_a682355bd8e695faedbe5546f98636ee0"><div class="ttname"><a href="classSVF_1_1PAG.html#a682355bd8e695faedbe5546f98636ee0">SVF::PAG::fromFile</a></div><div class="ttdeci">bool fromFile</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00105">PAG.h:105</a></div></div>
|
|
1234
1234
|
<div class="ttc" id="classSVF_1_1PAG_html_a74f9e22acb40bf952c00168a221c0b00"><div class="ttname"><a href="classSVF_1_1PAG.html#a74f9e22acb40bf952c00168a221c0b00">SVF::PAG::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdoc">Get LLVM Module. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00195">PAG.h:195</a></div></div>
|
|
@@ -1821,8 +1821,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1821
1821
|
</div><div class="memdoc">
|
|
1822
1822
|
|
|
1823
1823
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00798">798</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
1824
|
-
<div class="fragment"><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  {</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a2fede86948eeb07aacfed2575ea329d1">createDummyObj</a>(i,type);</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a2fede86948eeb07aacfed2575ea329d1"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a2fede86948eeb07aacfed2575ea329d1">SVF::SymbolTableInfo::createDummyObj</a></div><div class="ttdeci">const MemObj * createDummyObj(SymID symId, const Type *type)</div><div class="ttdoc">Can only be invoked by PAG::addDummyNode() when creaing PAG from file. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
1825
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
1824
|
+
<div class="fragment"><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  {</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a2fede86948eeb07aacfed2575ea329d1">createDummyObj</a>(i,type);</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a2fede86948eeb07aacfed2575ea329d1"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a2fede86948eeb07aacfed2575ea329d1">SVF::SymbolTableInfo::createDummyObj</a></div><div class="ttdeci">const MemObj * createDummyObj(SymID symId, const Type *type)</div><div class="ttdoc">Can only be invoked by PAG::addDummyNode() when creaing PAG from file. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00233">SymbolTableInfo.h:233</a></div></div>
|
|
1825
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
|
|
1826
1826
|
</div><!-- fragment -->
|
|
1827
1827
|
</div>
|
|
1828
1828
|
</div>
|
|
@@ -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>
|
|
@@ -2034,8 +2034,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2034
2034
|
<div class="ttc" id="classSVF_1_1PAG_html_abe896f8fd3c8adc60bbb1a23862da8df"><div class="ttname"><a href="classSVF_1_1PAG.html#abe896f8fd3c8adc60bbb1a23862da8df">SVF::PAG::memToFieldsMap</a></div><div class="ttdeci">MemObjToFieldsMap memToFieldsMap</div><div class="ttdoc">Map a mem object id to all its fields. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00091">PAG.h:91</a></div></div>
|
|
2035
2035
|
<div class="ttc" id="classSVF_1_1PAG_html_a9e35f1d6a30c6200fb3c0c43ba4f36cb"><div class="ttname"><a href="classSVF_1_1PAG.html#a9e35f1d6a30c6200fb3c0c43ba4f36cb">SVF::PAG::getObjectNode</a></div><div class="ttdeci">NodeID getObjectNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00557">PAG.h:557</a></div></div>
|
|
2036
2036
|
<div class="ttc" id="classSVF_1_1FIObjPN_html"><div class="ttname"><a href="classSVF_1_1FIObjPN.html">SVF::FIObjPN</a></div><div class="ttdef"><b>Definition:</b> <a href="PAGNode_8h_source.html#l00530">PAGNode.h:530</a></div></div>
|
|
2037
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_ae952c8b6b92c6cbef9494a83b411a60f"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae952c8b6b92c6cbef9494a83b411a60f">SVF::MemObj::getRefVal</a></div><div class="ttdeci">const Value * getRefVal() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
2038
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_ad7f7de744715c3acaf3d48822865c87b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">SVF::MemObj::getSymId</a></div><div class="ttdeci">SymID getSymId() const</div><div class="ttdoc">Get the memory object id. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
2037
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_ae952c8b6b92c6cbef9494a83b411a60f"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae952c8b6b92c6cbef9494a83b411a60f">SVF::MemObj::getRefVal</a></div><div class="ttdeci">const Value * getRefVal() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00309">MemModel.h:309</a></div></div>
|
|
2038
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_ad7f7de744715c3acaf3d48822865c87b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">SVF::MemObj::getSymId</a></div><div class="ttdeci">SymID getSymId() const</div><div class="ttdoc">Get the memory object id. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00315">MemModel.h:315</a></div></div>
|
|
2039
2039
|
</div><!-- fragment -->
|
|
2040
2040
|
</div>
|
|
2041
2041
|
</div>
|
|
@@ -2164,7 +2164,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2164
2164
|
<div class="ttc" id="classSVF_1_1PAG_html_abe896f8fd3c8adc60bbb1a23862da8df"><div class="ttname"><a href="classSVF_1_1PAG.html#abe896f8fd3c8adc60bbb1a23862da8df">SVF::PAG::memToFieldsMap</a></div><div class="ttdeci">MemObjToFieldsMap memToFieldsMap</div><div class="ttdoc">Map a mem object id to all its fields. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00091">PAG.h:91</a></div></div>
|
|
2165
2165
|
<div class="ttc" id="classSVF_1_1PAG_html_a9e35f1d6a30c6200fb3c0c43ba4f36cb"><div class="ttname"><a href="classSVF_1_1PAG.html#a9e35f1d6a30c6200fb3c0c43ba4f36cb">SVF::PAG::getObjectNode</a></div><div class="ttdeci">NodeID getObjectNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00557">PAG.h:557</a></div></div>
|
|
2166
2166
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_abaff066537f06c4891c199ebfc9624e3"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#abaff066537f06c4891c199ebfc9624e3">SVF::NodeIDAllocator::allocateGepObjectId</a></div><div class="ttdeci">NodeID allocateGepObjectId(NodeID base, u32_t offset, u32_t maxFieldLimit)</div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00081">NodeIDAllocator.cpp:81</a></div></div>
|
|
2167
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_ae952c8b6b92c6cbef9494a83b411a60f"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae952c8b6b92c6cbef9494a83b411a60f">SVF::MemObj::getRefVal</a></div><div class="ttdeci">const Value * getRefVal() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
2167
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_ae952c8b6b92c6cbef9494a83b411a60f"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae952c8b6b92c6cbef9494a83b411a60f">SVF::MemObj::getRefVal</a></div><div class="ttdeci">const Value * getRefVal() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00309">MemModel.h:309</a></div></div>
|
|
2168
2168
|
<div class="ttc" id="classSVF_1_1StInfo_html_ad6e599717952f8ccc2771cd72254b6b2"><div class="ttname"><a href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">SVF::StInfo::getMaxFieldLimit</a></div><div class="ttdeci">static u32_t getMaxFieldLimit()</div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00088">MemModel.h:88</a></div></div>
|
|
2169
2169
|
<div class="ttc" id="classSVF_1_1LocationSet_html_ab85c3707152e03722bd631b2525f223e"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">SVF::LocationSet::getOffset</a></div><div class="ttdeci">Size_t getOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00194">LocationSet.h:194</a></div></div>
|
|
2170
2170
|
<div class="ttc" id="classSVF_1_1NodeIDAllocator_html_a2bd3ca30fc9669d9a0327544bdb4557b"><div class="ttname"><a href="classSVF_1_1NodeIDAllocator.html#a2bd3ca30fc9669d9a0327544bdb4557b">SVF::NodeIDAllocator::get</a></div><div class="ttdeci">static NodeIDAllocator * get(void)</div><div class="ttdoc">Return (singleton) allocator. </div><div class="ttdef"><b>Definition:</b> <a href="NodeIDAllocator_8cpp_source.html#l00025">NodeIDAllocator.cpp:25</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>
|
|
@@ -2529,8 +2529,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2529
2529
|
|
|
2530
2530
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00752">752</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
2531
2531
|
<div class="fragment"><div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  {</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  MemObj* mem = <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a65f49178a948380c2d6105178509a906">getObj</a>(<a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">getObjSym</a>(val));</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(((mem->getSymId() == i)) && <span class="stringliteral">"not same object id?"</span>);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#ae3ae274db4f5a4f86a0579cb47530f8c">addFIObjNode</a>(mem);</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</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>
|
|
2532
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a65f49178a948380c2d6105178509a906"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a65f49178a948380c2d6105178509a906">SVF::SymbolTableInfo::getObj</a></div><div class="ttdeci">MemObj * getObj(SymID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
2533
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afca5a68d1825326e3ec6302ce0afee66"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">SVF::SymbolTableInfo::getObjSym</a></div><div class="ttdeci">SymID getObjSym(const Value *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
2532
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a65f49178a948380c2d6105178509a906"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a65f49178a948380c2d6105178509a906">SVF::SymbolTableInfo::getObj</a></div><div class="ttdeci">MemObj * getObj(SymID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00285">SymbolTableInfo.h:285</a></div></div>
|
|
2533
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afca5a68d1825326e3ec6302ce0afee66"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">SVF::SymbolTableInfo::getObjSym</a></div><div class="ttdeci">SymID getObjSym(const Value *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00278">SymbolTableInfo.h:278</a></div></div>
|
|
2534
2534
|
<div class="ttc" id="classSVF_1_1PAG_html_ae3ae274db4f5a4f86a0579cb47530f8c"><div class="ttname"><a href="classSVF_1_1PAG.html#ae3ae274db4f5a4f86a0579cb47530f8c">SVF::PAG::addFIObjNode</a></div><div class="ttdeci">NodeID addFIObjNode(const MemObj *obj)</div><div class="ttdoc">Add a field-insensitive node, this method can only invoked by getFIGepObjNode. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00714">PAG.cpp:714</a></div></div>
|
|
2535
2535
|
<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>
|
|
2536
2536
|
</div><!-- fragment -->
|
|
@@ -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,8 +3296,8 @@ 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>  <
|
|
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#
|
|
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
|
+
<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#l00111">SymbolTableInfo.h:111</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 -->
|
|
3303
3303
|
</div>
|
|
@@ -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>
|
|
@@ -3527,7 +3527,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3527
3527
|
</div><div class="memdoc">
|
|
3528
3528
|
|
|
3529
3529
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00717">717</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3530
|
-
<div class="fragment"><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  {</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#a459e2ef671d002ef6edf25cf0bfb7924">getBaseObj</a>(<span class="keywordtype">id</span>)-><a class="code" href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">getSymId</a>();</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  }</div><div class="ttc" id="classSVF_1_1MemObj_html_ad7f7de744715c3acaf3d48822865c87b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">SVF::MemObj::getSymId</a></div><div class="ttdeci">SymID getSymId() const</div><div class="ttdoc">Get the memory object id. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
3530
|
+
<div class="fragment"><div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  {</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#a459e2ef671d002ef6edf25cf0bfb7924">getBaseObj</a>(<span class="keywordtype">id</span>)-><a class="code" href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">getSymId</a>();</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  }</div><div class="ttc" id="classSVF_1_1MemObj_html_ad7f7de744715c3acaf3d48822865c87b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ad7f7de744715c3acaf3d48822865c87b">SVF::MemObj::getSymId</a></div><div class="ttdeci">SymID getSymId() const</div><div class="ttdoc">Get the memory object id. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00315">MemModel.h:315</a></div></div>
|
|
3531
3531
|
<div class="ttc" id="classSVF_1_1PAG_html_a459e2ef671d002ef6edf25cf0bfb7924"><div class="ttname"><a href="classSVF_1_1PAG.html#a459e2ef671d002ef6edf25cf0bfb7924">SVF::PAG::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00721">PAG.h:721</a></div></div>
|
|
3532
3532
|
</div><!-- fragment -->
|
|
3533
3533
|
</div>
|
|
@@ -3653,7 +3653,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3653
3653
|
<p>Get black hole and constant id. </p>
|
|
3654
3654
|
|
|
3655
3655
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00634">634</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3656
|
-
<div class="fragment"><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  {</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a05ca2987d9f8716c24e489bec53502f4">blackholeSymID</a>();</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a05ca2987d9f8716c24e489bec53502f4"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a05ca2987d9f8716c24e489bec53502f4">SVF::SymbolTableInfo::blackholeSymID</a></div><div class="ttdeci">SymID blackholeSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
3656
|
+
<div class="fragment"><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  {</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a05ca2987d9f8716c24e489bec53502f4">blackholeSymID</a>();</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a05ca2987d9f8716c24e489bec53502f4"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a05ca2987d9f8716c24e489bec53502f4">SVF::SymbolTableInfo::blackholeSymID</a></div><div class="ttdeci">SymID blackholeSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00227">SymbolTableInfo.h:227</a></div></div>
|
|
3657
3657
|
<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>
|
|
3658
3658
|
</div><!-- fragment -->
|
|
3659
3659
|
</div>
|
|
@@ -3682,7 +3682,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3682
3682
|
</div><div class="memdoc">
|
|
3683
3683
|
|
|
3684
3684
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00693">693</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3685
|
-
<div class="fragment"><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  {</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aebf96274e1ad2a523981487839a3025e">getBlkObj</a>();</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aebf96274e1ad2a523981487839a3025e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aebf96274e1ad2a523981487839a3025e">SVF::SymbolTableInfo::getBlkObj</a></div><div class="ttdeci">MemObj * getBlkObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
3685
|
+
<div class="fragment"><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  {</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aebf96274e1ad2a523981487839a3025e">getBlkObj</a>();</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aebf96274e1ad2a523981487839a3025e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aebf96274e1ad2a523981487839a3025e">SVF::SymbolTableInfo::getBlkObj</a></div><div class="ttdeci">MemObj * getBlkObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00203">SymbolTableInfo.h:203</a></div></div>
|
|
3686
3686
|
<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>
|
|
3687
3687
|
</div><!-- fragment -->
|
|
3688
3688
|
</div>
|
|
@@ -3711,7 +3711,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3711
3711
|
</div><div class="memdoc">
|
|
3712
3712
|
|
|
3713
3713
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00642">642</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3714
|
-
<div class="fragment"><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a1689fa03795200b501ae3887906e7e72">blkPtrSymID</a>();</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a1689fa03795200b501ae3887906e7e72"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a1689fa03795200b501ae3887906e7e72">SVF::SymbolTableInfo::blkPtrSymID</a></div><div class="ttdeci">SymID blkPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
3714
|
+
<div class="fragment"><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  {</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a1689fa03795200b501ae3887906e7e72">blkPtrSymID</a>();</div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a1689fa03795200b501ae3887906e7e72"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a1689fa03795200b501ae3887906e7e72">SVF::SymbolTableInfo::blkPtrSymID</a></div><div class="ttdeci">SymID blkPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00212">SymbolTableInfo.h:212</a></div></div>
|
|
3715
3715
|
<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>
|
|
3716
3716
|
</div><!-- fragment -->
|
|
3717
3717
|
</div>
|
|
@@ -3954,7 +3954,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3954
3954
|
</div><div class="memdoc">
|
|
3955
3955
|
|
|
3956
3956
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00638">638</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3957
|
-
<div class="fragment"><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  {</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#ab582424fdb6d9674c1bd4466cdfbe497">constantSymID</a>();</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ab582424fdb6d9674c1bd4466cdfbe497"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ab582424fdb6d9674c1bd4466cdfbe497">SVF::SymbolTableInfo::constantSymID</a></div><div class="ttdeci">SymID constantSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
3957
|
+
<div class="fragment"><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  {</div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#ab582424fdb6d9674c1bd4466cdfbe497">constantSymID</a>();</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ab582424fdb6d9674c1bd4466cdfbe497"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ab582424fdb6d9674c1bd4466cdfbe497">SVF::SymbolTableInfo::constantSymID</a></div><div class="ttdeci">SymID constantSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00222">SymbolTableInfo.h:222</a></div></div>
|
|
3958
3958
|
<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>
|
|
3959
3959
|
</div><!-- fragment -->
|
|
3960
3960
|
</div>
|
|
@@ -3983,7 +3983,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
3983
3983
|
</div><div class="memdoc">
|
|
3984
3984
|
|
|
3985
3985
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00697">697</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
3986
|
-
<div class="fragment"><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b">getConstantObj</a>();</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a661eb9ff1839c3af942517808414202b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b">SVF::SymbolTableInfo::getConstantObj</a></div><div class="ttdeci">MemObj * getConstantObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
3986
|
+
<div class="fragment"><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b">getConstantObj</a>();</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a661eb9ff1839c3af942517808414202b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b">SVF::SymbolTableInfo::getConstantObj</a></div><div class="ttdeci">MemObj * getConstantObj() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00207">SymbolTableInfo.h:207</a></div></div>
|
|
3987
3987
|
<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>
|
|
3988
3988
|
</div><!-- fragment -->
|
|
3989
3989
|
</div>
|
|
@@ -4067,9 +4067,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
4067
4067
|
|
|
4068
4068
|
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00800">800</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
4069
4069
|
<div class="fragment"><div class="line"><a name="l00801"></a><span class="lineno"> 801</span> {</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keyword">const</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>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<ObjPN>(node) && <span class="stringliteral">"need an object node"</span>);</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = SVFUtil::cast<ObjPN>(node)->getMemObj();</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="keywordflow">if</span>(mem-><a class="code" href="classSVF_1_1MemObj.html#a9d50a00ff608df21f50b3b2823128901">isFieldInsensitive</a>())</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  {</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> bs;</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  bs.set(<a class="code" href="classSVF_1_1PAG.html#afc69b91408401d2a92d68c3414f3402d">getFIObjNode</a>(mem));</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  <span class="keywordflow">return</span> bs;</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  }</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#a049069cb76eada008e65b71e08ccdf46">getAllFieldsObjNode</a>(mem);</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</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>
|
|
4070
|
-
<div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
4070
|
+
<div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00278">MemModel.h:278</a></div></div>
|
|
4071
4071
|
<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>
|
|
4072
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_a9d50a00ff608df21f50b3b2823128901"><div class="ttname"><a href="classSVF_1_1MemObj.html#a9d50a00ff608df21f50b3b2823128901">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
4072
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_a9d50a00ff608df21f50b3b2823128901"><div class="ttname"><a href="classSVF_1_1MemObj.html#a9d50a00ff608df21f50b3b2823128901">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00321">MemModel.h:321</a></div></div>
|
|
4073
4073
|
<div class="ttc" id="classSVF_1_1PAG_html_afc69b91408401d2a92d68c3414f3402d"><div class="ttname"><a href="classSVF_1_1PAG.html#afc69b91408401d2a92d68c3414f3402d">SVF::PAG::getFIObjNode</a></div><div class="ttdeci">NodeID getFIObjNode(const MemObj *obj) const</div><div class="ttdoc">Get a field-insensitive obj PAG node according to a mem obj. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00619">PAG.h:619</a></div></div>
|
|
4074
4074
|
<div class="ttc" id="classSVF_1_1PAG_html_a049069cb76eada008e65b71e08ccdf46"><div class="ttname"><a href="classSVF_1_1PAG.html#a049069cb76eada008e65b71e08ccdf46">SVF::PAG::getAllFieldsObjNode</a></div><div class="ttdeci">NodeBS & getAllFieldsObjNode(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00778">PAG.cpp:778</a></div></div>
|
|
4075
4075
|
<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>
|
|
@@ -4354,12 +4354,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
4354
4354
|
|
|
4355
4355
|
<p class="definition">Definition at line <a class="el" href="PAG_8cpp_source.html#l00673">673</a> of file <a class="el" href="PAG_8cpp_source.html">PAG.cpp</a>.</p>
|
|
4356
4356
|
<div class="fragment"><div class="line"><a name="l00674"></a><span class="lineno"> 674</span> {</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> base = <a class="code" href="classSVF_1_1PAG.html#a9e35f1d6a30c6200fb3c0c43ba4f36cb">getObjectNode</a>(obj);</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="classSVF_1_1MemObj.html#a9d50a00ff608df21f50b3b2823128901">isFieldInsensitive</a>())</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#afc69b91408401d2a92d68c3414f3402d">getFIObjNode</a>(obj);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span> </div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a> newLS = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a480a7565dcb5d9a94f4b0ffb44b127ee">getModulusOffset</a>(obj,ls);</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="comment">// Base and first field are the same memory location.</span></div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a8dc477d83a142a62b63207f6f240f224">Options::FirstFieldEqBase</a> && newLS.<a class="code" href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">getOffset</a>() == 0) <span class="keywordflow">return</span> base;</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  NodeLocationSetMap::iterator iter = <a class="code" href="classSVF_1_1PAG.html#aac2a1bfebed4b363e9477a3745184a2a">GepObjNodeMap</a>.find(std::make_pair(base, newLS));</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">if</span> (iter == <a class="code" href="classSVF_1_1PAG.html#aac2a1bfebed4b363e9477a3745184a2a">GepObjNodeMap</a>.end())</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#a39028e2fb42dec9e0b25a48400948d48">addGepObjNode</a>(obj, newLS);</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <span class="keywordflow">return</span> iter->second;</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span> </div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div><div class="ttc" id="classSVF_1_1PAG_html_a39028e2fb42dec9e0b25a48400948d48"><div class="ttname"><a href="classSVF_1_1PAG.html#a39028e2fb42dec9e0b25a48400948d48">SVF::PAG::addGepObjNode</a></div><div class="ttdeci">NodeID addGepObjNode(const MemObj *obj, const LocationSet &ls)</div><div class="ttdoc">Add a field obj node, this method can only invoked by getGepObjNode. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8cpp_source.html#l00697">PAG.cpp:697</a></div></div>
|
|
4357
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a480a7565dcb5d9a94f4b0ffb44b127ee"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a480a7565dcb5d9a94f4b0ffb44b127ee">SVF::SymbolTableInfo::getModulusOffset</a></div><div class="ttdeci">virtual LocationSet getModulusOffset(const MemObj *obj, const LocationSet &ls)</div><div class="ttdoc">Given an offset from a Gep Instruction, return it modulus offset by considering memory layout...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
4357
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a480a7565dcb5d9a94f4b0ffb44b127ee"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a480a7565dcb5d9a94f4b0ffb44b127ee">SVF::SymbolTableInfo::getModulusOffset</a></div><div class="ttdeci">virtual LocationSet getModulusOffset(const MemObj *obj, const LocationSet &ls)</div><div class="ttdoc">Given an offset from a Gep Instruction, return it modulus offset by considering memory layout...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00358">SymbolTableInfo.cpp:358</a></div></div>
|
|
4358
4358
|
<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>
|
|
4359
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_a9d50a00ff608df21f50b3b2823128901"><div class="ttname"><a href="classSVF_1_1MemObj.html#a9d50a00ff608df21f50b3b2823128901">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#
|
|
4359
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_a9d50a00ff608df21f50b3b2823128901"><div class="ttname"><a href="classSVF_1_1MemObj.html#a9d50a00ff608df21f50b3b2823128901">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="MemModel_8h_source.html#l00321">MemModel.h:321</a></div></div>
|
|
4360
4360
|
<div class="ttc" id="classSVF_1_1PAG_html_a9e35f1d6a30c6200fb3c0c43ba4f36cb"><div class="ttname"><a href="classSVF_1_1PAG.html#a9e35f1d6a30c6200fb3c0c43ba4f36cb">SVF::PAG::getObjectNode</a></div><div class="ttdeci">NodeID getObjectNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00557">PAG.h:557</a></div></div>
|
|
4361
4361
|
<div class="ttc" id="classSVF_1_1PAG_html_afc69b91408401d2a92d68c3414f3402d"><div class="ttname"><a href="classSVF_1_1PAG.html#afc69b91408401d2a92d68c3414f3402d">SVF::PAG::getFIObjNode</a></div><div class="ttdeci">NodeID getFIObjNode(const MemObj *obj) const</div><div class="ttdoc">Get a field-insensitive obj PAG node according to a mem obj. </div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00619">PAG.h:619</a></div></div>
|
|
4362
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
4362
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
|
|
4363
4363
|
<div class="ttc" id="classSVF_1_1Options_html_a8dc477d83a142a62b63207f6f240f224"><div class="ttname"><a href="classSVF_1_1Options.html#a8dc477d83a142a62b63207f6f240f224">SVF::Options::FirstFieldEqBase</a></div><div class="ttdeci">static const llvm::cl::opt< bool > FirstFieldEqBase</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00113">Options.h:113</a></div></div>
|
|
4364
4364
|
<div class="ttc" id="classSVF_1_1LocationSet_html_ab85c3707152e03722bd631b2525f223e"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">SVF::LocationSet::getOffset</a></div><div class="ttdeci">Size_t getOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00194">LocationSet.h:194</a></div></div>
|
|
4365
4365
|
<div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00093">LocationSet.h:93</a></div></div>
|
|
@@ -4880,8 +4880,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
4880
4880
|
<p>Get LLVM Module. </p>
|
|
4881
4881
|
|
|
4882
4882
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00195">195</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
4883
|
-
<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a40387a4893ae5caf58d6f786533d2f44">getModule</a>();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a40387a4893ae5caf58d6f786533d2f44"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a40387a4893ae5caf58d6f786533d2f44">SVF::SymbolTableInfo::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
4884
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
4883
|
+
<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a40387a4893ae5caf58d6f786533d2f44">getModule</a>();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a40387a4893ae5caf58d6f786533d2f44"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a40387a4893ae5caf58d6f786533d2f44">SVF::SymbolTableInfo::getModule</a></div><div class="ttdeci">SVFModule * getModule()</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00143">SymbolTableInfo.h:143</a></div></div>
|
|
4884
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00064">SymbolTableInfo.cpp:64</a></div></div>
|
|
4885
4885
|
</div><!-- fragment -->
|
|
4886
4886
|
</div>
|
|
4887
4887
|
</div>
|
|
@@ -4937,7 +4937,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
4937
4937
|
</div><div class="memdoc">
|
|
4938
4938
|
|
|
4939
4939
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00646">646</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
4940
|
-
<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">nullPtrSymID</a>();</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
4940
|
+
<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">nullPtrSymID</a>();</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_adaed6e68c2f53260ed4c4fc38b5c4721"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#adaed6e68c2f53260ed4c4fc38b5c4721">SVF::SymbolTableInfo::nullPtrSymID</a></div><div class="ttdeci">SymID nullPtrSymID() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00217">SymbolTableInfo.h:217</a></div></div>
|
|
4941
4941
|
<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>
|
|
4942
4942
|
</div><!-- fragment -->
|
|
4943
4943
|
</div>
|
|
@@ -5027,7 +5027,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5027
5027
|
<p>getObject - Return the obj node id refer to the memory object for the specified global, heap or alloca instruction according to llvm value. </p>
|
|
5028
5028
|
|
|
5029
5029
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00557">557</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5030
|
-
<div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">getObjSym</a>(V);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afca5a68d1825326e3ec6302ce0afee66"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">SVF::SymbolTableInfo::getObjSym</a></div><div class="ttdeci">SymID getObjSym(const Value *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5030
|
+
<div class="fragment"><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  {</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">getObjSym</a>(V);</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afca5a68d1825326e3ec6302ce0afee66"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66">SVF::SymbolTableInfo::getObjSym</a></div><div class="ttdeci">SymID getObjSym(const Value *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00278">SymbolTableInfo.h:278</a></div></div>
|
|
5031
5031
|
<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>
|
|
5032
5032
|
</div><!-- fragment -->
|
|
5033
5033
|
</div>
|
|
@@ -5086,7 +5086,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5086
5086
|
</div><div class="memdoc">
|
|
5087
5087
|
|
|
5088
5088
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00452">452</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5089
|
-
<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a929a20dc8f2eb4d82e93938b8339d697">idToObjMap</a>().size();</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a929a20dc8f2eb4d82e93938b8339d697"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a929a20dc8f2eb4d82e93938b8339d697">SVF::SymbolTableInfo::idToObjMap</a></div><div class="ttdeci">IDToMemMapTy & idToObjMap()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5089
|
+
<div class="fragment"><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  {</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a929a20dc8f2eb4d82e93938b8339d697">idToObjMap</a>().size();</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a929a20dc8f2eb4d82e93938b8339d697"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a929a20dc8f2eb4d82e93938b8339d697">SVF::SymbolTableInfo::idToObjMap</a></div><div class="ttdeci">IDToMemMapTy & idToObjMap()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00331">SymbolTableInfo.h:331</a></div></div>
|
|
5090
5090
|
<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>
|
|
5091
5091
|
</div><!-- fragment -->
|
|
5092
5092
|
</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>
|
|
@@ -5332,7 +5332,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5332
5332
|
<p>GetReturnNode - Return the unique node representing the return value of a function. </p>
|
|
5333
5333
|
|
|
5334
5334
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00604">604</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5335
|
-
<div class="fragment"><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#afc8b0b6aea972f34a0c099b75114b81e">getRetSym</a>(func->getLLVMFun());</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afc8b0b6aea972f34a0c099b75114b81e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afc8b0b6aea972f34a0c099b75114b81e">SVF::SymbolTableInfo::getRetSym</a></div><div class="ttdeci">SymID getRetSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5335
|
+
<div class="fragment"><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#afc8b0b6aea972f34a0c099b75114b81e">getRetSym</a>(func->getLLVMFun());</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_afc8b0b6aea972f34a0c099b75114b81e"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#afc8b0b6aea972f34a0c099b75114b81e">SVF::SymbolTableInfo::getRetSym</a></div><div class="ttdeci">SymID getRetSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00292">SymbolTableInfo.h:292</a></div></div>
|
|
5336
5336
|
<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>
|
|
5337
5337
|
</div><!-- fragment -->
|
|
5338
5338
|
</div>
|
|
@@ -5458,7 +5458,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5458
5458
|
<p>getNode - Return the node corresponding to the specified pointer. </p>
|
|
5459
5459
|
|
|
5460
5460
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00547">547</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5461
|
-
<div class="fragment"><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  {</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161">getValSym</a>(V);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec7ee137f828c9d61a11df7fc2241161"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161">SVF::SymbolTableInfo::getValSym</a></div><div class="ttdeci">SymID getValSym(const Value *val)</div><div class="ttdoc">Get different kinds of syms. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5461
|
+
<div class="fragment"><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  {</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161">getValSym</a>(V);</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec7ee137f828c9d61a11df7fc2241161"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec7ee137f828c9d61a11df7fc2241161">SVF::SymbolTableInfo::getValSym</a></div><div class="ttdeci">SymID getValSym(const Value *val)</div><div class="ttdoc">Get different kinds of syms. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00244">SymbolTableInfo.h:244</a></div></div>
|
|
5462
5462
|
<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>
|
|
5463
5463
|
</div><!-- fragment -->
|
|
5464
5464
|
</div>
|
|
@@ -5487,7 +5487,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5487
5487
|
</div><div class="memdoc">
|
|
5488
5488
|
|
|
5489
5489
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00448">448</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5490
|
-
<div class="fragment"><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a8f3cb8a1db34dd692ee04561f4edeebf">valSyms</a>().size();</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8f3cb8a1db34dd692ee04561f4edeebf"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8f3cb8a1db34dd692ee04561f4edeebf">SVF::SymbolTableInfo::valSyms</a></div><div class="ttdeci">ValueToIDMapTy & valSyms()</div><div class="ttdoc">Get different kinds of syms maps. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5490
|
+
<div class="fragment"><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  {</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a8f3cb8a1db34dd692ee04561f4edeebf">valSyms</a>().size();</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a8f3cb8a1db34dd692ee04561f4edeebf"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a8f3cb8a1db34dd692ee04561f4edeebf">SVF::SymbolTableInfo::valSyms</a></div><div class="ttdeci">ValueToIDMapTy & valSyms()</div><div class="ttdoc">Get different kinds of syms maps. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00321">SymbolTableInfo.h:321</a></div></div>
|
|
5491
5491
|
<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>
|
|
5492
5492
|
</div><!-- fragment -->
|
|
5493
5493
|
</div>
|
|
@@ -5519,7 +5519,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5519
5519
|
<p>getVarargNode - Return the unique node representing the variadic argument of a variadic function. </p>
|
|
5520
5520
|
|
|
5521
5521
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00609">609</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5522
|
-
<div class="fragment"><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  {</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aec3fd21a11f760ca8684e390c6948f02">getVarargSym</a>(func->getLLVMFun());</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec3fd21a11f760ca8684e390c6948f02"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec3fd21a11f760ca8684e390c6948f02">SVF::SymbolTableInfo::getVarargSym</a></div><div class="ttdeci">SymID getVarargSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5522
|
+
<div class="fragment"><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  {</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#aec3fd21a11f760ca8684e390c6948f02">getVarargSym</a>(func->getLLVMFun());</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_aec3fd21a11f760ca8684e390c6948f02"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#aec3fd21a11f760ca8684e390c6948f02">SVF::SymbolTableInfo::getVarargSym</a></div><div class="ttdeci">SymID getVarargSym(const Function *val) const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00299">SymbolTableInfo.h:299</a></div></div>
|
|
5523
5523
|
<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>
|
|
5524
5524
|
</div><!-- fragment -->
|
|
5525
5525
|
</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>
|
|
@@ -5791,7 +5791,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5791
5791
|
</div><div class="memdoc">
|
|
5792
5792
|
|
|
5793
5793
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00551">551</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5794
|
-
<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#acbcd5035240fab0b809c3334a27159ae">hasValSym</a>(V);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acbcd5035240fab0b809c3334a27159ae"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acbcd5035240fab0b809c3334a27159ae">SVF::SymbolTableInfo::hasValSym</a></div><div class="ttdeci">bool hasValSym(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5794
|
+
<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  {</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#acbcd5035240fab0b809c3334a27159ae">hasValSym</a>(V);</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acbcd5035240fab0b809c3334a27159ae"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acbcd5035240fab0b809c3334a27159ae">SVF::SymbolTableInfo::hasValSym</a></div><div class="ttdeci">bool hasValSym(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00259">SymbolTableInfo.h:259</a></div></div>
|
|
5795
5795
|
<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>
|
|
5796
5796
|
</div><!-- fragment -->
|
|
5797
5797
|
</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>
|
|
@@ -5887,7 +5887,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5887
5887
|
</div><div class="memdoc">
|
|
5888
5888
|
|
|
5889
5889
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00662">662</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5890
|
-
<div class="fragment"><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  {</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3">SymbolTableInfo::isBlkObj</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad9cdb21e20182f3bc95f04bbb97712f3"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3">SVF::SymbolTableInfo::isBlkObj</a></div><div class="ttdeci">static bool isBlkObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5890
|
+
<div class="fragment"><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  {</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3">SymbolTableInfo::isBlkObj</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad9cdb21e20182f3bc95f04bbb97712f3"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad9cdb21e20182f3bc95f04bbb97712f3">SVF::SymbolTableInfo::isBlkObj</a></div><div class="ttdeci">static bool isBlkObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00183">SymbolTableInfo.h:183</a></div></div>
|
|
5891
5891
|
</div><!-- fragment -->
|
|
5892
5892
|
</div>
|
|
5893
5893
|
</div>
|
|
@@ -5946,7 +5946,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
5946
5946
|
</div><div class="memdoc">
|
|
5947
5947
|
|
|
5948
5948
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00650">650</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
5949
|
-
<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  {</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c">SymbolTableInfo::isBlkPtr</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acba43b6e9cdf07afaf3d30351aa8df7c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c">SVF::SymbolTableInfo::isBlkPtr</a></div><div class="ttdeci">static bool isBlkPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
5949
|
+
<div class="fragment"><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  {</div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c">SymbolTableInfo::isBlkPtr</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_acba43b6e9cdf07afaf3d30351aa8df7c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#acba43b6e9cdf07afaf3d30351aa8df7c">SVF::SymbolTableInfo::isBlkPtr</a></div><div class="ttdeci">static bool isBlkPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00175">SymbolTableInfo.h:175</a></div></div>
|
|
5950
5950
|
</div><!-- fragment -->
|
|
5951
5951
|
</div>
|
|
5952
5952
|
</div>
|
|
@@ -6037,7 +6037,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
6037
6037
|
|
|
6038
6038
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00666">666</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
6039
6039
|
<div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  {</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keyword">const</span> MemObj* obj = <a class="code" href="classSVF_1_1PAG.html#a2b288fce8efa1b0b1b620efec2c96eb6">getObject</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(obj && <span class="stringliteral">"not an object node?"</span>);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b">SymbolTableInfo::isConstantObj</a>(<span class="keywordtype">id</span>) || obj->isConstant();</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</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>
|
|
6040
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a704b917b1e1dbaf9cd758fa9acc1083b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b">SVF::SymbolTableInfo::isConstantObj</a></div><div class="ttdeci">static bool isConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
6040
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a704b917b1e1dbaf9cd758fa9acc1083b"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a704b917b1e1dbaf9cd758fa9acc1083b">SVF::SymbolTableInfo::isConstantObj</a></div><div class="ttdeci">static bool isConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00187">SymbolTableInfo.h:187</a></div></div>
|
|
6041
6041
|
<div class="ttc" id="classSVF_1_1PAG_html_a2b288fce8efa1b0b1b620efec2c96eb6"><div class="ttname"><a href="classSVF_1_1PAG.html#a2b288fce8efa1b0b1b620efec2c96eb6">SVF::PAG::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PAG_8h_source.html#l00589">PAG.h:589</a></div></div>
|
|
6042
6042
|
</div><!-- fragment -->
|
|
6043
6043
|
</div>
|
|
@@ -6155,7 +6155,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
6155
6155
|
</div><div class="memdoc">
|
|
6156
6156
|
|
|
6157
6157
|
<p class="definition">Definition at line <a class="el" href="PAG_8h_source.html#l00654">654</a> of file <a class="el" href="PAG_8h_source.html">PAG.h</a>.</p>
|
|
6158
|
-
<div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  {</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394">SymbolTableInfo::isNullPtr</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad095e4a569d399cadc03ce864f61c394"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394">SVF::SymbolTableInfo::isNullPtr</a></div><div class="ttdeci">static bool isNullPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
6158
|
+
<div class="fragment"><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  {</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394">SymbolTableInfo::isNullPtr</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  }</div><div class="ttc" id="classSVF_1_1SymbolTableInfo_html_ad095e4a569d399cadc03ce864f61c394"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#ad095e4a569d399cadc03ce864f61c394">SVF::SymbolTableInfo::isNullPtr</a></div><div class="ttdeci">static bool isNullPtr(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00179">SymbolTableInfo.h:179</a></div></div>
|
|
6159
6159
|
</div><!-- fragment -->
|
|
6160
6160
|
</div>
|
|
6161
6161
|
</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>
|