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
|
@@ -270,7 +270,7 @@ Static Private Member Functions</h2></td></tr>
|
|
|
270
270
|
<p class="definition">Definition at line <a class="el" href="VersionedFlowSensitive_8cpp_source.html#l00984">984</a> of file <a class="el" href="VersionedFlowSensitive_8cpp_source.html">VersionedFlowSensitive.cpp</a>.</p>
|
|
271
271
|
<div class="fragment"><div class="line"><a name="l00993"></a><span class="lineno"> 993</span> {</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> vId = v-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span> </div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span>  nodeData[vId].index = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  nodeData[vId].lowlink = <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  ++<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span> </div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  stack.push(v);</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  nodeData[vId].onStack = <span class="keyword">true</span>;</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> </div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a> *e : v-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>())</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span>  {</div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a> *ie = <a class="code" href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1IndirectSVFGEdge.html">IndirectSVFGEdge</a>>(e);</div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>  <span class="keywordflow">if</span> (!ie) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = ie-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> wId = w-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> </div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="comment">// If object is not part of the edge, there is no edge from v to w.</span></div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <span class="keywordflow">if</span> (!ie-><a class="code" href="classSVF_1_1IndirectSVFGEdge.html#a30aca718d25924f1babdf348bb0ace71">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">test</a>(<span class="keywordtype">object</span>)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span>  <span class="comment">// Even if we don't count edges to stores and deltas for SCCs' sake, they</span></div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  <span class="comment">// are relevant to the footprint as a propagation still occurs over such edges.</span></div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  footprint.push_back(ie);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="comment">// Ignore edges to delta nodes because they are prelabeled so cannot</span></div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  <span class="comment">// be part of the SCC v is in (already in nodesTodo from the prelabeled set).</span></div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  <span class="comment">// Similarly, store nodes.</span></div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keywordflow">if</span> (vfs-><a class="code" href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">delta</a>(wId) || vfs-><a class="code" href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">isStore</a>(wId)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span> </div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keywordflow">if</span> (nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a> == -1)</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span>  {</div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <a class="code" href="classSVF_1_1VersionedFlowSensitive_1_1SCC.html#af7ba77d72962b930a8107752e259008b">visit</a>(vfs, <span class="keywordtype">object</span>, partOf, footprint, nodeData, stack, <a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>, currentSCC, w);</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].lowlink);</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  }</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodeData[wId].onStack)</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  {</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  nodeData[vId].lowlink = std::min(nodeData[vId].lowlink, nodeData[wId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>);</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  }</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  }</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="keywordflow">if</span> (nodeData[vId].lowlink == nodeData[vId].<a class="code" href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a>)</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  {</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a> *w = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keywordflow">do</span></div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  w = stack.top();</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  stack.pop();</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> wId = w-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  nodeData[wId].onStack = <span class="keyword">false</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  partOf[wId] = currentSCC;</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  }</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="keywordflow">while</span> (w != v);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span> </div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  <span class="comment">// For the next SCC.</span></div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  ++currentSCC;</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  }</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> }</div><div class="ttc" id="cJSON_8h_html_a750b5d744c39a06bfb13e6eb010e35d0"><div class="ttname"><a href="cJSON_8h.html#a750b5d744c39a06bfb13e6eb010e35d0">index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00170">cJSON.h:170</a></div></div>
|
|
272
272
|
<div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
273
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
273
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a112f2ede1240c95f9fe810f2882fab80"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a112f2ede1240c95f9fe810f2882fab80">SVF::SparseBitVector::test</a></div><div class="ttdeci">bool test(unsigned Idx) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00700">SparseBitVector.h:700</a></div></div>
|
|
274
274
|
<div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aac920c9a5f13dd147e3c130425e005eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aac920c9a5f13dd147e3c130425e005eb">SVF::VersionedFlowSensitive::isStore</a></div><div class="ttdeci">virtual bool isStore(const NodeID l) const</div><div class="ttdoc">Returns true if l is a store node. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00455">VersionedFlowSensitive.cpp:455</a></div></div>
|
|
275
275
|
<div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a9f9b00551c157f42d1d995e8c4efb54b"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a9f9b00551c157f42d1d995e8c4efb54b">SVF::VersionedFlowSensitive::delta</a></div><div class="ttdeci">virtual bool delta(const NodeID l) const</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00432">VersionedFlowSensitive.cpp:432</a></div></div>
|
|
276
276
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af6e96694d983643a66c238cce01bff0e"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if_t<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type > dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00405">Casting.h:405</a></div></div>
|
|
@@ -348,7 +348,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
348
348
|
</table>
|
|
349
349
|
</div><div class="memdoc">
|
|
350
350
|
|
|
351
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#af39232f64ff0ede20161c7f265da6cf5">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
351
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#af39232f64ff0ede20161c7f265da6cf5">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#a3ca0f6fcfdf2f8c471ea47501bec08fe">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
352
352
|
|
|
353
353
|
</div>
|
|
354
354
|
</div>
|
|
@@ -439,7 +439,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
439
439
|
</table>
|
|
440
440
|
</div><div class="memdoc">
|
|
441
441
|
|
|
442
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#aaf3df7501f84233f6a687ef9f2f0ae90">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
442
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#aaf3df7501f84233f6a687ef9f2f0ae90">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#a7560a47f1e8894b9025b779c4794138c">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
443
443
|
|
|
444
444
|
</div>
|
|
445
445
|
</div>
|
|
@@ -479,7 +479,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
479
479
|
</table>
|
|
480
480
|
</div><div class="memdoc">
|
|
481
481
|
|
|
482
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a21e823484199946541b8b79d736b2601">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
482
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a21e823484199946541b8b79d736b2601">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#a64e3dbd840184eb8e829c4d003b5b4cf">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
483
483
|
|
|
484
484
|
</div>
|
|
485
485
|
</div>
|
|
@@ -509,7 +509,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
509
509
|
</table>
|
|
510
510
|
</div><div class="memdoc">
|
|
511
511
|
|
|
512
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#afcc34f6cedca6a8f151b1a7251832818">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
512
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#afcc34f6cedca6a8f151b1a7251832818">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#ae705d46ac78d39f0779c0bf05e39f8b3">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
513
513
|
|
|
514
514
|
</div>
|
|
515
515
|
</div>
|
|
@@ -539,7 +539,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
539
539
|
</table>
|
|
540
540
|
</div><div class="memdoc">
|
|
541
541
|
|
|
542
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#afaef5c61bee74cbd649c787cfdef2a03">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
542
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#afaef5c61bee74cbd649c787cfdef2a03">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#acabb81409a3767f31227f46e106cb2d0">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
543
543
|
|
|
544
544
|
</div>
|
|
545
545
|
</div>
|
|
@@ -579,7 +579,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
579
579
|
</table>
|
|
580
580
|
</div><div class="memdoc">
|
|
581
581
|
|
|
582
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a56e752a83620f482a4b1e2f8d395dd75">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
582
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a56e752a83620f482a4b1e2f8d395dd75">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#ae0eafb4667af1ba821247f9f4199d52f">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
583
583
|
|
|
584
584
|
</div>
|
|
585
585
|
</div>
|
|
@@ -619,7 +619,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
619
619
|
</table>
|
|
620
620
|
</div><div class="memdoc">
|
|
621
621
|
|
|
622
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a5647b7fad5c14f7ec57d3de3480758eb">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
622
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a5647b7fad5c14f7ec57d3de3480758eb">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#a5e6ab689e9a9eefdd5f6bf04ab279940">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
623
623
|
|
|
624
624
|
</div>
|
|
625
625
|
</div>
|
|
@@ -659,7 +659,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
659
659
|
</table>
|
|
660
660
|
</div><div class="memdoc">
|
|
661
661
|
|
|
662
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a9967c530d3955a0a726b7a00653ef0ba">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
662
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#a9967c530d3955a0a726b7a00653ef0ba">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#adb56e144709cab8efe057c3215e30b9b">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
663
663
|
|
|
664
664
|
</div>
|
|
665
665
|
</div>
|
|
@@ -699,7 +699,7 @@ template<typename Key , typename KeySet , typename Data , typename DataSet ,
|
|
|
699
699
|
</table>
|
|
700
700
|
</div><div class="memdoc">
|
|
701
701
|
|
|
702
|
-
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#aa9d24a4defb025c075e4ec5bc7f3b618">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#
|
|
702
|
+
<p>Implemented in <a class="el" href="classSVF_1_1MutableVersionedPTData.html#aa9d24a4defb025c075e4ec5bc7f3b618">SVF::MutableVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>, and <a class="el" href="classSVF_1_1PersistentVersionedPTData.html#ab4828e2b42d646463bfd23c2154c3b8f">SVF::PersistentVersionedPTData< Key, KeySet, Data, DataSet, VersionedKey, VersionedKeySet ></a>.</p>
|
|
703
703
|
|
|
704
704
|
</div>
|
|
705
705
|
</div>
|
|
@@ -92,7 +92,7 @@ $(function() {
|
|
|
92
92
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(NodeID id)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
93
93
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
94
94
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"></td></tr>
|
|
95
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#
|
|
95
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">scc</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
96
96
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SCCDetect</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
97
97
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a16d371c8f6a9bdb1ca984bcb287d6c5a">SVF::WPASolver::SCCDetect</a>(NodeSet &candidates)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
98
98
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#a0bbaffd1673cc3850217afad0ca56e42">sccRepNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
@@ -103,7 +103,7 @@ $(function() {
|
|
|
103
103
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#a3bab50f0e94f516204d6622420de7db7">WPAFSSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
104
104
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
|
105
105
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#ab3c7f670b0f0e055d5398e69b61194f8">~WPAFSSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
106
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#
|
|
106
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">~WPASolver</a>()=default</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
107
107
|
</table></div><!-- contents -->
|
|
108
108
|
<!-- start footer part -->
|
|
109
109
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -109,9 +109,9 @@ Protected Member Functions</h2></td></tr>
|
|
|
109
109
|
<tr class="memitem:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a> ()</td></tr>
|
|
110
110
|
<tr class="memdesc:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">More...</a><br /></td></tr>
|
|
111
111
|
<tr class="separator:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
112
|
-
<tr class="memitem:
|
|
113
|
-
<tr class="memdesc:
|
|
114
|
-
<tr class="separator:
|
|
112
|
+
<tr class="memitem:a99571af72e62bcf535a05095835bddfb inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">~WPASolver</a> ()=default</td></tr>
|
|
113
|
+
<tr class="memdesc:a99571af72e62bcf535a05095835bddfb inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">More...</a><br /></td></tr>
|
|
114
|
+
<tr class="separator:a99571af72e62bcf535a05095835bddfb inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
115
115
|
<tr class="memitem:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a> () const</td></tr>
|
|
116
116
|
<tr class="memdesc:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get SCC detector. <a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">More...</a><br /></td></tr>
|
|
117
117
|
<tr class="separator:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -168,9 +168,9 @@ Protected Attributes</h2></td></tr>
|
|
|
168
168
|
<tr class="memitem:a87e9adb7fb0e0a42abaf90adac27a9c0 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">GraphType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a></td></tr>
|
|
169
169
|
<tr class="memdesc:a87e9adb7fb0e0a42abaf90adac27a9c0 inherit pro_attribs_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Graph. <a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">More...</a><br /></td></tr>
|
|
170
170
|
<tr class="separator:a87e9adb7fb0e0a42abaf90adac27a9c0 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
171
|
-
<tr class="memitem:
|
|
172
|
-
<tr class="memdesc:
|
|
173
|
-
<tr class="separator:
|
|
171
|
+
<tr class="memitem:a1d3b2a21385c775f355e188e2abe345e inherit pro_attribs_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">scc</a></td></tr>
|
|
172
|
+
<tr class="memdesc:a1d3b2a21385c775f355e188e2abe345e inherit pro_attribs_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">SCC. <a href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">More...</a><br /></td></tr>
|
|
173
|
+
<tr class="separator:a1d3b2a21385c775f355e188e2abe345e inherit pro_attribs_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
174
174
|
<tr class="memitem:a1775717a8c8d5d125b7561bc1ae6abf5 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a624e9156b2d3a4f284548cbaaf650334">WorkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a></td></tr>
|
|
175
175
|
<tr class="memdesc:a1775717a8c8d5d125b7561bc1ae6abf5 inherit pro_attribs_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Worklist for resolution. <a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">More...</a><br /></td></tr>
|
|
176
176
|
<tr class="separator:a1775717a8c8d5d125b7561bc1ae6abf5 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -299,7 +299,7 @@ template<class GraphType > </div>
|
|
|
299
299
|
|
|
300
300
|
<p>Reimplemented from <a class="el" href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SVF::WPASolver< GraphType ></a>.</p>
|
|
301
301
|
|
|
302
|
-
<p>Reimplemented in <a class="el" href="classSVF_1_1FlowSensitive.html#
|
|
302
|
+
<p>Reimplemented in <a class="el" href="classSVF_1_1FlowSensitive.html#a3fcdbd3e6718cd5b3a339d34198dd0e6">SVF::FlowSensitive</a>.</p>
|
|
303
303
|
|
|
304
304
|
<p class="definition">Definition at line <a class="el" href="WPAFSSolver_8h_source.html#l00067">67</a> of file <a class="el" href="WPAFSSolver_8h_source.html">WPAFSSolver.h</a>.</p>
|
|
305
305
|
<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>();</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> revTopoStack;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& topoStack = this-><a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">topoNodeStack</a>();</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">while</span> (!topoStack.empty())</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> nodeId = topoStack.top();</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  topoStack.pop();</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a>& subNodes = this-><a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">subNodes</a>(nodeId);</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">NodeBS::iterator</a> it = subNodes.begin(), eit = subNodes.end(); it != eit; ++it)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  revTopoStack.push(*it);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</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> </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  assert(<a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a>.empty() && <span class="stringliteral">"node stack is not empty, some nodes are not popped properly."</span>);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">while</span> (!revTopoStack.empty())</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> nodeId = revTopoStack.top();</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  revTopoStack.pop();</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a>.push(nodeId);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a>;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="ttc" id="classSVF_1_1SCCDetection_html_a6ab5eff6a576e6d8703c1ea29b7f425d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">SVF::SCCDetection::subNodes</a></div><div class="ttdeci">const NodeBS & subNodes(NodeID n) const</div><div class="ttdoc">get all subnodes in one scc, if size is empty insert itself into the set </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00173">SCC.h:173</a></div></div>
|
|
@@ -307,8 +307,8 @@ template<class GraphType > </div>
|
|
|
307
307
|
<div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
308
308
|
<div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack< NodeID > NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00115">SVFType.h:115</a></div></div>
|
|
309
309
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
|
|
310
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
311
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
310
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00667">SparseBitVector.h:667</a></div></div>
|
|
311
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00067">WPASolver.h:67</a></div></div>
|
|
312
312
|
<div class="ttc" id="namespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
|
|
313
313
|
<div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2cb80102611c663c4daddd68b4f4b75f"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">SVF::WPAFSSolver::nodeStack</a></div><div class="ttdeci">NodeStack nodeStack</div><div class="ttdoc">stack used for processing nodes. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00064">WPAFSSolver.h:64</a></div></div>
|
|
314
314
|
</div><!-- fragment -->
|
|
@@ -99,7 +99,7 @@ $(function() {
|
|
|
99
99
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#ac460772d9236a2fefe17b2557023b883">reanalyze</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
100
100
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPAMinimumSolver.html#aa6d8de95ddf703fdac33ef1216ce4aff">removeCandidates</a>(const NodeBS &nodes)</td><td class="entry"><a class="el" href="classSVF_1_1WPAMinimumSolver.html">SVF::WPAMinimumSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
|
101
101
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"></td></tr>
|
|
102
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#
|
|
102
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">scc</a></td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
103
103
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SCCDetect</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
104
104
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a16d371c8f6a9bdb1ca984bcb287d6c5a">SVF::WPASolver::SCCDetect</a>(NodeSet &candidates)</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
105
105
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#a0bbaffd1673cc3850217afad0ca56e42">sccRepNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
@@ -116,7 +116,7 @@ $(function() {
|
|
|
116
116
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html#ab3c7f670b0f0e055d5398e69b61194f8">~WPAFSSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPAFSSolver.html">SVF::WPAFSSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
117
117
|
<tr><td class="entry"><a class="el" href="classSVF_1_1WPAMinimumSolver.html#aabec5ac808a24b8d24aa008d8e15fc2a">~WPAMinimumSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPAMinimumSolver.html">SVF::WPAMinimumSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
118
118
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1WPASCCSolver.html#ab1d7c474209aab41d55fe8a3d13562a6">~WPASCCSolver</a>()</td><td class="entry"><a class="el" href="classSVF_1_1WPASCCSolver.html">SVF::WPASCCSolver< GraphType ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
119
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#
|
|
119
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">~WPASolver</a>()=default</td><td class="entry"><a class="el" href="classSVF_1_1WPASolver.html">SVF::WPASolver< GraphType ></a></td><td class="entry"><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
120
120
|
</table></div><!-- contents -->
|
|
121
121
|
<!-- start footer part -->
|
|
122
122
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -161,9 +161,9 @@ Protected Member Functions</h2></td></tr>
|
|
|
161
161
|
<tr class="memitem:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">WPASolver</a> ()</td></tr>
|
|
162
162
|
<tr class="memdesc:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1WPASolver.html#a0c5616b0e340955dafc2ab2f21740abd">More...</a><br /></td></tr>
|
|
163
163
|
<tr class="separator:a0c5616b0e340955dafc2ab2f21740abd inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
164
|
-
<tr class="memitem:
|
|
165
|
-
<tr class="memdesc:
|
|
166
|
-
<tr class="separator:
|
|
164
|
+
<tr class="memitem:a99571af72e62bcf535a05095835bddfb inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">~WPASolver</a> ()=default</td></tr>
|
|
165
|
+
<tr class="memdesc:a99571af72e62bcf535a05095835bddfb inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="classSVF_1_1WPASolver.html#a99571af72e62bcf535a05095835bddfb">More...</a><br /></td></tr>
|
|
166
|
+
<tr class="separator:a99571af72e62bcf535a05095835bddfb inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
167
167
|
<tr class="memitem:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a> () const</td></tr>
|
|
168
168
|
<tr class="memdesc:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Get SCC detector. <a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">More...</a><br /></td></tr>
|
|
169
169
|
<tr class="separator:a37ca8a99b8f83fba796293e6e13b0953 inherit pro_methods_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -242,9 +242,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
242
242
|
<tr class="memitem:a87e9adb7fb0e0a42abaf90adac27a9c0 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">GraphType </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">_graph</a></td></tr>
|
|
243
243
|
<tr class="memdesc:a87e9adb7fb0e0a42abaf90adac27a9c0 inherit pro_attribs_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Graph. <a href="classSVF_1_1WPASolver.html#a87e9adb7fb0e0a42abaf90adac27a9c0">More...</a><br /></td></tr>
|
|
244
244
|
<tr class="separator:a87e9adb7fb0e0a42abaf90adac27a9c0 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
245
|
-
<tr class="memitem:
|
|
246
|
-
<tr class="memdesc:
|
|
247
|
-
<tr class="separator:
|
|
245
|
+
<tr class="memitem:a1d3b2a21385c775f355e188e2abe345e inherit pro_attribs_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top">std::unique_ptr< <a class="el" href="classSVF_1_1WPASolver.html#a1352953966be14b2a1d6244f35e74a33">SCC</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">scc</a></td></tr>
|
|
246
|
+
<tr class="memdesc:a1d3b2a21385c775f355e188e2abe345e inherit pro_attribs_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">SCC. <a href="classSVF_1_1WPASolver.html#a1d3b2a21385c775f355e188e2abe345e">More...</a><br /></td></tr>
|
|
247
|
+
<tr class="separator:a1d3b2a21385c775f355e188e2abe345e inherit pro_attribs_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
248
248
|
<tr class="memitem:a1775717a8c8d5d125b7561bc1ae6abf5 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1WPASolver.html#a624e9156b2d3a4f284548cbaaf650334">WorkList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">worklist</a></td></tr>
|
|
249
249
|
<tr class="memdesc:a1775717a8c8d5d125b7561bc1ae6abf5 inherit pro_attribs_classSVF_1_1WPASolver"><td class="mdescLeft"> </td><td class="mdescRight">Worklist for resolution. <a href="classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5">More...</a><br /></td></tr>
|
|
250
250
|
<tr class="separator:a1775717a8c8d5d125b7561bc1ae6abf5 inherit pro_attribs_classSVF_1_1WPASolver"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -399,7 +399,7 @@ template<class GraphType > </div>
|
|
|
399
399
|
|
|
400
400
|
<p class="definition">Definition at line <a class="el" href="WPAFSSolver_8h_source.html#l00236">236</a> of file <a class="el" href="WPAFSSolver_8h_source.html">WPAFSSolver.h</a>.</p>
|
|
401
401
|
<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a3e26f894660fb22f7d2f342bb4338ff8">candidates</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(node);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  }</div><div class="ttc" id="classSVF_1_1WPAMinimumSolver_html_a3e26f894660fb22f7d2f342bb4338ff8"><div class="ttname"><a href="classSVF_1_1WPAMinimumSolver.html#a3e26f894660fb22f7d2f342bb4338ff8">SVF::WPAMinimumSolver::candidates</a></div><div class="ttdeci">NodeBS candidates</div><div class="ttdoc">nodes which need to be analyzed in current iteration. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00249">WPAFSSolver.h:249</a></div></div>
|
|
402
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
402
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00739">SparseBitVector.h:739</a></div></div>
|
|
403
403
|
</div><!-- fragment -->
|
|
404
404
|
</div>
|
|
405
405
|
</div>
|
|
@@ -432,7 +432,7 @@ template<class GraphType > </div>
|
|
|
432
432
|
<p>Reimplemented from <a class="el" href="classSVF_1_1WPASCCSolver.html#a92c96800a81e69f0148c2d43342837a5">SVF::WPASCCSolver< GraphType ></a>.</p>
|
|
433
433
|
|
|
434
434
|
<p class="definition">Definition at line <a class="el" href="WPAFSSolver_8h_source.html#l00227">227</a> of file <a class="el" href="WPAFSSolver_8h_source.html">WPAFSSolver.h</a>.</p>
|
|
435
|
-
<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1WPASCCSolver.html#ae1ed4875e706677acf22a776f7285185">isInCurrentSCC</a>(node))</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(node);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a9f7d45208d70631ba8fa76220f13c6e4">addNewCandidate</a>(node);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
435
|
+
<div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">if</span> (this-><a class="code" href="classSVF_1_1WPASCCSolver.html#ae1ed4875e706677acf22a776f7285185">isInCurrentSCC</a>(node))</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(node);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a9f7d45208d70631ba8fa76220f13c6e4">addNewCandidate</a>(node);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00156">WPASolver.h:156</a></div></div>
|
|
436
436
|
<div class="ttc" id="classSVF_1_1WPAMinimumSolver_html_a9f7d45208d70631ba8fa76220f13c6e4"><div class="ttname"><a href="classSVF_1_1WPAMinimumSolver.html#a9f7d45208d70631ba8fa76220f13c6e4">SVF::WPAMinimumSolver::addNewCandidate</a></div><div class="ttdeci">void addNewCandidate(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00236">WPAFSSolver.h:236</a></div></div>
|
|
437
437
|
<div class="ttc" id="classSVF_1_1WPASCCSolver_html_ae1ed4875e706677acf22a776f7285185"><div class="ttname"><a href="classSVF_1_1WPASCCSolver.html#ae1ed4875e706677acf22a776f7285185">SVF::WPASCCSolver::isInCurrentSCC</a></div><div class="ttdeci">bool isInCurrentSCC(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00162">WPAFSSolver.h:162</a></div></div>
|
|
438
438
|
</div><!-- fragment -->
|
|
@@ -495,7 +495,7 @@ template<class GraphType > </div>
|
|
|
495
495
|
</div><div class="memdoc">
|
|
496
496
|
|
|
497
497
|
<p class="definition">Definition at line <a class="el" href="WPAFSSolver_8h_source.html#l00244">244</a> of file <a class="el" href="WPAFSSolver_8h_source.html">WPAFSSolver.h</a>.</p>
|
|
498
|
-
<div class="fragment"><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>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a3e26f894660fb22f7d2f342bb4338ff8">candidates</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(<a class="code" href="namespaceSVF.html#ae6c7046834fe00382052ece7d06eb0ac">nodes</a>);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
498
|
+
<div class="fragment"><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>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a3e26f894660fb22f7d2f342bb4338ff8">candidates</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">intersectWithComplement</a>(<a class="code" href="namespaceSVF.html#ae6c7046834fe00382052ece7d06eb0ac">nodes</a>);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a8b481ef53a27a351affecab90310b1ef"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a8b481ef53a27a351affecab90310b1ef">SVF::SparseBitVector::intersectWithComplement</a></div><div class="ttdeci">bool intersectWithComplement(const SparseBitVector &RHS)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00897">SparseBitVector.h:897</a></div></div>
|
|
499
499
|
<div class="ttc" id="classSVF_1_1WPAMinimumSolver_html_a3e26f894660fb22f7d2f342bb4338ff8"><div class="ttname"><a href="classSVF_1_1WPAMinimumSolver.html#a3e26f894660fb22f7d2f342bb4338ff8">SVF::WPAMinimumSolver::candidates</a></div><div class="ttdeci">NodeBS candidates</div><div class="ttdoc">nodes which need to be analyzed in current iteration. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00249">WPAFSSolver.h:249</a></div></div>
|
|
500
500
|
<div class="ttc" id="namespaceSVF_html_ae6c7046834fe00382052ece7d06eb0ac"><div class="ttname"><a href="namespaceSVF.html#ae6c7046834fe00382052ece7d06eb0ac">SVF::nodes</a></div><div class="ttdeci">iter_range< typename GenericGraphTraits< GraphType >::nodes_iterator > nodes(const GraphType &G)</div><div class="ttdef"><b>Definition:</b> <a href="GraphTraits_8h_source.html#l00111">GraphTraits.h:111</a></div></div>
|
|
501
501
|
</div><!-- fragment -->
|
|
@@ -532,19 +532,19 @@ template<class GraphType > </div>
|
|
|
532
532
|
<p>Reimplemented from <a class="el" href="classSVF_1_1WPASCCSolver.html#ac37c1063fbdff394c9a313c8d131d893">SVF::WPASCCSolver< GraphType ></a>.</p>
|
|
533
533
|
|
|
534
534
|
<p class="definition">Definition at line <a class="el" href="WPAFSSolver_8h_source.html#l00192">192</a> of file <a class="el" href="WPAFSSolver_8h_source.html">WPAFSSolver.h</a>.</p>
|
|
535
|
-
<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>  <span class="keywordtype">bool</span> solveAll = <span class="keyword">true</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</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>  solveAll = <span class="keyword">false</span>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">while</span> (!this-><a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a9f7d45208d70631ba8fa76220f13c6e4">addNewCandidate</a>(this-><a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>());</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a> = this-><a class="code" href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SCCDetect</a>();</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</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>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> rep = nodeStack.top();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  nodeStack.pop();</div><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>  this-><a class="code" href="classSVF_1_1WPASCCSolver.html#a782121c831536e231f5b287629defef7">setCurrentSCC</a>(rep);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a> sccNodes = this-><a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">subNodes</a>(rep);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span> (solveAll == <span class="keyword">false</span>)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  sccNodes &= <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a2dc1f9588dd3ac376f8bb17a144c6fb2">getCandidates</a>(); </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">NodeBS::iterator</a> it = sccNodes.begin(), eit = sccNodes.end(); it != eit; ++it)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(*it);</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>  <span class="keywordflow">while</span> (!this-><a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">processNode</a>(this-><a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>());</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>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#aa6d8de95ddf703fdac33ef1216ce4aff">removeCandidates</a>(sccNodes); </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
535
|
+
<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>  <span class="keywordtype">bool</span> solveAll = <span class="keyword">true</span>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">if</span> (!this-><a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</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>  solveAll = <span class="keyword">false</span>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">while</span> (!this-><a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a9f7d45208d70631ba8fa76220f13c6e4">addNewCandidate</a>(this-><a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>());</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a>& <a class="code" href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">nodeStack</a> = this-><a class="code" href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SCCDetect</a>();</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</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>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">NodeID</a> rep = nodeStack.top();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  nodeStack.pop();</div><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>  this-><a class="code" href="classSVF_1_1WPASCCSolver.html#a782121c831536e231f5b287629defef7">setCurrentSCC</a>(rep);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a> sccNodes = this-><a class="code" href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">getSCCDetector</a>()-><a class="code" href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">subNodes</a>(rep);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">if</span> (solveAll == <span class="keyword">false</span>)</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  sccNodes &= <a class="code" href="classSVF_1_1WPAMinimumSolver.html#a2dc1f9588dd3ac376f8bb17a144c6fb2">getCandidates</a>(); </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">NodeBS::iterator</a> it = sccNodes.begin(), eit = sccNodes.end(); it != eit; ++it)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">pushIntoWorklist</a>(*it);</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>  <span class="keywordflow">while</span> (!this-><a class="code" href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">isWorklistEmpty</a>())</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  this-><a class="code" href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">processNode</a>(this-><a class="code" href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">popFromWorklist</a>());</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>  <a class="code" href="classSVF_1_1WPAMinimumSolver.html#aa6d8de95ddf703fdac33ef1216ce4aff">removeCandidates</a>(sccNodes); </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="ttc" id="classSVF_1_1WPASolver_html_a4af1c3e72f5af96c4facff672108da58"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a4af1c3e72f5af96c4facff672108da58">SVF::WPASolver::pushIntoWorklist</a></div><div class="ttdeci">virtual void pushIntoWorklist(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00156">WPASolver.h:156</a></div></div>
|
|
536
536
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a6ab5eff6a576e6d8703c1ea29b7f425d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6ab5eff6a576e6d8703c1ea29b7f425d">SVF::SCCDetection::subNodes</a></div><div class="ttdeci">const NodeBS & subNodes(NodeID n) const</div><div class="ttdoc">get all subnodes in one scc, if size is empty insert itself into the set </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00173">SCC.h:173</a></div></div>
|
|
537
537
|
<div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
538
538
|
<div class="ttc" id="namespaceSVF_html_a1811127aebdb9c926e39d155e20b3dc0"><div class="ttname"><a href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">SVF::NodeStack</a></div><div class="ttdeci">std::stack< NodeID > NodeStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00115">SVFType.h:115</a></div></div>
|
|
539
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
539
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a992b105a0ec126050a123e24db3bd45b"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a992b105a0ec126050a123e24db3bd45b">SVF::WPASolver::isWorklistEmpty</a></div><div class="ttdeci">bool isWorklistEmpty()</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00160">WPASolver.h:160</a></div></div>
|
|
540
540
|
<div class="ttc" id="classSVF_1_1WPAMinimumSolver_html_aa6d8de95ddf703fdac33ef1216ce4aff"><div class="ttname"><a href="classSVF_1_1WPAMinimumSolver.html#aa6d8de95ddf703fdac33ef1216ce4aff">SVF::WPAMinimumSolver::removeCandidates</a></div><div class="ttdeci">void removeCandidates(const NodeBS &nodes)</div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00244">WPAFSSolver.h:244</a></div></div>
|
|
541
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
541
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00667">SparseBitVector.h:667</a></div></div>
|
|
542
542
|
<div class="ttc" id="classSVF_1_1WPAMinimumSolver_html_a9f7d45208d70631ba8fa76220f13c6e4"><div class="ttname"><a href="classSVF_1_1WPAMinimumSolver.html#a9f7d45208d70631ba8fa76220f13c6e4">SVF::WPAMinimumSolver::addNewCandidate</a></div><div class="ttdeci">void addNewCandidate(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00236">WPAFSSolver.h:236</a></div></div>
|
|
543
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_abd7fd785e70f66d394088101d78598ca"><div class="ttname"><a href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">SVF::WPASolver::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID)</div><div class="ttdoc">Following methods are to be implemented in child class, in order to achieve a fully worked PTA...</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
543
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_abd7fd785e70f66d394088101d78598ca"><div class="ttname"><a href="classSVF_1_1WPASolver.html#abd7fd785e70f66d394088101d78598ca">SVF::WPASolver::processNode</a></div><div class="ttdeci">virtual void processNode(NodeID)</div><div class="ttdoc">Following methods are to be implemented in child class, in order to achieve a fully worked PTA...</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00122">WPASolver.h:122</a></div></div>
|
|
544
544
|
<div class="ttc" id="classSVF_1_1WPASCCSolver_html_a782121c831536e231f5b287629defef7"><div class="ttname"><a href="classSVF_1_1WPASCCSolver.html#a782121c831536e231f5b287629defef7">SVF::WPASCCSolver::setCurrentSCC</a></div><div class="ttdeci">void setCurrentSCC(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00166">WPAFSSolver.h:166</a></div></div>
|
|
545
545
|
<div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2d4cfae34bd4a55f1fe03881c87f8708"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2d4cfae34bd4a55f1fe03881c87f8708">SVF::WPAFSSolver::SCCDetect</a></div><div class="ttdeci">virtual NodeStack & SCCDetect()</div><div class="ttdoc">SCC detection. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00067">WPAFSSolver.h:67</a></div></div>
|
|
546
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
547
|
-
<div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#
|
|
546
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a37ca8a99b8f83fba796293e6e13b0953"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953">SVF::WPASolver::getSCCDetector</a></div><div class="ttdeci">SCC * getSCCDetector() const</div><div class="ttdoc">Get SCC detector. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00067">WPASolver.h:67</a></div></div>
|
|
547
|
+
<div class="ttc" id="classSVF_1_1WPASolver_html_a20a14ac31fe23d4fe67da15f5cc498df"><div class="ttname"><a href="classSVF_1_1WPASolver.html#a20a14ac31fe23d4fe67da15f5cc498df">SVF::WPASolver::popFromWorklist</a></div><div class="ttdeci">NodeID popFromWorklist()</div><div class="ttdoc">Worklist operations. </div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00151">WPASolver.h:151</a></div></div>
|
|
548
548
|
<div class="ttc" id="namespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
|
|
549
549
|
<div class="ttc" id="classSVF_1_1WPAMinimumSolver_html_a2dc1f9588dd3ac376f8bb17a144c6fb2"><div class="ttname"><a href="classSVF_1_1WPAMinimumSolver.html#a2dc1f9588dd3ac376f8bb17a144c6fb2">SVF::WPAMinimumSolver::getCandidates</a></div><div class="ttdeci">const NodeBS & getCandidates() const</div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00240">WPAFSSolver.h:240</a></div></div>
|
|
550
550
|
<div class="ttc" id="classSVF_1_1WPAFSSolver_html_a2cb80102611c663c4daddd68b4f4b75f"><div class="ttname"><a href="classSVF_1_1WPAFSSolver.html#a2cb80102611c663c4daddd68b4f4b75f">SVF::WPAFSSolver::nodeStack</a></div><div class="ttdeci">NodeStack nodeStack</div><div class="ttdoc">stack used for processing nodes. </div><div class="ttdef"><b>Definition:</b> <a href="WPAFSSolver_8h_source.html#l00064">WPAFSSolver.h:64</a></div></div>
|