svf-tools 1.0.613 → 1.0.615
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/CMakeLists.txt +13 -0
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/Andersen_8h_source.html +16 -16
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +7 -7
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLVF_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +14 -14
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +9 -9
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +4 -6
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +22 -22
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +27 -28
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +65 -65
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +24 -29
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MHP_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +12 -17
- package/SVF-doxygen/html/html/MTA_8h_source.html +3 -4
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +16 -15
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +53 -52
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -8
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Options_8cpp_source.html +52 -53
- package/SVF-doxygen/html/html/Options_8h_source.html +53 -54
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +33 -33
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +91 -95
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +31 -39
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +85 -92
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +16 -16
- package/SVF-doxygen/html/html/PointsTo_8cpp.html +1 -0
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +51 -51
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +38 -38
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +11 -22
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +14 -17
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +21 -19
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +49 -62
- package/SVF-doxygen/html/html/SVFG_8h_source.html +45 -45
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +10 -16
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +83 -83
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFType_8h.html +22 -22
- package/SVF-doxygen/html/html/SVFType_8h_source.html +76 -77
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -3
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +69 -71
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +39 -39
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +49 -51
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/VFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +33 -33
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +11 -11
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +2 -2
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +25 -25
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -5
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -5
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +187 -188
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +104 -107
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +163 -164
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +47 -50
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +194 -195
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +45 -48
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +204 -205
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +35 -38
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +191 -192
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +29 -32
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +122 -123
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +158 -219
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +137 -138
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +57 -49
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +138 -139
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +140 -141
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallSite-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +114 -114
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +17 -31
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1DFPTData.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1DiffPTData.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +228 -229
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +62 -65
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +194 -195
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +219 -220
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +335 -342
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +20 -14
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +108 -94
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +87 -87
- package/SVF-doxygen/html/html/classSVF_1_1MTA-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +27 -33
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder-members.html +41 -43
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +57 -80
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +54 -54
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +4 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +170 -143
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MutableDiffPTData.html +13 -15
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +17 -18
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +53 -79
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTData.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData-members.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +174 -177
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData-members.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +99 -102
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData-members.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +125 -127
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +83 -86
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +122 -122
- package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData-members.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1PersistentVersionedPTData.html +137 -140
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo-members.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +183 -178
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator-members.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +87 -65
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFArrayType.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +13 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunctionType.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +211 -236
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder-members.html +7 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +50 -138
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +82 -82
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +203 -215
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +79 -79
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIntergerType.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +0 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFPointerType.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +42 -68
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +108 -109
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +146 -146
- package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +48 -61
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +178 -179
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +35 -38
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +42 -46
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +169 -170
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +31 -34
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +263 -264
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +112 -115
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedPTData.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +76 -81
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +2 -2
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/functions.html +1 -1
- package/SVF-doxygen/html/html/functions_0x7e.html +16 -16
- package/SVF-doxygen/html/html/functions_a.html +7 -7
- package/SVF-doxygen/html/html/functions_b.html +6 -6
- package/SVF-doxygen/html/html/functions_c.html +27 -27
- package/SVF-doxygen/html/html/functions_d.html +10 -11
- package/SVF-doxygen/html/html/functions_e.html +2 -2
- package/SVF-doxygen/html/html/functions_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func.html +6 -6
- package/SVF-doxygen/html/html/functions_func_0x7e.html +16 -16
- package/SVF-doxygen/html/html/functions_func_b.html +6 -6
- package/SVF-doxygen/html/html/functions_func_c.html +27 -27
- package/SVF-doxygen/html/html/functions_func_d.html +10 -11
- package/SVF-doxygen/html/html/functions_func_e.html +2 -2
- package/SVF-doxygen/html/html/functions_func_f.html +5 -5
- package/SVF-doxygen/html/html/functions_func_g.html +22 -22
- package/SVF-doxygen/html/html/functions_func_h.html +3 -3
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_o.html +3 -3
- package/SVF-doxygen/html/html/functions_func_p.html +5 -5
- package/SVF-doxygen/html/html/functions_func_r.html +5 -8
- package/SVF-doxygen/html/html/functions_func_s.html +6 -6
- package/SVF-doxygen/html/html/functions_func_t.html +1 -1
- package/SVF-doxygen/html/html/functions_func_u.html +23 -23
- package/SVF-doxygen/html/html/functions_g.html +25 -28
- package/SVF-doxygen/html/html/functions_h.html +3 -3
- package/SVF-doxygen/html/html/functions_i.html +6 -6
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +13 -13
- package/SVF-doxygen/html/html/functions_p.html +19 -19
- package/SVF-doxygen/html/html/functions_r.html +11 -12
- package/SVF-doxygen/html/html/functions_s.html +33 -36
- package/SVF-doxygen/html/html/functions_t.html +12 -12
- package/SVF-doxygen/html/html/functions_type_t.html +1 -1
- package/SVF-doxygen/html/html/functions_u.html +26 -23
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_p.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_s.html +5 -8
- package/SVF-doxygen/html/html/functions_vars_t.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_u.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +3 -7
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +1 -1
- 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 +35 -35
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +4 -4
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -5
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -5
- package/SVF-doxygen/html/html/search/all_0.js +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +15 -15
- package/SVF-doxygen/html/html/search/all_11.js +1 -2
- package/SVF-doxygen/html/html/search/all_12.js +20 -21
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +13 -12
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_19.js +16 -16
- package/SVF-doxygen/html/html/search/all_2.js +6 -6
- package/SVF-doxygen/html/html/search/all_3.js +14 -14
- package/SVF-doxygen/html/html/search/all_4.js +5 -5
- package/SVF-doxygen/html/html/search/all_5.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +5 -5
- package/SVF-doxygen/html/html/search/all_7.js +11 -12
- package/SVF-doxygen/html/html/search/all_8.js +3 -3
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_d.js +3 -3
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +5 -5
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_1.js +6 -6
- package/SVF-doxygen/html/html/search/functions_10.js +1 -2
- package/SVF-doxygen/html/html/search/functions_11.js +11 -11
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +12 -12
- package/SVF-doxygen/html/html/search/functions_17.js +16 -16
- package/SVF-doxygen/html/html/search/functions_2.js +14 -14
- package/SVF-doxygen/html/html/search/functions_3.js +5 -5
- package/SVF-doxygen/html/html/search/functions_4.js +2 -2
- package/SVF-doxygen/html/html/search/functions_5.js +4 -4
- package/SVF-doxygen/html/html/search/functions_6.js +11 -11
- package/SVF-doxygen/html/html/search/functions_7.js +3 -3
- package/SVF-doxygen/html/html/search/functions_8.js +3 -3
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +3 -3
- package/SVF-doxygen/html/html/search/functions_f.js +5 -5
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/variables_0.js +1 -1
- package/SVF-doxygen/html/html/search/variables_10.js +2 -2
- package/SVF-doxygen/html/html/search/variables_12.js +5 -6
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_14.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +0 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +14 -14
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement-members.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +47 -57
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1PointsTo_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +5 -5
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +6 -7
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/build.sh +2 -2
- package/include/DDA/DDAPass.h +1 -1
- package/include/DDA/FlowDDA.h +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/SVFG.h +3 -4
- package/include/Graphs/SVFGOPT.h +7 -7
- package/include/MSSA/MemSSA.h +2 -0
- package/include/MSSA/SVFGBuilder.h +5 -14
- package/include/MTA/MTA.h +2 -2
- package/include/MemoryModel/MutablePointsToDS.h +3 -3
- package/include/MemoryModel/PersistentPointsToCache.h +7 -8
- package/include/MemoryModel/PersistentPointsToDS.h +93 -93
- package/include/MemoryModel/PointerAnalysisImpl.h +17 -28
- package/include/MemoryModel/PointsTo.h +24 -24
- package/include/SABER/SrcSnkDDA.h +10 -13
- package/include/SVF-LLVM/LLVMLoopAnalysis.h +2 -1
- package/include/SVF-LLVM/LLVMModule.h +6 -6
- package/include/SVFIR/SVFIR.h +3 -5
- package/include/SVFIR/SVFType.h +6 -8
- package/include/SVFIR/SVFValue.h +5 -5
- package/include/Util/Options.h +0 -1
- package/include/Util/SparseBitVector.h +6 -14
- package/include/WPA/FlowSensitive.h +13 -20
- package/include/WPA/WPASolver.h +5 -9
- package/lib/DDA/DDAPass.cpp +4 -4
- package/lib/Graphs/CFLGraph.cpp +3 -0
- package/lib/Graphs/SVFG.cpp +1 -1
- package/lib/MSSA/MemSSA.cpp +5 -3
- package/lib/MSSA/SVFGBuilder.cpp +9 -27
- package/lib/MTA/MTA.cpp +4 -4
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +10 -10
- package/lib/MemoryModel/PointsTo.cpp +23 -19
- package/lib/SVF-LLVM/LLVMLoopAnalysis.cpp +3 -4
- package/lib/SVF-LLVM/LLVMModule.cpp +32 -21
- package/lib/SVFIR/SVFIR.cpp +1 -1
- package/lib/SVFIR/SymbolTableInfo.cpp +4 -15
- package/lib/Util/Options.cpp +0 -6
- package/lib/WPA/AndersenSFR.cpp +1 -1
- package/lib/WPA/FlowSensitive.cpp +1 -1
- package/package.json +1 -1
- package/tools/CFL/cfl.cpp +5 -4
- package/tools/DDA/dda.cpp +3 -2
- package/tools/Example/svf-ex.cpp +3 -2
- package/tools/MTA/mta.cpp +6 -4
- package/tools/SABER/saber.cpp +7 -5
- package/tools/WPA/wpa.cpp +3 -2
|
@@ -136,9 +136,9 @@ Public Member Functions</h2></td></tr>
|
|
|
136
136
|
<tr class="memitem:a73f6ddd4ba868e203109c52e4f3600bd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a73f6ddd4ba868e203109c52e4f3600bd">SrcSnkDDA</a> ()</td></tr>
|
|
137
137
|
<tr class="memdesc:a73f6ddd4ba868e203109c52e4f3600bd"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="#a73f6ddd4ba868e203109c52e4f3600bd">More...</a><br /></td></tr>
|
|
138
138
|
<tr class="separator:a73f6ddd4ba868e203109c52e4f3600bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
139
|
-
<tr class="memitem:
|
|
140
|
-
<tr class="memdesc:
|
|
141
|
-
<tr class="separator:
|
|
139
|
+
<tr class="memitem:a5a87fbdbf9469f3bdd4c955f31f4c4f9"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a5a87fbdbf9469f3bdd4c955f31f4c4f9">~SrcSnkDDA</a> () override</td></tr>
|
|
140
|
+
<tr class="memdesc:a5a87fbdbf9469f3bdd4c955f31f4c4f9"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a5a87fbdbf9469f3bdd4c955f31f4c4f9">More...</a><br /></td></tr>
|
|
141
|
+
<tr class="separator:a5a87fbdbf9469f3bdd4c955f31f4c4f9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
142
142
|
<tr class="memitem:ac12d813bcba4ec70de5e9048bbe16afc"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#ac12d813bcba4ec70de5e9048bbe16afc">analyze</a> (<a class="el" href="classSVF_1_1SVFModule.html">SVFModule</a> *module)</td></tr>
|
|
143
143
|
<tr class="memdesc:ac12d813bcba4ec70de5e9048bbe16afc"><td class="mdescLeft"> </td><td class="mdescRight">Start analysis here. <a href="#ac12d813bcba4ec70de5e9048bbe16afc">More...</a><br /></td></tr>
|
|
144
144
|
<tr class="separator:ac12d813bcba4ec70de5e9048bbe16afc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -219,18 +219,18 @@ Public Member Functions</h2></td></tr>
|
|
|
219
219
|
</table><table class="memberdecls">
|
|
220
220
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
|
|
221
221
|
Protected Member Functions</h2></td></tr>
|
|
222
|
-
<tr class="memitem:
|
|
223
|
-
<tr class="memdesc:
|
|
224
|
-
<tr class="separator:
|
|
225
|
-
<tr class="memitem:
|
|
226
|
-
<tr class="memdesc:
|
|
227
|
-
<tr class="separator:
|
|
228
|
-
<tr class="memitem:
|
|
229
|
-
<tr class="memdesc:
|
|
230
|
-
<tr class="separator:
|
|
231
|
-
<tr class="memitem:
|
|
232
|
-
<tr class="memdesc:
|
|
233
|
-
<tr class="separator:
|
|
222
|
+
<tr class="memitem:ad4e19b2510c124d458f6941e190ef7cc"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#ad4e19b2510c124d458f6941e190ef7cc">FWProcessCurNode</a> (const <a class="el" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> &<a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">item</a>) override</td></tr>
|
|
223
|
+
<tr class="memdesc:ad4e19b2510c124d458f6941e190ef7cc"><td class="mdescLeft"> </td><td class="mdescRight">Forward traverse. <a href="#ad4e19b2510c124d458f6941e190ef7cc">More...</a><br /></td></tr>
|
|
224
|
+
<tr class="separator:ad4e19b2510c124d458f6941e190ef7cc"><td class="memSeparator" colspan="2"> </td></tr>
|
|
225
|
+
<tr class="memitem:ad9eb5a4e0b3783c300c36b66f053e302"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#ad9eb5a4e0b3783c300c36b66f053e302">BWProcessCurNode</a> (const <a class="el" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> &<a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">item</a>) override</td></tr>
|
|
226
|
+
<tr class="memdesc:ad9eb5a4e0b3783c300c36b66f053e302"><td class="mdescLeft"> </td><td class="mdescRight">Backward traverse. <a href="#ad9eb5a4e0b3783c300c36b66f053e302">More...</a><br /></td></tr>
|
|
227
|
+
<tr class="separator:ad9eb5a4e0b3783c300c36b66f053e302"><td class="memSeparator" colspan="2"> </td></tr>
|
|
228
|
+
<tr class="memitem:acb99b47a514fc9d10fe1b989c7b09127"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#acb99b47a514fc9d10fe1b989c7b09127">FWProcessOutgoingEdge</a> (const <a class="el" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> &<a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">item</a>, <a class="el" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a> *edge) override</td></tr>
|
|
229
|
+
<tr class="memdesc:acb99b47a514fc9d10fe1b989c7b09127"><td class="mdescLeft"> </td><td class="mdescRight">Propagate information forward by matching context. <a href="#acb99b47a514fc9d10fe1b989c7b09127">More...</a><br /></td></tr>
|
|
230
|
+
<tr class="separator:acb99b47a514fc9d10fe1b989c7b09127"><td class="memSeparator" colspan="2"> </td></tr>
|
|
231
|
+
<tr class="memitem:a3a097517e85b9ea4c92d5e213b04e1f0"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a3a097517e85b9ea4c92d5e213b04e1f0">BWProcessIncomingEdge</a> (const <a class="el" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> &<a class="el" href="cJSON_8cpp.html#ac011de571ff16ba220d2e0d757e4e8b0">item</a>, <a class="el" href="namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9">SVFGEdge</a> *edge) override</td></tr>
|
|
232
|
+
<tr class="memdesc:a3a097517e85b9ea4c92d5e213b04e1f0"><td class="mdescLeft"> </td><td class="mdescRight">Propagate information backward without matching context, as forward analysis already did it. <a href="#a3a097517e85b9ea4c92d5e213b04e1f0">More...</a><br /></td></tr>
|
|
233
|
+
<tr class="separator:a3a097517e85b9ea4c92d5e213b04e1f0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
234
234
|
<tr class="memitem:a6ae0d47bac09163e90b8b2e773ad69f0"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a6ae0d47bac09163e90b8b2e773ad69f0">isAllPathReachable</a> ()</td></tr>
|
|
235
235
|
<tr class="memdesc:a6ae0d47bac09163e90b8b2e773ad69f0"><td class="mdescLeft"> </td><td class="mdescRight">Whether it is all path reachable from a source. <a href="#a6ae0d47bac09163e90b8b2e773ad69f0">More...</a><br /></td></tr>
|
|
236
236
|
<tr class="separator:a6ae0d47bac09163e90b8b2e773ad69f0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -318,9 +318,9 @@ Private Attributes</h2></td></tr>
|
|
|
318
318
|
<tr class="memitem:aaffd4b48be1f99e0450b23f20f034b1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a19f02a14ee669fadc37fde3816fa2f84">SVFGNodeSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">sinks</a></td></tr>
|
|
319
319
|
<tr class="memdesc:aaffd4b48be1f99e0450b23f20f034b1e"><td class="mdescLeft"> </td><td class="mdescRight">source nodes <a href="#aaffd4b48be1f99e0450b23f20f034b1e">More...</a><br /></td></tr>
|
|
320
320
|
<tr class="separator:aaffd4b48be1f99e0450b23f20f034b1e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
321
|
-
<tr class="memitem:
|
|
322
|
-
<tr class="memdesc:
|
|
323
|
-
<tr class="separator:
|
|
321
|
+
<tr class="memitem:a193ec317ac2208c7b92f024b35203f44"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classSVF_1_1SaberCondAllocator.html">SaberCondAllocator</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a193ec317ac2208c7b92f024b35203f44">saberCondAllocator</a></td></tr>
|
|
322
|
+
<tr class="memdesc:a193ec317ac2208c7b92f024b35203f44"><td class="mdescLeft"> </td><td class="mdescRight">source nodes <a href="#a193ec317ac2208c7b92f024b35203f44">More...</a><br /></td></tr>
|
|
323
|
+
<tr class="separator:a193ec317ac2208c7b92f024b35203f44"><td class="memSeparator" colspan="2"> </td></tr>
|
|
324
324
|
<tr class="memitem:a5f4f97bc480e899004b0432a78fd94a4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a4f9de61860db86668606f0c276ce8117">SVFGNodeToDPItemsMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">nodeToDPItemsMap</a></td></tr>
|
|
325
325
|
<tr class="memdesc:a5f4f97bc480e899004b0432a78fd94a4"><td class="mdescLeft"> </td><td class="mdescRight">record forward visited dpitems <a href="#a5f4f97bc480e899004b0432a78fd94a4">More...</a><br /></td></tr>
|
|
326
326
|
<tr class="separator:a5f4f97bc480e899004b0432a78fd94a4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -508,15 +508,15 @@ Private Attributes</h2></td></tr>
|
|
|
508
508
|
<p>Constructor. </p>
|
|
509
509
|
|
|
510
510
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00084">84</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
511
|
-
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  : <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">svfg</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">ptaCallGraph</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#
|
|
511
|
+
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  : <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">svfg</a>(<span class="keyword">nullptr</span>), <a class="code" href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">ptaCallGraph</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a193ec317ac2208c7b92f024b35203f44">saberCondAllocator</a> = std::make_unique<SaberCondAllocator>();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a193ec317ac2208c7b92f024b35203f44"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a193ec317ac2208c7b92f024b35203f44">SVF::SrcSnkDDA::saberCondAllocator</a></div><div class="ttdeci">std::unique_ptr< SaberCondAllocator > saberCondAllocator</div><div class="ttdoc">source nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00072">SrcSnkDDA.h:72</a></div></div>
|
|
512
512
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
513
513
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a97be553370acf305f86e903bc3f0bb1a"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">SVF::SrcSnkDDA::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00079">SrcSnkDDA.h:79</a></div></div>
|
|
514
514
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ae657ebdeae8a083cfec210859a0023e4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">SVF::SrcSnkDDA::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00078">SrcSnkDDA.h:78</a></div></div>
|
|
515
515
|
</div><!-- fragment -->
|
|
516
516
|
</div>
|
|
517
517
|
</div>
|
|
518
|
-
<a id="
|
|
519
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
518
|
+
<a id="a5a87fbdbf9469f3bdd4c955f31f4c4f9"></a>
|
|
519
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5a87fbdbf9469f3bdd4c955f31f4c4f9">◆ </a></span>~SrcSnkDDA()</h2>
|
|
520
520
|
|
|
521
521
|
<div class="memitem">
|
|
522
522
|
<div class="memproto">
|
|
@@ -525,7 +525,7 @@ Private Attributes</h2></td></tr>
|
|
|
525
525
|
<td class="mlabels-left">
|
|
526
526
|
<table class="memname">
|
|
527
527
|
<tr>
|
|
528
|
-
<td class="memname">
|
|
528
|
+
<td class="memname">SVF::SrcSnkDDA::~SrcSnkDDA </td>
|
|
529
529
|
<td>(</td>
|
|
530
530
|
<td class="paramname"></td><td>)</td>
|
|
531
531
|
<td></td>
|
|
@@ -533,7 +533,7 @@ Private Attributes</h2></td></tr>
|
|
|
533
533
|
</table>
|
|
534
534
|
</td>
|
|
535
535
|
<td class="mlabels-right">
|
|
536
|
-
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">
|
|
536
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span></span> </td>
|
|
537
537
|
</tr>
|
|
538
538
|
</table>
|
|
539
539
|
</div><div class="memdoc">
|
|
@@ -542,7 +542,7 @@ Private Attributes</h2></td></tr>
|
|
|
542
542
|
<p>the following shared by multiple checkers, thus can not be released. </p>
|
|
543
543
|
|
|
544
544
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00089">89</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
545
|
-
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <
|
|
545
|
+
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">svfg</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> </div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">//if (ptaCallGraph != nullptr)</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// delete ptaCallGraph;</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="comment">//ptaCallGraph = nullptr;</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="comment">//if(pathCondAllocator)</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">// delete pathCondAllocator;</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">//pathCondAllocator = nullptr;</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
546
546
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ae657ebdeae8a083cfec210859a0023e4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">SVF::SrcSnkDDA::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00078">SrcSnkDDA.h:78</a></div></div>
|
|
547
547
|
</div><!-- fragment -->
|
|
548
548
|
</div>
|
|
@@ -572,8 +572,8 @@ Private Attributes</h2></td></tr>
|
|
|
572
572
|
</table>
|
|
573
573
|
</div><div class="memdoc">
|
|
574
574
|
|
|
575
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
576
|
-
<div class="fragment"><div class="line"><a name="
|
|
575
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00289">289</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
576
|
+
<div class="fragment"><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">visitedSet</a>.insert(node);</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a2349db6c540e418600e2fdbe2e665628"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">SVF::SrcSnkDDA::visitedSet</a></div><div class="ttdeci">SVFGNodeSet visitedSet</div><div class="ttdoc">record backward visited nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00074">SrcSnkDDA.h:74</a></div></div>
|
|
577
577
|
</div><!-- fragment -->
|
|
578
578
|
</div>
|
|
579
579
|
</div>
|
|
@@ -611,8 +611,8 @@ Private Attributes</h2></td></tr>
|
|
|
611
611
|
</table>
|
|
612
612
|
</div><div class="memdoc">
|
|
613
613
|
|
|
614
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
615
|
-
<div class="fragment"><div class="line"><a name="
|
|
614
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00281">281</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
615
|
+
<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  {</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">nodeToDPItemsMap</a>[node].insert(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a5f4f97bc480e899004b0432a78fd94a4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">SVF::SrcSnkDDA::nodeToDPItemsMap</a></div><div class="ttdeci">SVFGNodeToDPItemsMap nodeToDPItemsMap</div><div class="ttdoc">record forward visited dpitems </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00073">SrcSnkDDA.h:73</a></div></div>
|
|
616
616
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
617
617
|
</div><!-- fragment -->
|
|
618
618
|
</div>
|
|
@@ -641,10 +641,10 @@ Private Attributes</h2></td></tr>
|
|
|
641
641
|
</table>
|
|
642
642
|
</div><div class="memdoc">
|
|
643
643
|
|
|
644
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
645
|
-
<div class="fragment"><div class="line"><a name="
|
|
644
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00149">149</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
645
|
+
<div class="fragment"><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="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#acee5145fb261280a1f8187184e393aed">addToSinks</a>(node);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a57262e29e81cf71a40d4feb87b92925f">addToCurForwardSlice</a>(node);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
646
646
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_acee5145fb261280a1f8187184e393aed"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#acee5145fb261280a1f8187184e393aed">SVF::ProgSlice::addToSinks</a></div><div class="ttdeci">void addToSinks(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00123">ProgSlice.h:123</a></div></div>
|
|
647
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a57262e29e81cf71a40d4feb87b92925f"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a57262e29e81cf71a40d4feb87b92925f">SVF::SrcSnkDDA::addToCurForwardSlice</a></div><div class="ttdeci">void addToCurForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
647
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a57262e29e81cf71a40d4feb87b92925f"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a57262e29e81cf71a40d4feb87b92925f">SVF::SrcSnkDDA::addToCurForwardSlice</a></div><div class="ttdeci">void addToCurForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00162">SrcSnkDDA.h:162</a></div></div>
|
|
648
648
|
</div><!-- fragment -->
|
|
649
649
|
</div>
|
|
650
650
|
</div>
|
|
@@ -672,8 +672,8 @@ Private Attributes</h2></td></tr>
|
|
|
672
672
|
</table>
|
|
673
673
|
</div><div class="memdoc">
|
|
674
674
|
|
|
675
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
676
|
-
<div class="fragment"><div class="line"><a name="
|
|
675
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00166">166</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
676
|
+
<div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#ac98eccef9fc2521b833a8c14b43e49e1">addToBackwardSlice</a>(node);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
677
677
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ac98eccef9fc2521b833a8c14b43e49e1"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac98eccef9fc2521b833a8c14b43e49e1">SVF::ProgSlice::addToBackwardSlice</a></div><div class="ttdeci">void addToBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00087">ProgSlice.h:87</a></div></div>
|
|
678
678
|
</div><!-- fragment -->
|
|
679
679
|
</div>
|
|
@@ -702,8 +702,8 @@ Private Attributes</h2></td></tr>
|
|
|
702
702
|
</table>
|
|
703
703
|
</div><div class="memdoc">
|
|
704
704
|
|
|
705
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
706
|
-
<div class="fragment"><div class="line"><a name="
|
|
705
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00162">162</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
706
|
+
<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a0017e160c2a5412947c170f944e593bd">addToForwardSlice</a>(node);</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
707
707
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a0017e160c2a5412947c170f944e593bd"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a0017e160c2a5412947c170f944e593bd">SVF::ProgSlice::addToForwardSlice</a></div><div class="ttdeci">void addToForwardSlice(const SVFGNode *node)</div><div class="ttdoc">Forward and backward slice operations. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00083">ProgSlice.h:83</a></div></div>
|
|
708
708
|
</div><!-- fragment -->
|
|
709
709
|
</div>
|
|
@@ -732,8 +732,8 @@ Private Attributes</h2></td></tr>
|
|
|
732
732
|
</table>
|
|
733
733
|
</div><div class="memdoc">
|
|
734
734
|
|
|
735
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
736
|
-
<div class="fragment"><div class="line"><a name="
|
|
735
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00233">233</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
736
|
+
<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">sinks</a>.insert(node);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aaffd4b48be1f99e0450b23f20f034b1e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">SVF::SrcSnkDDA::sinks</a></div><div class="ttdeci">SVFGNodeSet sinks</div><div class="ttdoc">source nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00071">SrcSnkDDA.h:71</a></div></div>
|
|
737
737
|
</div><!-- fragment -->
|
|
738
738
|
</div>
|
|
739
739
|
</div>
|
|
@@ -761,8 +761,8 @@ Private Attributes</h2></td></tr>
|
|
|
761
761
|
</table>
|
|
762
762
|
</div><div class="memdoc">
|
|
763
763
|
|
|
764
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
765
|
-
<div class="fragment"><div class="line"><a name="
|
|
764
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00217">217</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
765
|
+
<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">sources</a>.insert(node);</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a96c41d03d2615f952b58dca327a2866c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">SVF::SrcSnkDDA::sources</a></div><div class="ttdeci">SVFGNodeSet sources</div><div class="ttdoc">current program slice </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00070">SrcSnkDDA.h:70</a></div></div>
|
|
766
766
|
</div><!-- fragment -->
|
|
767
767
|
</div>
|
|
768
768
|
</div>
|
|
@@ -799,27 +799,27 @@ Private Attributes</h2></td></tr>
|
|
|
799
799
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aa87e9ca3c9a9dc6ae5cc88a0182a8154"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aa87e9ca3c9a9dc6ae5cc88a0182a8154">SVF::SrcSnkDDA::reportBug</a></div><div class="ttdeci">virtual void reportBug(ProgSlice *slice)=0</div><div class="ttdoc">report bug on the current analyzed slice </div></div>
|
|
800
800
|
<div class="ttc" id="classSVF_1_1ContextCond_html_a92e89bbae0f31bb9eb971ab3edcc8071"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a92e89bbae0f31bb9eb971ab3edcc8071">SVF::ContextCond::setMaxCxtLen</a></div><div class="ttdeci">static void setMaxCxtLen(u32_t max)</div><div class="ttdoc">set max context limit </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00265">DPItem.h:265</a></div></div>
|
|
801
801
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a83d5ccf0836f8f751aff078f88328cca"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">SVF::SrcSnkDDA::DPIm</a></div><div class="ttdeci">CxtDPItem DPIm</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00061">SrcSnkDDA.h:61</a></div></div>
|
|
802
|
-
<div class="ttc" id="SVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#
|
|
802
|
+
<div class="ttc" id="SVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00422">SVFType.h:422</a></div></div>
|
|
803
803
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
804
804
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a27636f096ec825c4d5cb1dca608afb31"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a27636f096ec825c4d5cb1dca608afb31">SVF::ProgSlice::sinksEnd</a></div><div class="ttdeci">SVFGNodeSetIter sinksEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00135">ProgSlice.h:135</a></div></div>
|
|
805
805
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a8883b9a42106ed8c55835d2ba9a579cd"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a8883b9a42106ed8c55835d2ba9a579cd">SVF::SrcSnkDDA::initialize</a></div><div class="ttdeci">virtual void initialize(SVFModule *module)</div><div class="ttdoc">Initialize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00041">SrcSnkDDA.cpp:41</a></div></div>
|
|
806
806
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad6935e27bbd95d26a01b22b879efed58"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad6935e27bbd95d26a01b22b879efed58">SVF::SrcSnkDDA::SVFGNodeSetIter</a></div><div class="ttdeci">SVFGNodeSet::const_iterator SVFGNodeSetIter</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00060">SrcSnkDDA.h:60</a></div></div>
|
|
807
|
-
<div class="ttc" id="classSVF_1_1Options_html_a21cbaab292e9f5bd39109f774fcc88d4"><div class="ttname"><a href="classSVF_1_1Options.html#a21cbaab292e9f5bd39109f774fcc88d4">SVF::Options::CxtLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > CxtLimit</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
808
|
-
<div class="ttc" id="classSVF_1_1Options_html_ace1f2368a0a466f98c9e53def47db3ab"><div class="ttname"><a href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">SVF::Options::DumpSlice</a></div><div class="ttdeci">static const llvm::cl::opt< bool > DumpSlice</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
809
|
-
<div class="ttc" id="SVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#
|
|
810
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a0515c9079f28f8c5d4f0f9a2fc39a137"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a0515c9079f28f8c5d4f0f9a2fc39a137">SVF::SrcSnkDDA::sourcesBegin</a></div><div class="ttdeci">SVFGNodeSetIter sourcesBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
811
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad50e479db8f0733326974709d6ffe653"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">SVF::SrcSnkDDA::getCurSlice</a></div><div class="ttdeci">ProgSlice * getCurSlice() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
807
|
+
<div class="ttc" id="classSVF_1_1Options_html_a21cbaab292e9f5bd39109f774fcc88d4"><div class="ttname"><a href="classSVF_1_1Options.html#a21cbaab292e9f5bd39109f774fcc88d4">SVF::Options::CxtLimit</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > CxtLimit</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00202">Options.h:202</a></div></div>
|
|
808
|
+
<div class="ttc" id="classSVF_1_1Options_html_ace1f2368a0a466f98c9e53def47db3ab"><div class="ttname"><a href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">SVF::Options::DumpSlice</a></div><div class="ttdeci">static const llvm::cl::opt< bool > DumpSlice</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00201">Options.h:201</a></div></div>
|
|
809
|
+
<div class="ttc" id="SVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
|
|
810
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a0515c9079f28f8c5d4f0f9a2fc39a137"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a0515c9079f28f8c5d4f0f9a2fc39a137">SVF::SrcSnkDDA::sourcesBegin</a></div><div class="ttdeci">SVFGNodeSetIter sourcesBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00209">SrcSnkDDA.h:209</a></div></div>
|
|
811
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad50e479db8f0733326974709d6ffe653"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">SVF::SrcSnkDDA::getCurSlice</a></div><div class="ttdeci">ProgSlice * getCurSlice() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00145">SrcSnkDDA.h:145</a></div></div>
|
|
812
812
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::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>
|
|
813
813
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_adf620c97daed49735d21b485c448b4a2"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adf620c97daed49735d21b485c448b4a2">SVF::ProgSlice::sinksBegin</a></div><div class="ttdeci">SVFGNodeSetIter sinksBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00131">ProgSlice.h:131</a></div></div>
|
|
814
814
|
<div class="ttc" id="classSVF_1_1ContextCond_html"><div class="ttname"><a href="classSVF_1_1ContextCond.html">SVF::ContextCond</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00206">DPItem.h:206</a></div></div>
|
|
815
815
|
<div class="ttc" id="classSVF_1_1GraphReachSolver_html_a8785ea71a1b0da03595fc8f594921819"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a8785ea71a1b0da03595fc8f594921819">SVF::GraphReachSolver::backwardTraverse</a></div><div class="ttdeci">virtual void backwardTraverse(DPIm &it)</div><div class="ttdoc">CFL forward traverse solve. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00112">GraphReachSolver.h:112</a></div></div>
|
|
816
816
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_aa7979418bed24fcecfc6fa04532cd586"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aa7979418bed24fcecfc6fa04532cd586">SVF::ProgSlice::AllPathReachableSolve</a></div><div class="ttdeci">bool AllPathReachableSolve()</div><div class="ttdoc">Guarded reachability solve. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00043">ProgSlice.cpp:43</a></div></div>
|
|
817
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad0cb9de24cbc99d148f63b694dc3908e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad0cb9de24cbc99d148f63b694dc3908e">SVF::SrcSnkDDA::sourcesEnd</a></div><div class="ttdeci">SVFGNodeSetIter sourcesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
817
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad0cb9de24cbc99d148f63b694dc3908e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad0cb9de24cbc99d148f63b694dc3908e">SVF::SrcSnkDDA::sourcesEnd</a></div><div class="ttdeci">SVFGNodeSetIter sourcesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00213">SrcSnkDDA.h:213</a></div></div>
|
|
818
818
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ae6102647fa4985142c293116516612cd"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ae6102647fa4985142c293116516612cd">SVF::ProgSlice::setAllReachable</a></div><div class="ttdeci">void setAllReachable()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00143">ProgSlice.h:143</a></div></div>
|
|
819
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af6ee1f79b67c736ceeb591d0cdba4b06"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af6ee1f79b67c736ceeb591d0cdba4b06">SVF::SrcSnkDDA::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
819
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af6ee1f79b67c736ceeb591d0cdba4b06"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af6ee1f79b67c736ceeb591d0cdba4b06">SVF::SrcSnkDDA::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalize analysis. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00113">SrcSnkDDA.h:113</a></div></div>
|
|
820
820
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a967fa01a8baae0dd086b5c09ae0faa7b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a967fa01a8baae0dd086b5c09ae0faa7b">SVF::ProgSlice::getBackwardSliceSize</a></div><div class="ttdeci">u32_t getBackwardSliceSize() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00077">ProgSlice.h:77</a></div></div>
|
|
821
821
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_aae54f4e8a827f55abe08762b69d9f84b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aae54f4e8a827f55abe08762b69d9f84b">SVF::ProgSlice::getForwardSliceSize</a></div><div class="ttdeci">u32_t getForwardSliceSize() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00073">ProgSlice.h:73</a></div></div>
|
|
822
|
-
<div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#
|
|
822
|
+
<div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
|
|
823
823
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
824
824
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ab35c0d1f02c83a2c10717905f1abf5cd"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ab35c0d1f02c83a2c10717905f1abf5cd">SVF::SrcSnkDDA::setCurSlice</a></div><div class="ttdeci">virtual void setCurSlice(const SVFGNode *src)</div><div class="ttdoc">Slice operations. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00272">SrcSnkDDA.cpp:272</a></div></div>
|
|
825
825
|
</div><!-- fragment -->
|
|
@@ -859,7 +859,7 @@ Private Attributes</h2></td></tr>
|
|
|
859
859
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad6935e27bbd95d26a01b22b879efed58"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad6935e27bbd95d26a01b22b879efed58">SVF::SrcSnkDDA::SVFGNodeSetIter</a></div><div class="ttdeci">SVFGNodeSet::const_iterator SVFGNodeSetIter</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00060">SrcSnkDDA.h:60</a></div></div>
|
|
860
860
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_add10d8fd041ac7e6eb611df8a6b1384b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#add10d8fd041ac7e6eb611df8a6b1384b">SVF::ProgSlice::forwardSliceEnd</a></div><div class="ttdeci">SVFGNodeSetIter forwardSliceEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00103">ProgSlice.h:103</a></div></div>
|
|
861
861
|
<div class="ttc" id="classSVF_1_1SVFGStat_html_a59585ec387e8cc30a85eeec99a97e968"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#a59585ec387e8cc30a85eeec99a97e968">SVF::SVFGStat::addToSources</a></div><div class="ttdeci">void addToSources(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00237">SVFGStat.h:237</a></div></div>
|
|
862
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
862
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00125">SrcSnkDDA.h:125</a></div></div>
|
|
863
863
|
<div class="ttc" id="classSVF_1_1SVFGStat_html_aee8cb3fa54e882bba54bf557bbc5e1a3"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#aee8cb3fa54e882bba54bf557bbc5e1a3">SVF::SVFGStat::addToForwardSlice</a></div><div class="ttdeci">void addToForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00245">SVFGStat.h:245</a></div></div>
|
|
864
864
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_adf620c97daed49735d21b485c448b4a2"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#adf620c97daed49735d21b485c448b4a2">SVF::ProgSlice::sinksBegin</a></div><div class="ttdeci">SVFGNodeSetIter sinksBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00131">ProgSlice.h:131</a></div></div>
|
|
865
865
|
<div class="ttc" id="classSVF_1_1SVFGStat_html_a54e61121cdfac31e336cd79fa0513419"><div class="ttname"><a href="classSVF_1_1SVFGStat.html#a54e61121cdfac31e336cd79fa0513419">SVF::SVFGStat::addToBackwardSlice</a></div><div class="ttdeci">void addToBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGStat_8h_source.html#l00249">SVFGStat.h:249</a></div></div>
|
|
@@ -891,13 +891,13 @@ Private Attributes</h2></td></tr>
|
|
|
891
891
|
</table>
|
|
892
892
|
</div><div class="memdoc">
|
|
893
893
|
|
|
894
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
895
|
-
<div class="fragment"><div class="line"><a name="
|
|
894
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00285">285</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
895
|
+
<div class="fragment"><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">visitedSet</a>.find(node)!=<a class="code" href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">visitedSet</a>.end();</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a2349db6c540e418600e2fdbe2e665628"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">SVF::SrcSnkDDA::visitedSet</a></div><div class="ttdeci">SVFGNodeSet visitedSet</div><div class="ttdoc">record backward visited nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00074">SrcSnkDDA.h:74</a></div></div>
|
|
896
896
|
</div><!-- fragment -->
|
|
897
897
|
</div>
|
|
898
898
|
</div>
|
|
899
|
-
<a id="
|
|
900
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
899
|
+
<a id="ad9eb5a4e0b3783c300c36b66f053e302"></a>
|
|
900
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad9eb5a4e0b3783c300c36b66f053e302">◆ </a></span>BWProcessCurNode()</h2>
|
|
901
901
|
|
|
902
902
|
<div class="memitem">
|
|
903
903
|
<div class="memproto">
|
|
@@ -906,7 +906,7 @@ Private Attributes</h2></td></tr>
|
|
|
906
906
|
<td class="mlabels-left">
|
|
907
907
|
<table class="memname">
|
|
908
908
|
<tr>
|
|
909
|
-
<td class="memname">
|
|
909
|
+
<td class="memname">void SVF::SrcSnkDDA::BWProcessCurNode </td>
|
|
910
910
|
<td>(</td>
|
|
911
911
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> & </td>
|
|
912
912
|
<td class="paramname"><em>item</em></td><td>)</td>
|
|
@@ -915,24 +915,24 @@ Private Attributes</h2></td></tr>
|
|
|
915
915
|
</table>
|
|
916
916
|
</td>
|
|
917
917
|
<td class="mlabels-right">
|
|
918
|
-
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">
|
|
918
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
|
|
919
919
|
</tr>
|
|
920
920
|
</table>
|
|
921
921
|
</div><div class="memdoc">
|
|
922
922
|
|
|
923
923
|
<p>Backward traverse. </p>
|
|
924
924
|
|
|
925
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
926
|
-
<div class="fragment"><div class="line"><a name="
|
|
925
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00259">259</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
926
|
+
<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* node = <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.getCurNodeID());</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a4bde70a5d9dbf5a9234a93aaeaaacb94">isInCurForwardSlice</a>(node))</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad28ffe435790d36ad872cddc213ea799">addToCurBackwardSlice</a>(node);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="ttc" id="classSVF_1_1GraphReachSolver_html_a0b7f0923105dfb198a2a8428d6c1ca98"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">SVF::GraphReachSolver::getNode</a></div><div class="ttdeci">GNODE * getNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00084">GraphReachSolver.h:84</a></div></div>
|
|
927
927
|
<div class="ttc" id="namespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
|
|
928
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4bde70a5d9dbf5a9234a93aaeaaacb94"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4bde70a5d9dbf5a9234a93aaeaaacb94">SVF::SrcSnkDDA::isInCurForwardSlice</a></div><div class="ttdeci">bool isInCurForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
929
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad28ffe435790d36ad872cddc213ea799"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad28ffe435790d36ad872cddc213ea799">SVF::SrcSnkDDA::addToCurBackwardSlice</a></div><div class="ttdeci">void addToCurBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
928
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4bde70a5d9dbf5a9234a93aaeaaacb94"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4bde70a5d9dbf5a9234a93aaeaaacb94">SVF::SrcSnkDDA::isInCurForwardSlice</a></div><div class="ttdeci">bool isInCurForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00154">SrcSnkDDA.h:154</a></div></div>
|
|
929
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad28ffe435790d36ad872cddc213ea799"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad28ffe435790d36ad872cddc213ea799">SVF::SrcSnkDDA::addToCurBackwardSlice</a></div><div class="ttdeci">void addToCurBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00166">SrcSnkDDA.h:166</a></div></div>
|
|
930
930
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
931
931
|
</div><!-- fragment -->
|
|
932
932
|
</div>
|
|
933
933
|
</div>
|
|
934
|
-
<a id="
|
|
935
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
934
|
+
<a id="a3a097517e85b9ea4c92d5e213b04e1f0"></a>
|
|
935
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a3a097517e85b9ea4c92d5e213b04e1f0">◆ </a></span>BWProcessIncomingEdge()</h2>
|
|
936
936
|
|
|
937
937
|
<div class="memitem">
|
|
938
938
|
<div class="memproto">
|
|
@@ -960,7 +960,7 @@ Private Attributes</h2></td></tr>
|
|
|
960
960
|
</table>
|
|
961
961
|
</td>
|
|
962
962
|
<td class="mlabels-right">
|
|
963
|
-
<span class="mlabels"><span class="mlabel">
|
|
963
|
+
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
|
|
964
964
|
</tr>
|
|
965
965
|
</table>
|
|
966
966
|
</div><div class="memdoc">
|
|
@@ -969,17 +969,17 @@ Private Attributes</h2></td></tr>
|
|
|
969
969
|
<p>Propagate information backward without matching context, as forward analysis already did it </p>
|
|
970
970
|
|
|
971
971
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8cpp_source.html#l00257">257</a> of file <a class="el" href="SrcSnkDDA_8cpp_source.html">SrcSnkDDA.cpp</a>.</p>
|
|
972
|
-
<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"backward propagate from ("</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">" --> "</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() << <span class="stringliteral">")\n"</span>);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a32cc8a131b2448b5e8e1fe65d99fd286">backwardVisited</a>(srcNode))</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#aa061e2d72d3045c9712512c6df002544">addBackwardVisited</a>(srcNode);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="classSVF_1_1ContextCond.html">ContextCond</a> cxt;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> newItem(srcNode->getId(), cxt);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a32cc8a131b2448b5e8e1fe65d99fd286"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a32cc8a131b2448b5e8e1fe65d99fd286">SVF::SrcSnkDDA::backwardVisited</a></div><div class="ttdeci">bool backwardVisited(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
972
|
+
<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"backward propagate from ("</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">" --> "</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>() << <span class="stringliteral">")\n"</span>);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* srcNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a32cc8a131b2448b5e8e1fe65d99fd286">backwardVisited</a>(srcNode))</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#aa061e2d72d3045c9712512c6df002544">addBackwardVisited</a>(srcNode);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="classSVF_1_1ContextCond.html">ContextCond</a> cxt;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> newItem(srcNode->getId(), cxt);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a32cc8a131b2448b5e8e1fe65d99fd286"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a32cc8a131b2448b5e8e1fe65d99fd286">SVF::SrcSnkDDA::backwardVisited</a></div><div class="ttdeci">bool backwardVisited(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00285">SrcSnkDDA.h:285</a></div></div>
|
|
973
973
|
<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#l00079">GenericGraph.h:79</a></div></div>
|
|
974
974
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00075">GenericGraph.h:75</a></div></div>
|
|
975
975
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a83d5ccf0836f8f751aff078f88328cca"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">SVF::SrcSnkDDA::DPIm</a></div><div class="ttdeci">CxtDPItem DPIm</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00061">SrcSnkDDA.h:61</a></div></div>
|
|
976
976
|
<div class="ttc" id="classSVF_1_1GraphReachSolver_html_a53564d384938c19980cb138f720e34e9"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">SVF::GraphReachSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &item)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00160">GraphReachSolver.h:160</a></div></div>
|
|
977
|
-
<div class="ttc" id="SVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#
|
|
977
|
+
<div class="ttc" id="SVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
|
|
978
978
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::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>
|
|
979
979
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ab47ca533c415841ef75456cbad439589"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::GenericEdge::getSrcNode</a></div><div class="ttdeci">NodeType * getSrcNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00091">GenericGraph.h:91</a></div></div>
|
|
980
980
|
<div class="ttc" id="classSVF_1_1ContextCond_html"><div class="ttname"><a href="classSVF_1_1ContextCond.html">SVF::ContextCond</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00206">DPItem.h:206</a></div></div>
|
|
981
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aa061e2d72d3045c9712512c6df002544"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aa061e2d72d3045c9712512c6df002544">SVF::SrcSnkDDA::addBackwardVisited</a></div><div class="ttdeci">void addBackwardVisited(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
982
|
-
<div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#
|
|
981
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aa061e2d72d3045c9712512c6df002544"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aa061e2d72d3045c9712512c6df002544">SVF::SrcSnkDDA::addBackwardVisited</a></div><div class="ttdeci">void addBackwardVisited(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00289">SrcSnkDDA.h:289</a></div></div>
|
|
982
|
+
<div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
|
|
983
983
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
984
984
|
</div><!-- fragment -->
|
|
985
985
|
</div>
|
|
@@ -1007,8 +1007,8 @@ Private Attributes</h2></td></tr>
|
|
|
1007
1007
|
</table>
|
|
1008
1008
|
</div><div class="memdoc">
|
|
1009
1009
|
|
|
1010
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1011
|
-
<div class="fragment"><div class="line"><a name="
|
|
1010
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00293">293</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1011
|
+
<div class="fragment"><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  {</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">nodeToDPItemsMap</a>.clear();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">visitedSet</a>.clear();</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a2349db6c540e418600e2fdbe2e665628"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628">SVF::SrcSnkDDA::visitedSet</a></div><div class="ttdeci">SVFGNodeSet visitedSet</div><div class="ttdoc">record backward visited nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00074">SrcSnkDDA.h:74</a></div></div>
|
|
1012
1012
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a5f4f97bc480e899004b0432a78fd94a4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">SVF::SrcSnkDDA::nodeToDPItemsMap</a></div><div class="ttdeci">SVFGNodeToDPItemsMap nodeToDPItemsMap</div><div class="ttdoc">record forward visited dpitems </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00073">SrcSnkDDA.h:73</a></div></div>
|
|
1013
1013
|
</div><!-- fragment -->
|
|
1014
1014
|
</div>
|
|
@@ -1039,10 +1039,10 @@ Private Attributes</h2></td></tr>
|
|
|
1039
1039
|
<p>Dump <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> with annotated slice informaiton. </p>
|
|
1040
1040
|
|
|
1041
1041
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8cpp_source.html#l00295">295</a> of file <a class="el" href="SrcSnkDDA_8cpp_source.html">SrcSnkDDA.cpp</a>.</p>
|
|
1042
|
-
<div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">Options::DumpSlice</a>)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFG.html">SVFG</a>*<span class="keyword">></span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>())-><a class="code" href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">dump</a>(<span class="stringliteral">"Slice"</span>,<span class="keyword">true</span>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div><div class="ttc" id="classSVF_1_1Options_html_ace1f2368a0a466f98c9e53def47db3ab"><div class="ttname"><a href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">SVF::Options::DumpSlice</a></div><div class="ttdeci">static const llvm::cl::opt< bool > DumpSlice</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
1043
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1042
|
+
<div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">Options::DumpSlice</a>)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFG.html">SVFG</a>*<span class="keyword">></span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>())-><a class="code" href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">dump</a>(<span class="stringliteral">"Slice"</span>,<span class="keyword">true</span>);</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div><div class="ttc" id="classSVF_1_1Options_html_ace1f2368a0a466f98c9e53def47db3ab"><div class="ttname"><a href="classSVF_1_1Options.html#ace1f2368a0a466f98c9e53def47db3ab">SVF::Options::DumpSlice</a></div><div class="ttdeci">static const llvm::cl::opt< bool > DumpSlice</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00201">Options.h:201</a></div></div>
|
|
1043
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00125">SrcSnkDDA.h:125</a></div></div>
|
|
1044
1044
|
<div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
1045
|
-
<div class="ttc" id="namespaceSVF_html_aae350f79ebcb9efd22ec9efa6678cd13"><div class="ttname"><a href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">SVF::dump</a></div><div class="ttdeci">void dump(const SparseBitVector< ElementSize > &LHS, std::ostream &out)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
1045
|
+
<div class="ttc" id="namespaceSVF_html_aae350f79ebcb9efd22ec9efa6678cd13"><div class="ttname"><a href="namespaceSVF.html#aae350f79ebcb9efd22ec9efa6678cd13">SVF::dump</a></div><div class="ttdeci">void dump(const SparseBitVector< ElementSize > &LHS, std::ostream &out)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01183">SparseBitVector.h:1183</a></div></div>
|
|
1046
1046
|
</div><!-- fragment -->
|
|
1047
1047
|
</div>
|
|
1048
1048
|
</div>
|
|
@@ -1071,8 +1071,8 @@ Private Attributes</h2></td></tr>
|
|
|
1071
1071
|
|
|
1072
1072
|
<p>Finalize analysis. </p>
|
|
1073
1073
|
|
|
1074
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1075
|
-
<div class="fragment"><div class="line"><a name="
|
|
1074
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00113">113</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1075
|
+
<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#acae985068ff1c20fb81c4c9ba730aaba">dumpSlices</a>();</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_acae985068ff1c20fb81c4c9ba730aaba"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#acae985068ff1c20fb81c4c9ba730aaba">SVF::SrcSnkDDA::dumpSlices</a></div><div class="ttdeci">void dumpSlices()</div><div class="ttdoc">Dump SVFG with annotated slice informaiton. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8cpp_source.html#l00295">SrcSnkDDA.cpp:295</a></div></div>
|
|
1076
1076
|
</div><!-- fragment -->
|
|
1077
1077
|
</div>
|
|
1078
1078
|
</div>
|
|
@@ -1112,14 +1112,14 @@ Private Attributes</h2></td></tr>
|
|
|
1112
1112
|
|
|
1113
1113
|
<p>Whether has been visited or not, in order to avoid recursion on <a class="el" href="classSVF_1_1SVFG.html">SVFG</a>. </p>
|
|
1114
1114
|
|
|
1115
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1116
|
-
<div class="fragment"><div class="line"><a name="
|
|
1115
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00273">273</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1116
|
+
<div class="fragment"><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  SVFGNodeToDPItemsMap::const_iterator it = <a class="code" href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">nodeToDPItemsMap</a>.find(node);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">nodeToDPItemsMap</a>.end())</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> it->second.find(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>)!=it->second.end();</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a5f4f97bc480e899004b0432a78fd94a4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a5f4f97bc480e899004b0432a78fd94a4">SVF::SrcSnkDDA::nodeToDPItemsMap</a></div><div class="ttdeci">SVFGNodeToDPItemsMap nodeToDPItemsMap</div><div class="ttdoc">record forward visited dpitems </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00073">SrcSnkDDA.h:73</a></div></div>
|
|
1117
1117
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
1118
1118
|
</div><!-- fragment -->
|
|
1119
1119
|
</div>
|
|
1120
1120
|
</div>
|
|
1121
|
-
<a id="
|
|
1122
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1121
|
+
<a id="ad4e19b2510c124d458f6941e190ef7cc"></a>
|
|
1122
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad4e19b2510c124d458f6941e190ef7cc">◆ </a></span>FWProcessCurNode()</h2>
|
|
1123
1123
|
|
|
1124
1124
|
<div class="memitem">
|
|
1125
1125
|
<div class="memproto">
|
|
@@ -1128,7 +1128,7 @@ Private Attributes</h2></td></tr>
|
|
|
1128
1128
|
<td class="mlabels-left">
|
|
1129
1129
|
<table class="memname">
|
|
1130
1130
|
<tr>
|
|
1131
|
-
<td class="memname">
|
|
1131
|
+
<td class="memname">void SVF::SrcSnkDDA::FWProcessCurNode </td>
|
|
1132
1132
|
<td>(</td>
|
|
1133
1133
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> & </td>
|
|
1134
1134
|
<td class="paramname"><em>item</em></td><td>)</td>
|
|
@@ -1137,27 +1137,27 @@ Private Attributes</h2></td></tr>
|
|
|
1137
1137
|
</table>
|
|
1138
1138
|
</td>
|
|
1139
1139
|
<td class="mlabels-right">
|
|
1140
|
-
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">
|
|
1140
|
+
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
|
|
1141
1141
|
</tr>
|
|
1142
1142
|
</table>
|
|
1143
1143
|
</div><div class="memdoc">
|
|
1144
1144
|
|
|
1145
1145
|
<p>Forward traverse. </p>
|
|
1146
1146
|
|
|
1147
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1148
|
-
<div class="fragment"><div class="line"><a name="
|
|
1147
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00247">247</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1148
|
+
<div class="fragment"><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* node = <a class="code" href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">getNode</a>(<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.getCurNodeID());</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a703bfc5c825d66fdb0d74eb89d181581">isSink</a>(node))</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a6caea43079963b13e9a7a017074bdbb7">addSinkToCurSlice</a>(node);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#af6f137be08ca0e743424ff07d679777d">setPartialReachable</a>();</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a57262e29e81cf71a40d4feb87b92925f">addToCurForwardSlice</a>(node);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a6caea43079963b13e9a7a017074bdbb7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a6caea43079963b13e9a7a017074bdbb7">SVF::SrcSnkDDA::addSinkToCurSlice</a></div><div class="ttdeci">void addSinkToCurSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00149">SrcSnkDDA.h:149</a></div></div>
|
|
1149
1149
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_af6f137be08ca0e743424ff07d679777d"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#af6f137be08ca0e743424ff07d679777d">SVF::ProgSlice::setPartialReachable</a></div><div class="ttdeci">void setPartialReachable()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00139">ProgSlice.h:139</a></div></div>
|
|
1150
1150
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1151
1151
|
<div class="ttc" id="classSVF_1_1GraphReachSolver_html_a0b7f0923105dfb198a2a8428d6c1ca98"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a0b7f0923105dfb198a2a8428d6c1ca98">SVF::GraphReachSolver::getNode</a></div><div class="ttdeci">GNODE * getNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00084">GraphReachSolver.h:84</a></div></div>
|
|
1152
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a703bfc5c825d66fdb0d74eb89d181581"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a703bfc5c825d66fdb0d74eb89d181581">SVF::SrcSnkDDA::isSink</a></div><div class="ttdeci">bool isSink(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1152
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a703bfc5c825d66fdb0d74eb89d181581"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a703bfc5c825d66fdb0d74eb89d181581">SVF::SrcSnkDDA::isSink</a></div><div class="ttdeci">bool isSink(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00191">SrcSnkDDA.h:191</a></div></div>
|
|
1153
1153
|
<div class="ttc" id="namespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
|
|
1154
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a57262e29e81cf71a40d4feb87b92925f"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a57262e29e81cf71a40d4feb87b92925f">SVF::SrcSnkDDA::addToCurForwardSlice</a></div><div class="ttdeci">void addToCurForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1154
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a57262e29e81cf71a40d4feb87b92925f"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a57262e29e81cf71a40d4feb87b92925f">SVF::SrcSnkDDA::addToCurForwardSlice</a></div><div class="ttdeci">void addToCurForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00162">SrcSnkDDA.h:162</a></div></div>
|
|
1155
1155
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
1156
1156
|
</div><!-- fragment -->
|
|
1157
1157
|
</div>
|
|
1158
1158
|
</div>
|
|
1159
|
-
<a id="
|
|
1160
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1159
|
+
<a id="acb99b47a514fc9d10fe1b989c7b09127"></a>
|
|
1160
|
+
<h2 class="memtitle"><span class="permalink"><a href="#acb99b47a514fc9d10fe1b989c7b09127">◆ </a></span>FWProcessOutgoingEdge()</h2>
|
|
1161
1161
|
|
|
1162
1162
|
<div class="memitem">
|
|
1163
1163
|
<div class="memproto">
|
|
@@ -1185,7 +1185,7 @@ Private Attributes</h2></td></tr>
|
|
|
1185
1185
|
</table>
|
|
1186
1186
|
</td>
|
|
1187
1187
|
<td class="mlabels-right">
|
|
1188
|
-
<span class="mlabels"><span class="mlabel">
|
|
1188
|
+
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">protected</span></span> </td>
|
|
1189
1189
|
</tr>
|
|
1190
1190
|
</table>
|
|
1191
1191
|
</div><div class="memdoc">
|
|
@@ -1197,8 +1197,8 @@ Private Attributes</h2></td></tr>
|
|
|
1197
1197
|
<p>whether this dstNode has been visited or not </p>
|
|
1198
1198
|
|
|
1199
1199
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8cpp_source.html#l00192">192</a> of file <a class="el" href="SrcSnkDDA_8cpp_source.html">SrcSnkDDA.cpp</a>.</p>
|
|
1200
|
-
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\n##processing source: "</span> << <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">getCurSlice</a>()->getSource()->getId() <<<span class="stringliteral">" forward propagate from ("</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>());</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="comment">// for indirect SVFGEdge, the propagation should follow the def-use chains</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="comment">// points-to on the edge indicate whether the object of source node can be propagated</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> newItem(dstNode->getId(),<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.getContexts());</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a391bb031b2f244e930b266a29cda0af7">isGlobalSVFGNode</a>(dstNode) || <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">getCurSlice</a>()-><a class="code" href="classSVF_1_1ProgSlice.html#a067480a9815fdb728cd259ef9b687e3e">isReachGlobal</a>())</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">getCurSlice</a>()-><a class="code" href="classSVF_1_1ProgSlice.html#a397632ce0c523c4a54c5dc578606d14d">setReachGlobal</a>();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="comment">// push context for calling</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">isCallVFGEdge</a>())</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = 0;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast<CallDirSVFGEdge>(edge))</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  csId = callEdge->getCallSiteId();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  csId = SVFUtil::cast<CallIndSVFGEdge>(edge)->getCallSiteId();</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  newItem.pushContext(csId);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" push cxt ["</span> << csId << <span class="stringliteral">"] "</span>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  }</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">// match context for return</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">isRetVFGEdge</a>())</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = 0;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast<RetDirSVFGEdge>(edge))</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  csId = callEdge->getCallSiteId();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  csId = SVFUtil::cast<RetIndSVFGEdge>(edge)->getCallSiteId();</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span> (newItem.matchContext(csId) == <span class="keyword">false</span>)</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"-|-\n"</span>);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" pop cxt ["</span> << csId << <span class="stringliteral">"] "</span>);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a8c86d30498e86745883fbaea4f530eae">forwardVisited</a>(dstNode,newItem))</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" node "</span><< dstNode->getId() <<<span class="stringliteral">" has been visited\n"</span>);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a51c65cb4b8ea107161e112a8fd3fb7d4">addForwardVisited</a>(dstNode, newItem);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem))</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" --> "</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">", cxt size: "</span> << newItem.getContexts().cxtSize() <<<span class="stringliteral">")\n"</span>);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a51c65cb4b8ea107161e112a8fd3fb7d4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a51c65cb4b8ea107161e112a8fd3fb7d4">SVF::SrcSnkDDA::addForwardVisited</a></div><div class="ttdeci">void addForwardVisited(const SVFGNode *node, const DPIm &item)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00284">SrcSnkDDA.h:284</a></div></div>
|
|
1201
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a391bb031b2f244e930b266a29cda0af7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a391bb031b2f244e930b266a29cda0af7">SVF::SrcSnkDDA::isGlobalSVFGNode</a></div><div class="ttdeci">bool isGlobalSVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether this svfg node may access global variable. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1200
|
+
<div class="fragment"><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"\n##processing source: "</span> << <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">getCurSlice</a>()->getSource()->getId() <<<span class="stringliteral">" forward propagate from ("</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">getSrcID</a>());</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="comment">// for indirect SVFGEdge, the propagation should follow the def-use chains</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="comment">// points-to on the edge indicate whether the object of source node can be propagated</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* dstNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a83d5ccf0836f8f751aff078f88328cca">DPIm</a> newItem(dstNode->getId(),<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a>.getContexts());</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a391bb031b2f244e930b266a29cda0af7">isGlobalSVFGNode</a>(dstNode) || <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">getCurSlice</a>()-><a class="code" href="classSVF_1_1ProgSlice.html#a067480a9815fdb728cd259ef9b687e3e">isReachGlobal</a>())</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">getCurSlice</a>()-><a class="code" href="classSVF_1_1ProgSlice.html#a397632ce0c523c4a54c5dc578606d14d">setReachGlobal</a>();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="comment">// push context for calling</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">isCallVFGEdge</a>())</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = 0;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallDirSVFGEdge.html">CallDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast<CallDirSVFGEdge>(edge))</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  csId = callEdge->getCallSiteId();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  csId = SVFUtil::cast<CallIndSVFGEdge>(edge)->getCallSiteId();</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  newItem.pushContext(csId);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" push cxt ["</span> << csId << <span class="stringliteral">"] "</span>);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  }</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">// match context for return</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">isRetVFGEdge</a>())</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = 0;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetDirSVFGEdge.html">RetDirSVFGEdge</a>* callEdge = SVFUtil::dyn_cast<RetDirSVFGEdge>(edge))</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  csId = callEdge->getCallSiteId();</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  csId = SVFUtil::cast<RetIndSVFGEdge>(edge)->getCallSiteId();</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span> (newItem.matchContext(csId) == <span class="keyword">false</span>)</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"-|-\n"</span>);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" pop cxt ["</span> << csId << <span class="stringliteral">"] "</span>);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a8c86d30498e86745883fbaea4f530eae">forwardVisited</a>(dstNode,newItem))</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" node "</span><< dstNode->getId() <<<span class="stringliteral">" has been visited\n"</span>);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a51c65cb4b8ea107161e112a8fd3fb7d4">addForwardVisited</a>(dstNode, newItem);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">pushIntoWorklist</a>(newItem))</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a>,<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">" --> "</span> << edge-><a class="code" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">getDstID</a>() << <span class="stringliteral">", cxt size: "</span> << newItem.getContexts().cxtSize() <<<span class="stringliteral">")\n"</span>);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a51c65cb4b8ea107161e112a8fd3fb7d4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a51c65cb4b8ea107161e112a8fd3fb7d4">SVF::SrcSnkDDA::addForwardVisited</a></div><div class="ttdeci">void addForwardVisited(const SVFGNode *node, const DPIm &item)</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00281">SrcSnkDDA.h:281</a></div></div>
|
|
1201
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a391bb031b2f244e930b266a29cda0af7"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a391bb031b2f244e930b266a29cda0af7">SVF::SrcSnkDDA::isGlobalSVFGNode</a></div><div class="ttdeci">bool isGlobalSVFGNode(const SVFGNode *node) const</div><div class="ttdoc">Whether this svfg node may access global variable. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00137">SrcSnkDDA.h:137</a></div></div>
|
|
1202
1202
|
<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#l00079">GenericGraph.h:79</a></div></div>
|
|
1203
1203
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a3937eef974c3953f1d1e7d64c5a24ff3"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a3937eef974c3953f1d1e7d64c5a24ff3">SVF::VFGEdge::isRetVFGEdge</a></div><div class="ttdeci">bool isRetVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00088">VFGEdge.h:88</a></div></div>
|
|
1204
1204
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00075">GenericGraph.h:75</a></div></div>
|
|
@@ -1206,15 +1206,15 @@ Private Attributes</h2></td></tr>
|
|
|
1206
1206
|
<div class="ttc" id="classSVF_1_1CallDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallDirSVFGEdge.html">SVF::CallDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00211">VFGEdge.h:211</a></div></div>
|
|
1207
1207
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a397632ce0c523c4a54c5dc578606d14d"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a397632ce0c523c4a54c5dc578606d14d">SVF::ProgSlice::setReachGlobal</a></div><div class="ttdeci">bool setReachGlobal()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00147">ProgSlice.h:147</a></div></div>
|
|
1208
1208
|
<div class="ttc" id="classSVF_1_1GraphReachSolver_html_a53564d384938c19980cb138f720e34e9"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a53564d384938c19980cb138f720e34e9">SVF::GraphReachSolver::pushIntoWorklist</a></div><div class="ttdeci">bool pushIntoWorklist(DPIm &item)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00160">GraphReachSolver.h:160</a></div></div>
|
|
1209
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a8c86d30498e86745883fbaea4f530eae"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a8c86d30498e86745883fbaea4f530eae">SVF::SrcSnkDDA::forwardVisited</a></div><div class="ttdeci">bool forwardVisited(const SVFGNode *node, const DPIm &item)</div><div class="ttdoc">Whether has been visited or not, in order to avoid recursion on SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1209
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a8c86d30498e86745883fbaea4f530eae"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a8c86d30498e86745883fbaea4f530eae">SVF::SrcSnkDDA::forwardVisited</a></div><div class="ttdeci">bool forwardVisited(const SVFGNode *node, const DPIm &item)</div><div class="ttdoc">Whether has been visited or not, in order to avoid recursion on SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00273">SrcSnkDDA.h:273</a></div></div>
|
|
1210
1210
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00095">GenericGraph.h:95</a></div></div>
|
|
1211
|
-
<div class="ttc" id="SVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#
|
|
1212
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad50e479db8f0733326974709d6ffe653"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">SVF::SrcSnkDDA::getCurSlice</a></div><div class="ttdeci">ProgSlice * getCurSlice() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1211
|
+
<div class="ttc" id="SVFType_8h_html_a817abc424f7cfcdec5954c7807970f36"><div class="ttname"><a href="SVFType_8h.html#a817abc424f7cfcdec5954c7807970f36">DSaber</a></div><div class="ttdeci">#define DSaber</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
|
|
1212
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ad50e479db8f0733326974709d6ffe653"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ad50e479db8f0733326974709d6ffe653">SVF::SrcSnkDDA::getCurSlice</a></div><div class="ttdeci">ProgSlice * getCurSlice() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00145">SrcSnkDDA.h:145</a></div></div>
|
|
1213
1213
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a067480a9815fdb728cd259ef9b687e3e"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a067480a9815fdb728cd259ef9b687e3e">SVF::ProgSlice::isReachGlobal</a></div><div class="ttdeci">bool isReachGlobal() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00159">ProgSlice.h:159</a></div></div>
|
|
1214
1214
|
<div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00058">SVFType.h:58</a></div></div>
|
|
1215
1215
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::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>
|
|
1216
1216
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a4352297ef44c4eff1efe2f348cce6fe9"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">SVF::VFGEdge::isCallVFGEdge</a></div><div class="ttdeci">bool isCallVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00084">VFGEdge.h:84</a></div></div>
|
|
1217
|
-
<div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#
|
|
1217
|
+
<div class="ttc" id="SVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_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="SVFType_8h_source.html#l00417">SVFType.h:417</a></div></div>
|
|
1218
1218
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
1219
1219
|
<div class="ttc" id="classSVF_1_1RetDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetDirSVFGEdge.html">SVF::RetDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00254">VFGEdge.h:254</a></div></div>
|
|
1220
1220
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
@@ -1246,8 +1246,8 @@ Private Attributes</h2></td></tr>
|
|
|
1246
1246
|
|
|
1247
1247
|
<p>Get Callgraph. </p>
|
|
1248
1248
|
|
|
1249
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1250
|
-
<div class="fragment"><div class="line"><a name="
|
|
1249
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00131">131</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1250
|
+
<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">ptaCallGraph</a>;</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a97be553370acf305f86e903bc3f0bb1a"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">SVF::SrcSnkDDA::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00079">SrcSnkDDA.h:79</a></div></div>
|
|
1251
1251
|
</div><!-- fragment -->
|
|
1252
1252
|
</div>
|
|
1253
1253
|
</div>
|
|
@@ -1274,8 +1274,8 @@ Private Attributes</h2></td></tr>
|
|
|
1274
1274
|
</table>
|
|
1275
1275
|
</div><div class="memdoc">
|
|
1276
1276
|
|
|
1277
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1278
|
-
<div class="fragment"><div class="line"><a name="
|
|
1277
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00145">145</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1278
|
+
<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1279
1279
|
</div><!-- fragment -->
|
|
1280
1280
|
</div>
|
|
1281
1281
|
</div>
|
|
@@ -1304,8 +1304,8 @@ Private Attributes</h2></td></tr>
|
|
|
1304
1304
|
|
|
1305
1305
|
<p>Get <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a>. </p>
|
|
1306
1306
|
|
|
1307
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1308
|
-
<div class="fragment"><div class="line"><a name="
|
|
1307
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00119">119</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1308
|
+
<div class="fragment"><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</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="SVFIR_8h_source.html#l00107">SVFIR.h:107</a></div></div>
|
|
1309
1309
|
</div><!-- fragment -->
|
|
1310
1310
|
</div>
|
|
1311
1311
|
</div>
|
|
@@ -1334,8 +1334,8 @@ Private Attributes</h2></td></tr>
|
|
|
1334
1334
|
|
|
1335
1335
|
<p>Get saber condition allocator. </p>
|
|
1336
1336
|
|
|
1337
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1338
|
-
<div class="fragment"><div class="line"><a name="
|
|
1337
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00240">240</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1338
|
+
<div class="fragment"><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a193ec317ac2208c7b92f024b35203f44">saberCondAllocator</a>.get();</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a193ec317ac2208c7b92f024b35203f44"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a193ec317ac2208c7b92f024b35203f44">SVF::SrcSnkDDA::saberCondAllocator</a></div><div class="ttdeci">std::unique_ptr< SaberCondAllocator > saberCondAllocator</div><div class="ttdoc">source nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00072">SrcSnkDDA.h:72</a></div></div>
|
|
1339
1339
|
</div><!-- fragment -->
|
|
1340
1340
|
</div>
|
|
1341
1341
|
</div>
|
|
@@ -1362,8 +1362,8 @@ Private Attributes</h2></td></tr>
|
|
|
1362
1362
|
</table>
|
|
1363
1363
|
</div><div class="memdoc">
|
|
1364
1364
|
|
|
1365
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1366
|
-
<div class="fragment"><div class="line"><a name="
|
|
1365
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00221">221</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1366
|
+
<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">sinks</a>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aaffd4b48be1f99e0450b23f20f034b1e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">SVF::SrcSnkDDA::sinks</a></div><div class="ttdeci">SVFGNodeSet sinks</div><div class="ttdoc">source nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00071">SrcSnkDDA.h:71</a></div></div>
|
|
1367
1367
|
</div><!-- fragment -->
|
|
1368
1368
|
</div>
|
|
1369
1369
|
</div>
|
|
@@ -1392,8 +1392,8 @@ Private Attributes</h2></td></tr>
|
|
|
1392
1392
|
|
|
1393
1393
|
<p>Get sources/sinks. </p>
|
|
1394
1394
|
|
|
1395
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1396
|
-
<div class="fragment"><div class="line"><a name="
|
|
1395
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00205">205</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1396
|
+
<div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">sources</a>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a96c41d03d2615f952b58dca327a2866c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">SVF::SrcSnkDDA::sources</a></div><div class="ttdeci">SVFGNodeSet sources</div><div class="ttdoc">current program slice </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00070">SrcSnkDDA.h:70</a></div></div>
|
|
1397
1397
|
</div><!-- fragment -->
|
|
1398
1398
|
</div>
|
|
1399
1399
|
</div>
|
|
@@ -1422,8 +1422,8 @@ Private Attributes</h2></td></tr>
|
|
|
1422
1422
|
|
|
1423
1423
|
<p>Get <a class="el" href="classSVF_1_1SVFG.html">SVFG</a>. </p>
|
|
1424
1424
|
|
|
1425
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1426
|
-
<div class="fragment"><div class="line"><a name="
|
|
1425
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00125">125</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1426
|
+
<div class="fragment"><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">graph</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div><div class="ttc" id="classSVF_1_1GraphReachSolver_html_a88775eedbbc3039caac1e350b48aa838"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a88775eedbbc3039caac1e350b48aa838">SVF::GraphReachSolver::graph</a></div><div class="ttdeci">const GraphType graph() const</div><div class="ttdoc">Get/Set graph methods. </div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00074">GraphReachSolver.h:74</a></div></div>
|
|
1427
1427
|
</div><!-- fragment -->
|
|
1428
1428
|
</div>
|
|
1429
1429
|
</div>
|
|
@@ -1456,19 +1456,19 @@ Private Attributes</h2></td></tr>
|
|
|
1456
1456
|
|
|
1457
1457
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8cpp_source.html#l00041">41</a> of file <a class="el" href="SrcSnkDDA_8cpp_source.html">SrcSnkDDA.cpp</a>.</p>
|
|
1458
1458
|
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="code" href="classSVF_1_1AndersenWaveDiff.html">AndersenWaveDiff</a>* ander = <a class="code" href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">AndersenWaveDiff::createAndersenWaveDiff</a>(pag);</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a5fb7733fd66ecad30eea8ced3839e590">Options::SABERFULLSVFG</a>)</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">svfg</a> = <a class="code" href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">buildFullSVFG</a>(ander);</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">svfg</a> = <a class="code" href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#ab7353191edd06568e2598177d253c1d9">buildPTROnlySVFG</a>(ander);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3">setGraph</a>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">memSSA</a>.<a class="code" href="classSVF_1_1SVFGBuilder.html#ad70dc4134a6290223b4168bde146b6d5">getSVFG</a>());</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">ptaCallGraph</a> = ander-><a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">//AndersenWaveDiff::releaseAndersenWaveDiff();</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment"></span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">getSaberCondAllocator</a>()-><a class="code" href="classSVF_1_1SaberCondAllocator.html#a0014c59d7f3c7bd0845548aea05a9a5b">allocate</a>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">getPAG</a>()->getModule());</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> </div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a1c8f91ffa0b9f01d51c8cd5e14f076d5">initSrcs</a>();</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a0f6cfa30c346aab1fb03a44e47c32559">initSnks</a>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a0f6cfa30c346aab1fb03a44e47c32559"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a0f6cfa30c346aab1fb03a44e47c32559">SVF::SrcSnkDDA::initSnks</a></div><div class="ttdeci">virtual void initSnks()=0</div></div>
|
|
1459
|
-
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
1459
|
+
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_a54a713e3989597b11cee70864d0197bd"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#a54a713e3989597b11cee70864d0197bd">SVF::SVFGBuilder::buildFullSVFG</a></div><div class="ttdeci">SVFG * buildFullSVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00049">SVFGBuilder.cpp:49</a></div></div>
|
|
1460
1460
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00378">Andersen.h:378</a></div></div>
|
|
1461
|
-
<div class="ttc" id="classSVF_1_1Options_html_a5fb7733fd66ecad30eea8ced3839e590"><div class="ttname"><a href="classSVF_1_1Options.html#a5fb7733fd66ecad30eea8ced3839e590">SVF::Options::SABERFULLSVFG</a></div><div class="ttdeci">static const llvm::cl::opt< bool > SABERFULLSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#
|
|
1461
|
+
<div class="ttc" id="classSVF_1_1Options_html_a5fb7733fd66ecad30eea8ced3839e590"><div class="ttname"><a href="classSVF_1_1Options.html#a5fb7733fd66ecad30eea8ced3839e590">SVF::Options::SABERFULLSVFG</a></div><div class="ttdeci">static const llvm::cl::opt< bool > SABERFULLSVFG</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00243">Options.h:243</a></div></div>
|
|
1462
1462
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</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="SVFIR_8h_source.html#l00107">SVFIR.h:107</a></div></div>
|
|
1463
1463
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ab6803f0a2b3507213ad2979b9b12f700"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">SVF::SrcSnkDDA::memSSA</a></div><div class="ttdeci">SaberSVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00077">SrcSnkDDA.h:77</a></div></div>
|
|
1464
1464
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a97be553370acf305f86e903bc3f0bb1a"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a97be553370acf305f86e903bc3f0bb1a">SVF::SrcSnkDDA::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00079">SrcSnkDDA.h:79</a></div></div>
|
|
1465
|
-
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_ab7353191edd06568e2598177d253c1d9"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#ab7353191edd06568e2598177d253c1d9">SVF::SVFGBuilder::buildPTROnlySVFG</a></div><div class="ttdeci">SVFG * buildPTROnlySVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#
|
|
1465
|
+
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_ab7353191edd06568e2598177d253c1d9"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#ab7353191edd06568e2598177d253c1d9">SVF::SVFGBuilder::buildPTROnlySVFG</a></div><div class="ttdeci">SVFG * buildPTROnlySVFG(BVDataPTAImpl *pta)</div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8cpp_source.html#l00041">SVFGBuilder.cpp:41</a></div></div>
|
|
1466
1466
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
|
|
1467
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af4f725606567ce8cc66b805df87a7afb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">SVF::SrcSnkDDA::getSaberCondAllocator</a></div><div class="ttdeci">SaberCondAllocator * getSaberCondAllocator() const</div><div class="ttdoc">Get saber condition allocator. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1467
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af4f725606567ce8cc66b805df87a7afb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">SVF::SrcSnkDDA::getSaberCondAllocator</a></div><div class="ttdeci">SaberCondAllocator * getSaberCondAllocator() const</div><div class="ttdoc">Get saber condition allocator. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00240">SrcSnkDDA.h:240</a></div></div>
|
|
1468
1468
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ae657ebdeae8a083cfec210859a0023e4"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ae657ebdeae8a083cfec210859a0023e4">SVF::SrcSnkDDA::svfg</a></div><div class="ttdeci">SVFG * svfg</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00078">SrcSnkDDA.h:78</a></div></div>
|
|
1469
1469
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00389">Andersen.h:389</a></div></div>
|
|
1470
|
-
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_ad70dc4134a6290223b4168bde146b6d5"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#ad70dc4134a6290223b4168bde146b6d5">SVF::SVFGBuilder::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG instance. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#
|
|
1471
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4f37c66db2588cd691353a9ad1a4d5b1"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">SVF::SrcSnkDDA::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdoc">Get SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1470
|
+
<div class="ttc" id="classSVF_1_1SVFGBuilder_html_ad70dc4134a6290223b4168bde146b6d5"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html#ad70dc4134a6290223b4168bde146b6d5">SVF::SVFGBuilder::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG instance. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00061">SVFGBuilder.h:61</a></div></div>
|
|
1471
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a4f37c66db2588cd691353a9ad1a4d5b1"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a4f37c66db2588cd691353a9ad1a4d5b1">SVF::SrcSnkDDA::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdoc">Get SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00119">SrcSnkDDA.h:119</a></div></div>
|
|
1472
1472
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a1c8f91ffa0b9f01d51c8cd5e14f076d5"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a1c8f91ffa0b9f01d51c8cd5e14f076d5">SVF::SrcSnkDDA::initSrcs</a></div><div class="ttdeci">virtual void initSrcs()=0</div></div>
|
|
1473
1473
|
<div class="ttc" id="classSVF_1_1GraphReachSolver_html_a0298a692295a8a4eae32ab151aa6ccc3"><div class="ttname"><a href="classSVF_1_1GraphReachSolver.html#a0298a692295a8a4eae32ab151aa6ccc3">SVF::GraphReachSolver::setGraph</a></div><div class="ttdeci">void setGraph(GraphType g)</div><div class="ttdef"><b>Definition:</b> <a href="GraphReachSolver_8h_source.html#l00078">GraphReachSolver.h:78</a></div></div>
|
|
1474
1474
|
<div class="ttc" id="classSVF_1_1SaberCondAllocator_html_a0014c59d7f3c7bd0845548aea05a9a5b"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a0014c59d7f3c7bd0845548aea05a9a5b">SVF::SaberCondAllocator::allocate</a></div><div class="ttdeci">void allocate(const SVFModule *module)</div><div class="ttdoc">Perform path allocation. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8cpp_source.html#l00056">SaberCondAllocator.cpp:56</a></div></div>
|
|
@@ -1556,8 +1556,8 @@ Private Attributes</h2></td></tr>
|
|
|
1556
1556
|
|
|
1557
1557
|
<p>Whether it is all path reachable from a source. </p>
|
|
1558
1558
|
|
|
1559
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1560
|
-
<div class="fragment"><div class="line"><a name="
|
|
1559
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00301">301</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1560
|
+
<div class="fragment"><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a2f96f034b7236791fe1d4d351174722e">isAllReachable</a>();</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1561
1561
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a2f96f034b7236791fe1d4d351174722e"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a2f96f034b7236791fe1d4d351174722e">SVF::ProgSlice::isAllReachable</a></div><div class="ttdeci">bool isAllReachable() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00155">ProgSlice.h:155</a></div></div>
|
|
1562
1562
|
</div><!-- fragment -->
|
|
1563
1563
|
</div>
|
|
@@ -1588,8 +1588,8 @@ Private Attributes</h2></td></tr>
|
|
|
1588
1588
|
|
|
1589
1589
|
<p>Whether this svfg node may access global variable. </p>
|
|
1590
1590
|
|
|
1591
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1592
|
-
<div class="fragment"><div class="line"><a name="
|
|
1591
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00137">137</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1592
|
+
<div class="fragment"><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">memSSA</a>.<a class="code" href="classSVF_1_1SaberSVFGBuilder.html#afbcd75844af51ff51c09c377f80a49cf">isGlobalSVFGNode</a>(node);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_afbcd75844af51ff51c09c377f80a49cf"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#afbcd75844af51ff51c09c377f80a49cf">SVF::SaberSVFGBuilder::isGlobalSVFGNode</a></div><div class="ttdeci">bool isGlobalSVFGNode(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00054">SaberSVFGBuilder.h:54</a></div></div>
|
|
1593
1593
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_ab6803f0a2b3507213ad2979b9b12f700"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#ab6803f0a2b3507213ad2979b9b12f700">SVF::SrcSnkDDA::memSSA</a></div><div class="ttdeci">SaberSVFGBuilder memSSA</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00077">SrcSnkDDA.h:77</a></div></div>
|
|
1594
1594
|
</div><!-- fragment -->
|
|
1595
1595
|
</div>
|
|
@@ -1637,7 +1637,7 @@ Private Attributes</h2></td></tr>
|
|
|
1637
1637
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a3c0d8850c4dae49a760ce5f80fb8822a"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a3c0d8850c4dae49a760ce5f80fb8822a">SVF::SrcSnkDDA::WorkList</a></div><div class="ttdeci">ProgSlice::VFWorkList WorkList</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00066">SrcSnkDDA.h:66</a></div></div>
|
|
1638
1638
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00095">GenericGraph.h:95</a></div></div>
|
|
1639
1639
|
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a70cff8ea7c033c01400935c9e446f2c6"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a70cff8ea7c033c01400935c9e446f2c6">SVF::SrcSnkDDA::SVFGNodeBS</a></div><div class="ttdeci">NodeBS SVFGNodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00065">SrcSnkDDA.h:65</a></div></div>
|
|
1640
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1640
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00125">SrcSnkDDA.h:125</a></div></div>
|
|
1641
1641
|
<div class="ttc" id="classSVF_1_1ActualRetVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualRetVFGNode.html">SVF::ActualRetVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00967">VFGNode.h:967</a></div></div>
|
|
1642
1642
|
<div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
|
|
1643
1643
|
<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#l00171">GenericGraph.h:171</a></div></div>
|
|
@@ -1674,8 +1674,8 @@ Private Attributes</h2></td></tr>
|
|
|
1674
1674
|
</table>
|
|
1675
1675
|
</div><div class="memdoc">
|
|
1676
1676
|
|
|
1677
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1678
|
-
<div class="fragment"><div class="line"><a name="
|
|
1677
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00158">158</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1678
|
+
<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a066430ffa98a3fa0a5ad48d26e0450f7">inBackwardSlice</a>(node);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1679
1679
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a066430ffa98a3fa0a5ad48d26e0450f7"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a066430ffa98a3fa0a5ad48d26e0450f7">SVF::ProgSlice::inBackwardSlice</a></div><div class="ttdeci">bool inBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00095">ProgSlice.h:95</a></div></div>
|
|
1680
1680
|
</div><!-- fragment -->
|
|
1681
1681
|
</div>
|
|
@@ -1704,8 +1704,8 @@ Private Attributes</h2></td></tr>
|
|
|
1704
1704
|
</table>
|
|
1705
1705
|
</div><div class="memdoc">
|
|
1706
1706
|
|
|
1707
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1708
|
-
<div class="fragment"><div class="line"><a name="
|
|
1707
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00154">154</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1708
|
+
<div class="fragment"><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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a5a4b7f34001cc90f9b60222caee1bde6">inForwardSlice</a>(node);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1709
1709
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a5a4b7f34001cc90f9b60222caee1bde6"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a5a4b7f34001cc90f9b60222caee1bde6">SVF::ProgSlice::inForwardSlice</a></div><div class="ttdeci">bool inForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00091">ProgSlice.h:91</a></div></div>
|
|
1710
1710
|
</div><!-- fragment -->
|
|
1711
1711
|
</div>
|
|
@@ -1734,8 +1734,8 @@ Private Attributes</h2></td></tr>
|
|
|
1734
1734
|
</table>
|
|
1735
1735
|
</div><div class="memdoc">
|
|
1736
1736
|
|
|
1737
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1738
|
-
<div class="fragment"><div class="line"><a name="
|
|
1737
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00191">191</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1738
|
+
<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a1145c601df2e3dec1e32e43613447b96">getSinks</a>().find(node)!=<a class="code" href="classSVF_1_1SrcSnkDDA.html#a1145c601df2e3dec1e32e43613447b96">getSinks</a>().end();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a1145c601df2e3dec1e32e43613447b96"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a1145c601df2e3dec1e32e43613447b96">SVF::SrcSnkDDA::getSinks</a></div><div class="ttdeci">const SVFGNodeSet & getSinks() const</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00221">SrcSnkDDA.h:221</a></div></div>
|
|
1739
1739
|
</div><!-- fragment -->
|
|
1740
1740
|
</div>
|
|
1741
1741
|
</div>
|
|
@@ -1765,8 +1765,8 @@ Private Attributes</h2></td></tr>
|
|
|
1765
1765
|
|
|
1766
1766
|
<p>Reimplemented in <a class="el" href="classSVF_1_1LeakChecker.html#aa45d35a0dc5162e8cef8b27b92ff243d">SVF::LeakChecker</a>, and <a class="el" href="classSVF_1_1FileChecker.html#aac61c4566cd79827879f4862664a432e">SVF::FileChecker</a>.</p>
|
|
1767
1767
|
|
|
1768
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1769
|
-
<div class="fragment"><div class="line"><a name="
|
|
1768
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00181">181</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1769
|
+
<div class="fragment"><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  }</div></div><!-- fragment -->
|
|
1770
1770
|
</div>
|
|
1771
1771
|
</div>
|
|
1772
1772
|
<a id="a19ab6f6df2a67b294268cfe7f4287fd7"></a>
|
|
@@ -1794,8 +1794,8 @@ Private Attributes</h2></td></tr>
|
|
|
1794
1794
|
|
|
1795
1795
|
<p>Whether it is some path reachable from a source. </p>
|
|
1796
1796
|
|
|
1797
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1798
|
-
<div class="fragment"><div class="line"><a name="
|
|
1797
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00306">306</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1798
|
+
<div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a3822badbbe9ac808296d5248f2dbf8e2">isPartialReachable</a>();</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1799
1799
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a3822badbbe9ac808296d5248f2dbf8e2"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a3822badbbe9ac808296d5248f2dbf8e2">SVF::ProgSlice::isPartialReachable</a></div><div class="ttdeci">bool isPartialReachable() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00151">ProgSlice.h:151</a></div></div>
|
|
1800
1800
|
</div><!-- fragment -->
|
|
1801
1801
|
</div>
|
|
@@ -1824,8 +1824,8 @@ Private Attributes</h2></td></tr>
|
|
|
1824
1824
|
</table>
|
|
1825
1825
|
</div><div class="memdoc">
|
|
1826
1826
|
|
|
1827
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1828
|
-
<div class="fragment"><div class="line"><a name="
|
|
1827
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00186">186</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1828
|
+
<div class="fragment"><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a0c3d3b5ac74aa933178fa46b949d8bef">getSources</a>().find(node)!=<a class="code" href="classSVF_1_1SrcSnkDDA.html#a0c3d3b5ac74aa933178fa46b949d8bef">getSources</a>().end();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a0c3d3b5ac74aa933178fa46b949d8bef"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a0c3d3b5ac74aa933178fa46b949d8bef">SVF::SrcSnkDDA::getSources</a></div><div class="ttdeci">const SVFGNodeSet & getSources() const</div><div class="ttdoc">Get sources/sinks. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00205">SrcSnkDDA.h:205</a></div></div>
|
|
1829
1829
|
</div><!-- fragment -->
|
|
1830
1830
|
</div>
|
|
1831
1831
|
</div>
|
|
@@ -1855,8 +1855,8 @@ Private Attributes</h2></td></tr>
|
|
|
1855
1855
|
|
|
1856
1856
|
<p>Reimplemented in <a class="el" href="classSVF_1_1LeakChecker.html#afeee30f5f0c08d9aed59be3064bcc134">SVF::LeakChecker</a>, and <a class="el" href="classSVF_1_1FileChecker.html#ab2ed4c1d3aa00ac663441f32d9f3115f">SVF::FileChecker</a>.</p>
|
|
1857
1857
|
|
|
1858
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1859
|
-
<div class="fragment"><div class="line"><a name="
|
|
1858
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00176">176</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1859
|
+
<div class="fragment"><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div></div><!-- fragment -->
|
|
1860
1860
|
</div>
|
|
1861
1861
|
</div>
|
|
1862
1862
|
<a id="a8aa11629166b76a7b6555dee85e512b2"></a>
|
|
@@ -1883,7 +1883,7 @@ Private Attributes</h2></td></tr>
|
|
|
1883
1883
|
</div><div class="memdoc">
|
|
1884
1884
|
|
|
1885
1885
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8cpp_source.html#l00302">302</a> of file <a class="el" href="SrcSnkDDA_8cpp_source.html">SrcSnkDDA.cpp</a>.</p>
|
|
1886
|
-
<div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"Z3 Mem usage: "</span> << <a class="code" href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">getSaberCondAllocator</a>()-><a class="code" href="classSVF_1_1SaberCondAllocator.html#ac0060d6660cb022e599dbcb9eabc5aaa">getMemUsage</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"Z3 Number: "</span> << <a class="code" href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">getSaberCondAllocator</a>()-><a class="code" href="classSVF_1_1SaberCondAllocator.html#a634376c35eceaf4dc995a71484d9bc7c">getCondNum</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af4f725606567ce8cc66b805df87a7afb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">SVF::SrcSnkDDA::getSaberCondAllocator</a></div><div class="ttdeci">SaberCondAllocator * getSaberCondAllocator() const</div><div class="ttdoc">Get saber condition allocator. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1886
|
+
<div class="fragment"><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"Z3 Mem usage: "</span> << <a class="code" href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">getSaberCondAllocator</a>()-><a class="code" href="classSVF_1_1SaberCondAllocator.html#ac0060d6660cb022e599dbcb9eabc5aaa">getMemUsage</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"Z3 Number: "</span> << <a class="code" href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">getSaberCondAllocator</a>()-><a class="code" href="classSVF_1_1SaberCondAllocator.html#a634376c35eceaf4dc995a71484d9bc7c">getCondNum</a>() << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af4f725606567ce8cc66b805df87a7afb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">SVF::SrcSnkDDA::getSaberCondAllocator</a></div><div class="ttdeci">SaberCondAllocator * getSaberCondAllocator() const</div><div class="ttdoc">Get saber condition allocator. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00240">SrcSnkDDA.h:240</a></div></div>
|
|
1887
1887
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::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>
|
|
1888
1888
|
<div class="ttc" id="classSVF_1_1SaberCondAllocator_html_ac0060d6660cb022e599dbcb9eabc5aaa"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#ac0060d6660cb022e599dbcb9eabc5aaa">SVF::SaberCondAllocator::getMemUsage</a></div><div class="ttdeci">std::string getMemUsage()</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00070">SaberCondAllocator.h:70</a></div></div>
|
|
1889
1889
|
<div class="ttc" id="classSVF_1_1SaberCondAllocator_html_a634376c35eceaf4dc995a71484d9bc7c"><div class="ttname"><a href="classSVF_1_1SaberCondAllocator.html#a634376c35eceaf4dc995a71484d9bc7c">SVF::SaberCondAllocator::getCondNum</a></div><div class="ttdeci">u32_t getCondNum()</div><div class="ttdef"><b>Definition:</b> <a href="SaberCondAllocator_8h_source.html#l00078">SaberCondAllocator.h:78</a></div></div>
|
|
@@ -1949,9 +1949,9 @@ Private Attributes</h2></td></tr>
|
|
|
1949
1949
|
|
|
1950
1950
|
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8cpp_source.html#l00272">272</a> of file <a class="el" href="SrcSnkDDA_8cpp_source.html">SrcSnkDDA.cpp</a>.</p>
|
|
1951
1951
|
<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>!=<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keyword">delete</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a>;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#af048c70d7e68da22835570a3381eb14d">clearVisitedMap</a>();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">_curSlice</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ProgSlice.html">ProgSlice</a>(src,<a class="code" href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">getSaberCondAllocator</a>(), <a class="code" href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">getSVFG</a>());</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a60dcf333cb36230d5f3070e8d238ad6d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a60dcf333cb36230d5f3070e8d238ad6d">SVF::SrcSnkDDA::_curSlice</a></div><div class="ttdeci">ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00069">SrcSnkDDA.h:69</a></div></div>
|
|
1952
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af048c70d7e68da22835570a3381eb14d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af048c70d7e68da22835570a3381eb14d">SVF::SrcSnkDDA::clearVisitedMap</a></div><div class="ttdeci">void clearVisitedMap()</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1953
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af4f725606567ce8cc66b805df87a7afb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">SVF::SrcSnkDDA::getSaberCondAllocator</a></div><div class="ttdeci">SaberCondAllocator * getSaberCondAllocator() const</div><div class="ttdoc">Get saber condition allocator. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1954
|
-
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#
|
|
1952
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af048c70d7e68da22835570a3381eb14d"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af048c70d7e68da22835570a3381eb14d">SVF::SrcSnkDDA::clearVisitedMap</a></div><div class="ttdeci">void clearVisitedMap()</div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00293">SrcSnkDDA.h:293</a></div></div>
|
|
1953
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_af4f725606567ce8cc66b805df87a7afb"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#af4f725606567ce8cc66b805df87a7afb">SVF::SrcSnkDDA::getSaberCondAllocator</a></div><div class="ttdeci">SaberCondAllocator * getSaberCondAllocator() const</div><div class="ttdoc">Get saber condition allocator. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00240">SrcSnkDDA.h:240</a></div></div>
|
|
1954
|
+
<div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a529b40c870c74309440f025e490bb161"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a529b40c870c74309440f025e490bb161">SVF::SrcSnkDDA::getSVFG</a></div><div class="ttdeci">const SVFG * getSVFG() const</div><div class="ttdoc">Get SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00125">SrcSnkDDA.h:125</a></div></div>
|
|
1955
1955
|
<div class="ttc" id="classSVF_1_1ProgSlice_html"><div class="ttname"><a href="classSVF_1_1ProgSlice.html">SVF::ProgSlice</a></div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00048">ProgSlice.h:48</a></div></div>
|
|
1956
1956
|
</div><!-- fragment -->
|
|
1957
1957
|
</div>
|
|
@@ -1979,8 +1979,8 @@ Private Attributes</h2></td></tr>
|
|
|
1979
1979
|
</table>
|
|
1980
1980
|
</div><div class="memdoc">
|
|
1981
1981
|
|
|
1982
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
1983
|
-
<div class="fragment"><div class="line"><a name="
|
|
1982
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00225">225</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
1983
|
+
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">sinks</a>.begin();</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aaffd4b48be1f99e0450b23f20f034b1e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">SVF::SrcSnkDDA::sinks</a></div><div class="ttdeci">SVFGNodeSet sinks</div><div class="ttdoc">source nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00071">SrcSnkDDA.h:71</a></div></div>
|
|
1984
1984
|
</div><!-- fragment -->
|
|
1985
1985
|
</div>
|
|
1986
1986
|
</div>
|
|
@@ -2007,8 +2007,8 @@ Private Attributes</h2></td></tr>
|
|
|
2007
2007
|
</table>
|
|
2008
2008
|
</div><div class="memdoc">
|
|
2009
2009
|
|
|
2010
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
2011
|
-
<div class="fragment"><div class="line"><a name="
|
|
2010
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00229">229</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
2011
|
+
<div class="fragment"><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">sinks</a>.end();</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_aaffd4b48be1f99e0450b23f20f034b1e"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e">SVF::SrcSnkDDA::sinks</a></div><div class="ttdeci">SVFGNodeSet sinks</div><div class="ttdoc">source nodes </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00071">SrcSnkDDA.h:71</a></div></div>
|
|
2012
2012
|
</div><!-- fragment -->
|
|
2013
2013
|
</div>
|
|
2014
2014
|
</div>
|
|
@@ -2035,8 +2035,8 @@ Private Attributes</h2></td></tr>
|
|
|
2035
2035
|
</table>
|
|
2036
2036
|
</div><div class="memdoc">
|
|
2037
2037
|
|
|
2038
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
2039
|
-
<div class="fragment"><div class="line"><a name="
|
|
2038
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00209">209</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
2039
|
+
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">sources</a>.begin();</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a96c41d03d2615f952b58dca327a2866c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">SVF::SrcSnkDDA::sources</a></div><div class="ttdeci">SVFGNodeSet sources</div><div class="ttdoc">current program slice </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00070">SrcSnkDDA.h:70</a></div></div>
|
|
2040
2040
|
</div><!-- fragment -->
|
|
2041
2041
|
</div>
|
|
2042
2042
|
</div>
|
|
@@ -2063,8 +2063,8 @@ Private Attributes</h2></td></tr>
|
|
|
2063
2063
|
</table>
|
|
2064
2064
|
</div><div class="memdoc">
|
|
2065
2065
|
|
|
2066
|
-
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#
|
|
2067
|
-
<div class="fragment"><div class="line"><a name="
|
|
2066
|
+
<p class="definition">Definition at line <a class="el" href="SrcSnkDDA_8h_source.html#l00213">213</a> of file <a class="el" href="SrcSnkDDA_8h_source.html">SrcSnkDDA.h</a>.</p>
|
|
2067
|
+
<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">sources</a>.end();</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div><div class="ttc" id="classSVF_1_1SrcSnkDDA_html_a96c41d03d2615f952b58dca327a2866c"><div class="ttname"><a href="classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c">SVF::SrcSnkDDA::sources</a></div><div class="ttdeci">SVFGNodeSet sources</div><div class="ttdoc">current program slice </div><div class="ttdef"><b>Definition:</b> <a href="SrcSnkDDA_8h_source.html#l00070">SrcSnkDDA.h:70</a></div></div>
|
|
2068
2068
|
</div><!-- fragment -->
|
|
2069
2069
|
</div>
|
|
2070
2070
|
</div>
|
|
@@ -2167,8 +2167,8 @@ Private Attributes</h2></td></tr>
|
|
|
2167
2167
|
|
|
2168
2168
|
</div>
|
|
2169
2169
|
</div>
|
|
2170
|
-
<a id="
|
|
2171
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
2170
|
+
<a id="a193ec317ac2208c7b92f024b35203f44"></a>
|
|
2171
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a193ec317ac2208c7b92f024b35203f44">◆ </a></span>saberCondAllocator</h2>
|
|
2172
2172
|
|
|
2173
2173
|
<div class="memitem">
|
|
2174
2174
|
<div class="memproto">
|
|
@@ -2177,7 +2177,7 @@ Private Attributes</h2></td></tr>
|
|
|
2177
2177
|
<td class="mlabels-left">
|
|
2178
2178
|
<table class="memname">
|
|
2179
2179
|
<tr>
|
|
2180
|
-
<td class="memname"
|
|
2180
|
+
<td class="memname">std::unique_ptr<<a class="el" href="classSVF_1_1SaberCondAllocator.html">SaberCondAllocator</a>> SVF::SrcSnkDDA::saberCondAllocator</td>
|
|
2181
2181
|
</tr>
|
|
2182
2182
|
</table>
|
|
2183
2183
|
</td>
|