svf-tools 1.0.424 → 1.0.427
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/Andersen_8h_source.html +9 -9
- package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +10 -9
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +9 -8
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/CHG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +6 -6
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/Conditions_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +6 -6
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +29 -29
- package/SVF-doxygen/html/html/DCHG_8h_source.html +14 -14
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +10 -11
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +13 -13
- package/SVF-doxygen/html/html/DPItem_8h_source.html +6 -6
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +9 -9
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +5 -5
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ICFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +11 -11
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +22 -22
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +9 -9
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +27 -27
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +11 -9
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +21 -18
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
- package/SVF-doxygen/html/html/LockResultValidator_8cpp.html +1 -0
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +22 -21
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +10 -10
- package/SVF-doxygen/html/html/MHP_8cpp.html +8 -7
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +63 -62
- package/SVF-doxygen/html/html/MHP_8h_source.html +37 -37
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp.html +1 -0
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +41 -40
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +29 -29
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTA_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +25 -28
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +32 -32
- package/SVF-doxygen/html/html/PathCondAllocator_8h.html +1 -0
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +56 -55
- package/SVF-doxygen/html/html/PathDPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +11 -12
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +56 -58
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +31 -31
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +44 -45
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +14 -14
- package/SVF-doxygen/html/html/SCC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +554 -11
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +37 -7
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +7 -13
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +38 -41
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +15 -15
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/SVFG_8h_source.html +16 -16
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +63 -62
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +48 -48
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +19 -19
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +16 -16
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +15 -15
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +58 -58
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +103 -104
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +135 -139
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/TCT_8h_source.html +18 -18
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +6 -6
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -69
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +119 -153
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +165 -170
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/VFG_8h_source.html +22 -22
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +12 -12
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WorkList_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +266 -267
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +20 -23
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +226 -227
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +1 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +279 -280
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +0 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +288 -289
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +0 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +276 -277
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +275 -276
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +287 -288
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +274 -275
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -4
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1BDDManager.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +173 -174
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +24 -71
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +33 -36
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +24 -26
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +25 -28
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +166 -167
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +120 -168
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +266 -267
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +31 -34
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +19 -20
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +28 -72
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +293 -294
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +0 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +259 -260
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +284 -285
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +43 -46
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +324 -325
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +25 -28
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +65 -65
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +119 -119
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +104 -104
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +99 -99
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +34 -49
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +174 -174
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +129 -130
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +107 -150
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +180 -180
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +240 -241
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +1 -4
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +104 -104
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +215 -281
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +232 -233
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +6 -9
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +35 -37
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFPathCond.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +337 -338
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +12 -15
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +19 -20
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +24 -68
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Z3Manager.html +4 -4
- package/SVF-doxygen/html/html/classes.html +96 -97
- package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -1
- package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +4 -4
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_d.html +0 -3
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +7 -7
- package/SVF-doxygen/html/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +9 -12
- package/SVF-doxygen/html/html/functions_func_o.html +3 -4
- package/SVF-doxygen/html/html/functions_g.html +13 -16
- package/SVF-doxygen/html/html/functions_l.html +6 -6
- package/SVF-doxygen/html/html/functions_n.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +13 -12
- package/SVF-doxygen/html/html/functions_p.html +4 -4
- package/SVF-doxygen/html/html/functions_r.html +3 -3
- package/SVF-doxygen/html/html/functions_s.html +6 -4
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_d.html +0 -3
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/globals.html +6 -0
- package/SVF-doxygen/html/html/globals_b.html +6 -0
- package/SVF-doxygen/html/html/globals_c.html +118 -100
- package/SVF-doxygen/html/html/globals_f.html +9 -3
- package/SVF-doxygen/html/html/globals_g.html +3 -0
- package/SVF-doxygen/html/html/globals_i.html +14 -2
- package/SVF-doxygen/html/html/globals_l.html +3 -0
- package/SVF-doxygen/html/html/globals_m.html +17 -14
- package/SVF-doxygen/html/html/globals_p.html +3 -0
- package/SVF-doxygen/html/html/globals_r.html +3 -0
- package/SVF-doxygen/html/html/globals_s.html +27 -22
- package/SVF-doxygen/html/html/globals_type.html +114 -0
- package/SVF-doxygen/html/html/globals_u.html +8 -2
- package/SVF-doxygen/html/html/globals_v.html +12 -0
- package/SVF-doxygen/html/html/hierarchy.html +149 -150
- package/SVF-doxygen/html/html/menudata.js +25 -19
- package/SVF-doxygen/html/html/namespaceSVF.html +128 -779
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +128 -95
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
- package/SVF-doxygen/html/html/namespacemembers.html +0 -6
- package/SVF-doxygen/html/html/namespacemembers_b.html +2 -8
- package/SVF-doxygen/html/html/namespacemembers_c.html +2 -26
- package/SVF-doxygen/html/html/namespacemembers_f.html +0 -6
- package/SVF-doxygen/html/html/namespacemembers_func.html +6 -3
- package/SVF-doxygen/html/html/namespacemembers_g.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_i.html +10 -22
- package/SVF-doxygen/html/html/namespacemembers_l.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_m.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_p.html +0 -6
- package/SVF-doxygen/html/html/namespacemembers_r.html +1 -4
- package/SVF-doxygen/html/html/namespacemembers_s.html +1 -19
- package/SVF-doxygen/html/html/namespacemembers_type.html +560 -4
- package/SVF-doxygen/html/html/namespacemembers_u.html +0 -6
- package/SVF-doxygen/html/html/namespacemembers_v.html +0 -12
- package/SVF-doxygen/html/html/search/all_1.js +3 -3
- package/SVF-doxygen/html/html/search/all_10.js +8 -9
- package/SVF-doxygen/html/html/search/all_12.js +3 -3
- package/SVF-doxygen/html/html/search/all_13.js +10 -13
- package/SVF-doxygen/html/html/search/all_14.js +3 -3
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +6 -6
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +3 -3
- package/SVF-doxygen/html/html/search/all_3.js +7 -9
- package/SVF-doxygen/html/html/search/all_4.js +0 -1
- package/SVF-doxygen/html/html/search/all_6.js +3 -3
- package/SVF-doxygen/html/html/search/all_7.js +3 -3
- package/SVF-doxygen/html/html/search/all_8.js +0 -1
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/classes_7.js +0 -1
- package/SVF-doxygen/html/html/search/functions_0.js +1 -1
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_d.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_0.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_1.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +4 -7
- package/SVF-doxygen/html/html/search/typedefs_13.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_14.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_2.js +7 -9
- package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_8.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_c.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_f.js +1 -2
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_4.js +0 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +19 -19
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +19 -19
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
- 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 +4 -4
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +6 -6
- package/clean.sh +2 -2
- package/include/DDA/DDAPass.h +0 -6
- package/include/Graphs/ICFGEdge.h +1 -1
- package/include/Graphs/VFGNode.h +4 -18
- package/include/MemoryModel/PointerAnalysis.h +0 -4
- package/include/MemoryModel/PointerAnalysisImpl.h +0 -10
- package/include/MemoryModel/PointsTo.h +1 -1
- package/include/MemoryModel/SVFVariables.h +4 -4
- package/include/MemoryModel/SymbolTableInfo.h +0 -11
- package/include/SABER/PathCondAllocator.h +1 -0
- package/include/SVF-FE/BasicTypes.h +41 -2
- package/include/SVF-FE/LLVMUtil.h +7 -0
- package/include/Util/BasicTypes.h +0 -35
- package/include/Util/CoreBitVector.h +1 -1
- package/include/Util/SVFBasicTypes.h +6 -27
- package/include/Util/SVFUtil.h +1 -1
- package/include/WPA/WPAPass.h +0 -6
- package/lib/DDA/DDAPass.cpp +1 -1
- package/lib/MTA/LockResultValidator.cpp +1 -0
- package/lib/MTA/MHP.cpp +1 -0
- package/lib/MTA/MTAResultValidator.cpp +1 -0
- package/lib/MTA/PCG.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +0 -9
- package/lib/MemoryModel/PointsTo.cpp +2 -2
- package/lib/MemoryModel/SVFVariables.cpp +2 -2
- package/lib/MemoryModel/SymbolTableInfo.cpp +0 -5
- package/lib/SABER/PathCondAllocator.cpp +1 -1
- package/lib/SVF-FE/BreakConstantExpr.cpp +1 -0
- package/lib/SVF-FE/LLVMUtil.cpp +3 -2
- package/lib/SVF-FE/SVFIRBuilder.cpp +1 -1
- package/lib/Util/CoreBitVector.cpp +1 -1
- package/lib/Util/PTAStat.cpp +3 -1
- package/package.json +1 -1
|
@@ -68,7 +68,7 @@ $(function() {
|
|
|
68
68
|
<div class="contents">
|
|
69
69
|
<a href="ProgSlice_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- ProgSlice.h -- Program slicing based on SVF----------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-2017> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * ProgSlice.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Apr 1, 2014</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> */</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#ifndef PROGSLICE_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define PROGSLICE_H_</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="PathCondAllocator_8h.html">SABER/PathCondAllocator.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include "<a class="code" href="WorkList_8h.html">Util/WorkList.h</a>"</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include "<a class="code" href="SVFG_8h.html">Graphs/SVFG.h</a>"</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="DPItem_8h.html">Util/DPItem.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> {</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html"> 41</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1ProgSlice.html">ProgSlice</a></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a4864972e12f3e95f06bcf2bf8c847b3a"> 45</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFGNode*></a> <a class="code" href="classSVF_1_1ProgSlice.html#a4864972e12f3e95f06bcf2bf8c847b3a">SVFGNodeSet</a>;</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#af41c438baa739406a35bcb2e9ba431dd"> 46</a></span>  <span class="keyword">typedef</span> SVFGNodeSet::const_iterator <a class="code" href="classSVF_1_1ProgSlice.html#af41c438baa739406a35bcb2e9ba431dd">SVFGNodeSetIter</a>;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa"> 47</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1CondExpr.html">PathCondAllocator::Condition</a> <a class="code" href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">Condition</a>;</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ae16157bd0b66dfb3cc18b778a745ed00"> 48</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFGNode*, Condition*></a> <a class="code" href="classSVF_1_1ProgSlice.html#ae16157bd0b66dfb3cc18b778a745ed00">SVFGNodeToCondMap</a>; </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a684e44ade783439c6f77a8d84eed282c"> 50</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const SVFGNode*></a> <a class="code" href="classSVF_1_1ProgSlice.html#a684e44ade783439c6f77a8d84eed282c">VFWorkList</a>; </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ab13cc8f64fed5f06b11f7ca67cbc0dc5"> 51</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const BasicBlock*></a> <a class="code" href="classSVF_1_1ProgSlice.html#ab13cc8f64fed5f06b11f7ca67cbc0dc5">CFWorkList</a>; </div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a76b91deacf7a66d142752f5a303386eb"> 54</a></span>  <a class="code" href="classSVF_1_1ProgSlice.html#a76b91deacf7a66d142752f5a303386eb">ProgSlice</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* src, <a class="code" href="classSVF_1_1PathCondAllocator.html">PathCondAllocator</a>* pa, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* graph):</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classSVF_1_1ProgSlice.html#ada13c2389d43973ff7db18b7fca90087">root</a>(src), <a class="code" href="classSVF_1_1ProgSlice.html#a2a7a3a6dc518fd375f506d43b0ac9fc9">partialReachable</a>(false), <a class="code" href="classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f">fullReachable</a>(false), <a class="code" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">reachGlob</a>(false),</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>(pa), <a class="code" href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b">_curSVFGNode</a>(nullptr), <a class="code" href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">finalCond</a>(pa-><a class="code" href="classSVF_1_1ProgSlice.html#a9150b694dd7b2e53ef7e78ea1b78094d">getFalseCond</a>()), <a class="code" href="classSVF_1_1ProgSlice.html#a457a759c552a1418538769d79d7a7dde">svfg</a>(graph)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ad761a9848d2dab7700a7fdeb91c2454d"> 61</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1ProgSlice.html#ad761a9848d2dab7700a7fdeb91c2454d">~ProgSlice</a>()</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  {</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="classSVF_1_1ProgSlice.html#a899332b210414ac991b57e83851ee5be">destroy</a>();</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#aae54f4e8a827f55abe08762b69d9f84b"> 66</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1ProgSlice.html#aae54f4e8a827f55abe08762b69d9f84b">getForwardSliceSize</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>.size();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a967fa01a8baae0dd086b5c09ae0faa7b"> 70</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1ProgSlice.html#a967fa01a8baae0dd086b5c09ae0faa7b">getBackwardSliceSize</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>.size();</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a0017e160c2a5412947c170f944e593bd"> 76</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#a0017e160c2a5412947c170f944e593bd">addToForwardSlice</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</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="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>.insert(node);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  }</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ac98eccef9fc2521b833a8c14b43e49e1"> 80</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#ac98eccef9fc2521b833a8c14b43e49e1">addToBackwardSlice</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>.insert(node);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  }</div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a5a4b7f34001cc90f9b60222caee1bde6"> 84</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a5a4b7f34001cc90f9b60222caee1bde6">inForwardSlice</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>.find(node)!=<a class="code" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>.end();</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a066430ffa98a3fa0a5ad48d26e0450f7"> 88</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a066430ffa98a3fa0a5ad48d26e0450f7">inBackwardSlice</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>.find(node)!=<a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>.end();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ae482fcb138aaf345586a39daa34ff895"> 92</a></span>  <span class="keyword">inline</span> SVFGNodeSetIter <a class="code" href="classSVF_1_1ProgSlice.html#ae482fcb138aaf345586a39daa34ff895">forwardSliceBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>.begin();</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#add10d8fd041ac7e6eb611df8a6b1384b"> 96</a></span>  <span class="keyword">inline</span> SVFGNodeSetIter <a class="code" href="classSVF_1_1ProgSlice.html#add10d8fd041ac7e6eb611df8a6b1384b">forwardSliceEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>.end();</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ab5810f8a7a994f0637c54b94d0367a89"> 100</a></span>  <span class="keyword">inline</span> SVFGNodeSetIter <a class="code" href="classSVF_1_1ProgSlice.html#ab5810f8a7a994f0637c54b94d0367a89">backwardSliceBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>.begin();</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  }</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#aed4bedc716a3e252e44a6f28e677d61c"> 104</a></span>  <span class="keyword">inline</span> SVFGNodeSetIter <a class="code" href="classSVF_1_1ProgSlice.html#aed4bedc716a3e252e44a6f28e677d61c">backwardSliceEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>.end();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0"> 112</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* <a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ada13c2389d43973ff7db18b7fca90087">root</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#acee5145fb261280a1f8187184e393aed"> 116</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#acee5145fb261280a1f8187184e393aed">addToSinks</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80">sinks</a>.insert(node);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a03a1ef4d56958fa4a0c3a3a95806203d"> 120</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> SVFGNodeSet& <a class="code" href="classSVF_1_1ProgSlice.html#a03a1ef4d56958fa4a0c3a3a95806203d">getSinks</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80">sinks</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#adf620c97daed49735d21b485c448b4a2"> 124</a></span>  <span class="keyword">inline</span> SVFGNodeSetIter <a class="code" href="classSVF_1_1ProgSlice.html#adf620c97daed49735d21b485c448b4a2">sinksBegin</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80">sinks</a>.begin();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a27636f096ec825c4d5cb1dca608afb31"> 128</a></span>  <span class="keyword">inline</span> SVFGNodeSetIter <a class="code" href="classSVF_1_1ProgSlice.html#a27636f096ec825c4d5cb1dca608afb31">sinksEnd</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80">sinks</a>.end();</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#af6f137be08ca0e743424ff07d679777d"> 132</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#af6f137be08ca0e743424ff07d679777d">setPartialReachable</a>()</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1ProgSlice.html#a2a7a3a6dc518fd375f506d43b0ac9fc9">partialReachable</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  }</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ae6102647fa4985142c293116516612cd"> 136</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#ae6102647fa4985142c293116516612cd">setAllReachable</a>()</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f">fullReachable</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  }</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a397632ce0c523c4a54c5dc578606d14d"> 140</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a397632ce0c523c4a54c5dc578606d14d">setReachGlobal</a>()</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">reachGlob</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a3822badbbe9ac808296d5248f2dbf8e2"> 144</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a3822badbbe9ac808296d5248f2dbf8e2">isPartialReachable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#a2a7a3a6dc518fd375f506d43b0ac9fc9">partialReachable</a> || <a class="code" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">reachGlob</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a2f96f034b7236791fe1d4d351174722e"> 148</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a2f96f034b7236791fe1d4d351174722e">isAllReachable</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f">fullReachable</a> || <a class="code" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">reachGlob</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  }</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a067480a9815fdb728cd259ef9b687e3e"> 152</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a067480a9815fdb728cd259ef9b687e3e">isReachGlobal</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">reachGlob</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#aa7979418bed24fcecfc6fa04532cd586">AllPathReachableSolve</a>();</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a62a9f2c107f27d6c04c30ef153ffb8ed">isSatisfiableForAll</a>();</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a45fb7711498bcba60e931c9c2a9ccec4">isSatisfiableForPairs</a>();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1ProgSlice.html#a8ae327bc7bf72f892d87730edfc67d0d">getCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge) <span class="keyword">const</span>;</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* <a class="code" href="classSVF_1_1ProgSlice.html#a07ce77afbf69d5e2a47afaa39eaea886">getRetSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGEdge.html">SVFGEdge</a>* edge) <span class="keyword">const</span>;</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a37d2e74fd977ebf9bfbe881bbe1c4a95"> 171</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#a37d2e74fd977ebf9bfbe881bbe1c4a95">condAnd</a>(Condition* lhs, Condition* rhs)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">condAnd</a>(lhs,rhs);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ac57638eaa2f656b8a7a5e3484c8e1265"> 175</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#ac57638eaa2f656b8a7a5e3484c8e1265">condOr</a>(Condition* lhs, Condition* rhs)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">condOr</a>(lhs,rhs);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  }</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#af90dd6f54db7bef80cd7e5c97e8dd193"> 179</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#af90dd6f54db7bef80cd7e5c97e8dd193">condNeg</a>(Condition* cond)</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">condNeg</a>(cond);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a50bb38398ecc422b6d10e0d77bb032c3"> 183</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#a50bb38398ecc422b6d10e0d77bb032c3">getTrueCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">getTrueCond</a>();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  }</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a9150b694dd7b2e53ef7e78ea1b78094d"> 187</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#a9150b694dd7b2e53ef7e78ea1b78094d">getFalseCond</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">getFalseCond</a>();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a39381b290a1bc3cc7d7e6d706a7392cc"> 191</a></span>  <span class="keyword">inline</span> std::string <a class="code" href="classSVF_1_1ProgSlice.html#a39381b290a1bc3cc7d7e6d706a7392cc">dumpCond</a>(Condition* cond)<span class="keyword"> const</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#aae773a674331bb80cc589835e0b16e4e">dumpCond</a>(cond);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  std::string <a class="code" href="classSVF_1_1ProgSlice.html#afac06b0be2b04cb8a65af21fd697b756">evalFinalCond</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab1fdec8d39c9890324718607d7464eab">annotatePaths</a>();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a32ffd130984483b201c485da91ec467f"> 203</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* <a class="code" href="classSVF_1_1ProgSlice.html#a32ffd130984483b201c485da91ec467f">getSVFG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#a457a759c552a1418538769d79d7a7dde">svfg</a>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#a899332b210414ac991b57e83851ee5be">destroy</a>();</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ab514f387ae2122e919030c5006f1bbce"> 211</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab514f387ae2122e919030c5006f1bbce">clearCFCond</a>()</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">clearCFCond</a>();</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a15542937ee75195de1a3ffca18a168cf"> 219</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#a15542937ee75195de1a3ffca18a168cf">getVFCond</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)<span class="keyword"> const</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  SVFGNodeToCondMap::const_iterator it = <a class="code" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">svfgNodeToCondMap</a>.find(node);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(it==<a class="code" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">svfgNodeToCondMap</a>.end())</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#a9150b694dd7b2e53ef7e78ea1b78094d">getFalseCond</a>();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div><div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#add68dd06ab20899bc898d065ae2e82c0"> 228</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#add68dd06ab20899bc898d065ae2e82c0">setVFCond</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node, Condition* cond)</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  SVFGNodeToCondMap::iterator it = <a class="code" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">svfgNodeToCondMap</a>.find(node);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">// until a fixed-point is reached (condition is not changed)</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">svfgNodeToCondMap</a>.end() && <a class="code" href="classSVF_1_1ProgSlice.html#a52ecc421c235a8854792ca92829312e4">isEquivalentBranchCond</a>(it->second, cond))</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">svfgNodeToCondMap</a>[node] = cond;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ab945cc59c20bb4801f6e11120cc6940d"> 242</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#ab945cc59c20bb4801f6e11120cc6940d">ComputeIntraVFGGuard</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* src, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* dst)</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a5ab573cce84584c44778611ba6f4d99c">ComputeIntraVFGGuard</a>(src,dst);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ae6ca91373bb2a5c2ddc3b20feb630fe6"> 246</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#ae6ca91373bb2a5c2ddc3b20feb630fe6">ComputeInterCallVFGGuard</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* src, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* dst, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* callBB)</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a9c3361e3f37d640b177c3955f3c3667f">ComputeInterCallVFGGuard</a>(src,dst,callBB);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a0e1c3e7936361a27e876fa1a0678e6c5"> 250</a></span>  <span class="keyword">inline</span> Condition* <a class="code" href="classSVF_1_1ProgSlice.html#a0e1c3e7936361a27e876fa1a0678e6c5">ComputeInterRetVFGGuard</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* src, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* dst, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* retBB)</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  {</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a5015e36d00ac59ef2b832019b8f922f5">ComputeInterRetVFGGuard</a>(src,dst,retBB);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a52ecc421c235a8854792ca92829312e4"> 256</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a52ecc421c235a8854792ca92829312e4">isEquivalentBranchCond</a>(<span class="keyword">const</span> Condition *lhs, <span class="keyword">const</span> Condition *rhs)<span class="keyword"> const </span>{</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">isEquivalentBranchCond</a>(lhs, rhs);</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  };</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div><div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a8b61702d8e35f066bb78e823f2c59ce6"> 263</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* <a class="code" href="classSVF_1_1ProgSlice.html#a8b61702d8e35f066bb78e823f2c59ce6">getSVFGNodeBB</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)<span class="keyword"> const</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* icfgNode = node-><a class="code" href="classSVF_1_1VFGNode.html#a0675465e11d1d42ee7e2b7ab3c5de829">getICFGNode</a>();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span>(SVFUtil::isa<NullPtrSVFGNode>(node) == <span class="keyword">false</span>)</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  {</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> icfgNode-><a class="code" href="classSVF_1_1ICFGNode.html#ac1689701c75e04481e2ae2f4482551c4">getBB</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  }</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div><div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#afad8cd2f720bf01eedd825c3c418abc0"> 275</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* <a class="code" href="classSVF_1_1ProgSlice.html#afad8cd2f720bf01eedd825c3c418abc0">getCurSVFGNode</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b">_curSVFGNode</a>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#aee72d029c185c24b2bf01cdc0dcb25d8"> 279</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#aee72d029c185c24b2bf01cdc0dcb25d8">setCurSVFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* node)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b">_curSVFGNode</a> = node;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>-><a class="code" href="classSVF_1_1PathCondAllocator.html#a68f93a9271efcbb4728066a8d5639628">setCurEvalSVFGNode</a>(node);</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1ProgSlice.html#a2b8ad7aad51029106d88e81072e09a5e">setFinalCond</a>(Condition* cond)</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <a class="code" href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">finalCond</a> = cond;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab"> 292</a></span>  SVFGNodeSet <a class="code" href="classSVF_1_1ProgSlice.html#ac12dc4caa0c764ae69175e787efad2ab">forwardslice</a>; </div><div class="line"><a name="l00293"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0"> 293</a></span>  SVFGNodeSet <a class="code" href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">backwardslice</a>; </div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80"> 294</a></span>  SVFGNodeSet <a class="code" href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80">sinks</a>; </div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ada13c2389d43973ff7db18b7fca90087"> 295</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* <a class="code" href="classSVF_1_1ProgSlice.html#ada13c2389d43973ff7db18b7fca90087">root</a>; </div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce"> 296</a></span>  SVFGNodeToCondMap <a class="code" href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">svfgNodeToCondMap</a>; </div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a2a7a3a6dc518fd375f506d43b0ac9fc9"> 297</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a2a7a3a6dc518fd375f506d43b0ac9fc9">partialReachable</a>; </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f"> 298</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#a632db4b2e69848955925746ac721d94f">fullReachable</a>; </div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5"> 299</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">reachGlob</a>; </div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5"> 300</a></span>  <a class="code" href="classSVF_1_1PathCondAllocator.html">PathCondAllocator</a>* <a class="code" href="classSVF_1_1ProgSlice.html#adc27c77d68f54030bdbb714139a974e5">pathAllocator</a>; </div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b"> 301</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">SVFGNode</a>* <a class="code" href="classSVF_1_1ProgSlice.html#af3095788fc3d7798abfae10e3216968b">_curSVFGNode</a>; </div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460"> 302</a></span>  Condition* <a class="code" href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">finalCond</a>; </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1ProgSlice.html#a457a759c552a1418538769d79d7a7dde"> 303</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* <a class="code" href="classSVF_1_1ProgSlice.html#a457a759c552a1418538769d79d7a7dde">svfg</a>; </div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> };</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor">#endif </span><span class="comment">/* PROGSLICE_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1ProgSlice_html_aeda61b2786b128e8c45089de60dcafce"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aeda61b2786b128e8c45089de60dcafce">SVF::ProgSlice::svfgNodeToCondMap</a></div><div class="ttdeci">SVFGNodeToCondMap svfgNodeToCondMap</div><div class="ttdoc">map a SVFGNode to its path condition starting from root </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00296">ProgSlice.h:296</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ac1dc48ea64a89ce37394a22e609a0cd0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">SVF::ProgSlice::getSource</a></div><div class="ttdeci">const SVFGNode * getSource() const</div><div class="ttdoc">root and sink operations </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00112">ProgSlice.h:112</a></div></div>
|
|
71
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad92e8909172d960de8a25f6ff0272261"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">SVF::PathCondAllocator::isEquivalentBranchCond</a></div><div class="ttdeci">bool isEquivalentBranchCond(const Condition *lhs, const Condition *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
71
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_ad92e8909172d960de8a25f6ff0272261"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ad92e8909172d960de8a25f6ff0272261">SVF::PathCondAllocator::isEquivalentBranchCond</a></div><div class="ttdeci">bool isEquivalentBranchCond(const Condition *lhs, const Condition *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00201">PathCondAllocator.h:201</a></div></div>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a39381b290a1bc3cc7d7e6d706a7392cc"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a39381b290a1bc3cc7d7e6d706a7392cc">SVF::ProgSlice::dumpCond</a></div><div class="ttdeci">std::string dumpCond(Condition *cond) const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00191">ProgSlice.h:191</a></div></div>
|
|
73
73
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a15542937ee75195de1a3ffca18a168cf"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a15542937ee75195de1a3ffca18a168cf">SVF::ProgSlice::getVFCond</a></div><div class="ttdeci">Condition * getVFCond(const SVFGNode *node) const</div><div class="ttdoc">Get/set VF (value-flow) and CF (control-flow) conditions. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00219">ProgSlice.h:219</a></div></div>
|
|
74
74
|
<div class="ttc" id="PathCondAllocator_8h_html"><div class="ttname"><a href="PathCondAllocator_8h.html">PathCondAllocator.h</a></div></div>
|
|
@@ -76,9 +76,9 @@ $(function() {
|
|
|
76
76
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a684e44ade783439c6f77a8d84eed282c"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a684e44ade783439c6f77a8d84eed282c">SVF::ProgSlice::VFWorkList</a></div><div class="ttdeci">FIFOWorkList< const SVFGNode * > VFWorkList</div><div class="ttdoc">worklist for value-flow guard computation </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00050">ProgSlice.h:50</a></div></div>
|
|
77
77
|
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a9c3361e3f37d640b177c3955f3c3667f"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a9c3361e3f37d640b177c3955f3c3667f">SVF::PathCondAllocator::ComputeInterCallVFGGuard</a></div><div class="ttdeci">virtual Condition * ComputeInterCallVFGGuard(const BasicBlock *src, const BasicBlock *dst, const BasicBlock *callBB)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8cpp_source.html#l00453">PathCondAllocator.cpp:453</a></div></div>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a76b91deacf7a66d142752f5a303386eb"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a76b91deacf7a66d142752f5a303386eb">SVF::ProgSlice::ProgSlice</a></div><div class="ttdeci">ProgSlice(const SVFGNode *src, PathCondAllocator *pa, const SVFG *graph)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00054">ProgSlice.h:54</a></div></div>
|
|
79
|
-
<div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
79
|
+
<div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00074">BasicTypes.h:74</a></div></div>
|
|
80
80
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a06d79a32f9f550b068813324dac41460"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a06d79a32f9f550b068813324dac41460">SVF::ProgSlice::finalCond</a></div><div class="ttdeci">Condition * finalCond</div><div class="ttdoc">final condition </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00302">ProgSlice.h:302</a></div></div>
|
|
81
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1a6bde0db54c91fba7e6bac0acff664a"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">SVF::PathCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
81
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a1a6bde0db54c91fba7e6bac0acff664a"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a1a6bde0db54c91fba7e6bac0acff664a">SVF::PathCondAllocator::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00095">PathCondAllocator.h:95</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ae482fcb138aaf345586a39daa34ff895"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ae482fcb138aaf345586a39daa34ff895">SVF::ProgSlice::forwardSliceBegin</a></div><div class="ttdeci">SVFGNodeSetIter forwardSliceBegin() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00092">ProgSlice.h:92</a></div></div>
|
|
83
83
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_af6f137be08ca0e743424ff07d679777d"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#af6f137be08ca0e743424ff07d679777d">SVF::ProgSlice::setPartialReachable</a></div><div class="ttdeci">void setPartialReachable()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00132">ProgSlice.h:132</a></div></div>
|
|
84
84
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_aee72d029c185c24b2bf01cdc0dcb25d8"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aee72d029c185c24b2bf01cdc0dcb25d8">SVF::ProgSlice::setCurSVFGNode</a></div><div class="ttdeci">void setCurSVFGNode(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00279">ProgSlice.h:279</a></div></div>
|
|
@@ -88,18 +88,18 @@ $(function() {
|
|
|
88
88
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_afac06b0be2b04cb8a65af21fd697b756"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#afac06b0be2b04cb8a65af21fd697b756">SVF::ProgSlice::evalFinalCond</a></div><div class="ttdeci">std::string evalFinalCond() const</div><div class="ttdoc">Evaluate final condition. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00160">ProgSlice.cpp:160</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1VFGNode_html_a0675465e11d1d42ee7e2b7ab3c5de829"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a0675465e11d1d42ee7e2b7ab3c5de829">SVF::VFGNode::getICFGNode</a></div><div class="ttdeci">virtual const ICFGNode * getICFGNode() const</div><div class="ttdoc">Return corresponding ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00072">VFGNode.h:72</a></div></div>
|
|
90
90
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a3822badbbe9ac808296d5248f2dbf8e2"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a3822badbbe9ac808296d5248f2dbf8e2">SVF::ProgSlice::isPartialReachable</a></div><div class="ttdeci">bool isPartialReachable() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00144">ProgSlice.h:144</a></div></div>
|
|
91
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a3462dbe3d0f8df08e3b6a6c6ef0b065c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">SVF::PathCondAllocator::clearCFCond</a></div><div class="ttdeci">void clearCFCond()</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
91
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a3462dbe3d0f8df08e3b6a6c6ef0b065c"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a3462dbe3d0f8df08e3b6a6c6ef0b065c">SVF::PathCondAllocator::clearCFCond</a></div><div class="ttdeci">void clearCFCond()</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00172">PathCondAllocator.h:172</a></div></div>
|
|
92
92
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ac98eccef9fc2521b833a8c14b43e49e1"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac98eccef9fc2521b833a8c14b43e49e1">SVF::ProgSlice::addToBackwardSlice</a></div><div class="ttdeci">void addToBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00080">ProgSlice.h:80</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_addb781260db48c0571c0083a45065ca0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#addb781260db48c0571c0083a45065ca0">SVF::ProgSlice::backwardslice</a></div><div class="ttdeci">SVFGNodeSet backwardslice</div><div class="ttdoc">the backward slice </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00293">ProgSlice.h:293</a></div></div>
|
|
94
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5a8c25d74ffc2a8f8dbd20faab4d9803"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">SVF::PathCondAllocator::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
94
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a5a8c25d74ffc2a8f8dbd20faab4d9803"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a5a8c25d74ffc2a8f8dbd20faab4d9803">SVF::PathCondAllocator::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00087">PathCondAllocator.h:87</a></div></div>
|
|
95
95
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_aed4bedc716a3e252e44a6f28e677d61c"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aed4bedc716a3e252e44a6f28e677d61c">SVF::ProgSlice::backwardSliceEnd</a></div><div class="ttdeci">SVFGNodeSetIter backwardSliceEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00104">ProgSlice.h:104</a></div></div>
|
|
96
96
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a899332b210414ac991b57e83851ee5be"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a899332b210414ac991b57e83851ee5be">SVF::ProgSlice::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdoc">Release memory. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00209">ProgSlice.cpp:209</a></div></div>
|
|
97
|
-
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
97
|
+
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00106">SVFBasicTypes.h:106</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a066430ffa98a3fa0a5ad48d26e0450f7"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a066430ffa98a3fa0a5ad48d26e0450f7">SVF::ProgSlice::inBackwardSlice</a></div><div class="ttdeci">bool inBackwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00088">ProgSlice.h:88</a></div></div>
|
|
99
99
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a457a759c552a1418538769d79d7a7dde"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a457a759c552a1418538769d79d7a7dde">SVF::ProgSlice::svfg</a></div><div class="ttdeci">const SVFG * svfg</div><div class="ttdoc">SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00303">ProgSlice.h:303</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
101
101
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ab13cc8f64fed5f06b11f7ca67cbc0dc5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab13cc8f64fed5f06b11f7ca67cbc0dc5">SVF::ProgSlice::CFWorkList</a></div><div class="ttdeci">FIFOWorkList< const BasicBlock * > CFWorkList</div><div class="ttdoc">worklist for control-flow guard computation </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00051">ProgSlice.h:51</a></div></div>
|
|
102
|
-
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
102
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00081">SVFBasicTypes.h:81</a></div></div>
|
|
103
103
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ab945cc59c20bb4801f6e11120cc6940d"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab945cc59c20bb4801f6e11120cc6940d">SVF::ProgSlice::ComputeIntraVFGGuard</a></div><div class="ttdeci">Condition * ComputeIntraVFGGuard(const BasicBlock *src, const BasicBlock *dst)</div><div class="ttdoc">Compute guards for value-flows. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00242">ProgSlice.h:242</a></div></div>
|
|
104
104
|
<div class="ttc" id="classSVF_1_1CondExpr_html"><div class="ttname"><a href="classSVF_1_1CondExpr.html">SVF::CondExpr</a></div><div class="ttdef"><b>Definition:</b> <a href="Conditions_8h_source.html#l00041">Conditions.h:41</a></div></div>
|
|
105
105
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
@@ -109,13 +109,13 @@ $(function() {
|
|
|
109
109
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ada13c2389d43973ff7db18b7fca90087"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ada13c2389d43973ff7db18b7fca90087">SVF::ProgSlice::root</a></div><div class="ttdeci">const SVFGNode * root</div><div class="ttdoc">root node on the slice </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00295">ProgSlice.h:295</a></div></div>
|
|
110
110
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a2f96f034b7236791fe1d4d351174722e"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a2f96f034b7236791fe1d4d351174722e">SVF::ProgSlice::isAllReachable</a></div><div class="ttdeci">bool isAllReachable() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00148">ProgSlice.h:148</a></div></div>
|
|
111
111
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a397632ce0c523c4a54c5dc578606d14d"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a397632ce0c523c4a54c5dc578606d14d">SVF::ProgSlice::setReachGlobal</a></div><div class="ttdeci">bool setReachGlobal()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00140">ProgSlice.h:140</a></div></div>
|
|
112
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a0d059c9adce2c998ddf2489376beb8e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">SVF::PathCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition * getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
112
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a0d059c9adce2c998ddf2489376beb8e2"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a0d059c9adce2c998ddf2489376beb8e2">SVF::PathCondAllocator::getFalseCond</a></div><div class="ttdeci">Condition * getFalseCond() const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00099">PathCondAllocator.h:99</a></div></div>
|
|
113
113
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_af41c438baa739406a35bcb2e9ba431dd"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#af41c438baa739406a35bcb2e9ba431dd">SVF::ProgSlice::SVFGNodeSetIter</a></div><div class="ttdeci">SVFGNodeSet::const_iterator SVFGNodeSetIter</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00046">ProgSlice.h:46</a></div></div>
|
|
114
114
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_add68dd06ab20899bc898d065ae2e82c0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#add68dd06ab20899bc898d065ae2e82c0">SVF::ProgSlice::setVFCond</a></div><div class="ttdeci">bool setVFCond(const SVFGNode *node, Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00228">ProgSlice.h:228</a></div></div>
|
|
115
115
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a62a9f2c107f27d6c04c30ef153ffb8ed"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a62a9f2c107f27d6c04c30ef153ffb8ed">SVF::ProgSlice::isSatisfiableForAll</a></div><div class="ttdeci">bool isSatisfiableForAll()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00096">ProgSlice.cpp:96</a></div></div>
|
|
116
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html">SVF::PathCondAllocator</a></div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
116
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html">SVF::PathCondAllocator</a></div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00047">PathCondAllocator.h:47</a></div></div>
|
|
117
117
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a5a4b7f34001cc90f9b60222caee1bde6"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a5a4b7f34001cc90f9b60222caee1bde6">SVF::ProgSlice::inForwardSlice</a></div><div class="ttdeci">bool inForwardSlice(const SVFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00084">ProgSlice.h:84</a></div></div>
|
|
118
|
-
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
118
|
+
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00101">SVFBasicTypes.h:101</a></div></div>
|
|
119
119
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a2a7a3a6dc518fd375f506d43b0ac9fc9"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a2a7a3a6dc518fd375f506d43b0ac9fc9">SVF::ProgSlice::partialReachable</a></div><div class="ttdeci">bool partialReachable</div><div class="ttdoc">reachable from some paths </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00297">ProgSlice.h:297</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a50bb38398ecc422b6d10e0d77bb032c3"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a50bb38398ecc422b6d10e0d77bb032c3">SVF::ProgSlice::getTrueCond</a></div><div class="ttdeci">Condition * getTrueCond() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00183">ProgSlice.h:183</a></div></div>
|
|
121
121
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a3dc89d666a0f369ca85e13632676e6aa"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a3dc89d666a0f369ca85e13632676e6aa">SVF::ProgSlice::Condition</a></div><div class="ttdeci">PathCondAllocator::Condition Condition</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00047">ProgSlice.h:47</a></div></div>
|
|
@@ -129,9 +129,9 @@ $(function() {
|
|
|
129
129
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a07ce77afbf69d5e2a47afaa39eaea886"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a07ce77afbf69d5e2a47afaa39eaea886">SVF::ProgSlice::getRetSite</a></div><div class="ttdeci">const CallICFGNode * getRetSite(const SVFGEdge *edge) const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00141">ProgSlice.cpp:141</a></div></div>
|
|
130
130
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a8b61702d8e35f066bb78e823f2c59ce6"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a8b61702d8e35f066bb78e823f2c59ce6">SVF::ProgSlice::getSVFGNodeBB</a></div><div class="ttdeci">const BasicBlock * getSVFGNodeBB(const SVFGNode *node) const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00263">ProgSlice.h:263</a></div></div>
|
|
131
131
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_af90dd6f54db7bef80cd7e5c97e8dd193"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#af90dd6f54db7bef80cd7e5c97e8dd193">SVF::ProgSlice::condNeg</a></div><div class="ttdeci">Condition * condNeg(Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00179">ProgSlice.h:179</a></div></div>
|
|
132
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_ab0e41d1eacfc6ee2cf42a9ce69cdcb61"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">SVF::PathCondAllocator::condAnd</a></div><div class="ttdeci">Condition * condAnd(Condition *lhs, Condition *rhs)</div><div class="ttdoc">Condition operations. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
132
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_ab0e41d1eacfc6ee2cf42a9ce69cdcb61"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ab0e41d1eacfc6ee2cf42a9ce69cdcb61">SVF::PathCondAllocator::condAnd</a></div><div class="ttdeci">Condition * condAnd(Condition *lhs, Condition *rhs)</div><div class="ttdoc">Condition operations. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00083">PathCondAllocator.h:83</a></div></div>
|
|
133
133
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a4864972e12f3e95f06bcf2bf8c847b3a"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a4864972e12f3e95f06bcf2bf8c847b3a">SVF::ProgSlice::SVFGNodeSet</a></div><div class="ttdeci">Set< const SVFGNode * > SVFGNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00045">ProgSlice.h:45</a></div></div>
|
|
134
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_ac1ed60a8f59a55811c97c83def3bb739"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">SVF::PathCondAllocator::condNeg</a></div><div class="ttdeci">Condition * condNeg(Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
134
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_ac1ed60a8f59a55811c97c83def3bb739"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#ac1ed60a8f59a55811c97c83def3bb739">SVF::PathCondAllocator::condNeg</a></div><div class="ttdeci">Condition * condNeg(Condition *cond)</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00091">PathCondAllocator.h:91</a></div></div>
|
|
135
135
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_aa7979418bed24fcecfc6fa04532cd586"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aa7979418bed24fcecfc6fa04532cd586">SVF::ProgSlice::AllPathReachableSolve</a></div><div class="ttdeci">bool AllPathReachableSolve()</div><div class="ttdoc">Guarded reachability solve. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8cpp_source.html#l00044">ProgSlice.cpp:44</a></div></div>
|
|
136
136
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ab4da58e7c4cd2c80b4830efeaa896f80"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80">SVF::ProgSlice::sinks</a></div><div class="ttdeci">SVFGNodeSet sinks</div><div class="ttdoc">a set of sink nodes </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00294">ProgSlice.h:294</a></div></div>
|
|
137
137
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00137">WorkList.h:137</a></div></div>
|
|
@@ -140,7 +140,7 @@ $(function() {
|
|
|
140
140
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a37d2e74fd977ebf9bfbe881bbe1c4a95"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a37d2e74fd977ebf9bfbe881bbe1c4a95">SVF::ProgSlice::condAnd</a></div><div class="ttdeci">Condition * condAnd(Condition *lhs, Condition *rhs)</div><div class="ttdoc">Condition operations. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00171">ProgSlice.h:171</a></div></div>
|
|
141
141
|
<div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
142
142
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8h_source.html#l00016">ContextDDA.h:16</a></div></div>
|
|
143
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a68f93a9271efcbb4728066a8d5639628"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a68f93a9271efcbb4728066a8d5639628">SVF::PathCondAllocator::setCurEvalSVFGNode</a></div><div class="ttdeci">void setCurEvalSVFGNode(const SVFGNode *node)</div><div class="ttdoc">Set current value for branch condition evaluation. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
143
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_a68f93a9271efcbb4728066a8d5639628"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#a68f93a9271efcbb4728066a8d5639628">SVF::PathCondAllocator::setCurEvalSVFGNode</a></div><div class="ttdeci">void setCurEvalSVFGNode(const SVFGNode *node)</div><div class="ttdoc">Set current value for branch condition evaluation. </div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00177">PathCondAllocator.h:177</a></div></div>
|
|
144
144
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ae6102647fa4985142c293116516612cd"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ae6102647fa4985142c293116516612cd">SVF::ProgSlice::setAllReachable</a></div><div class="ttdeci">void setAllReachable()</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00136">ProgSlice.h:136</a></div></div>
|
|
145
145
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ae16157bd0b66dfb3cc18b778a745ed00"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ae16157bd0b66dfb3cc18b778a745ed00">SVF::ProgSlice::SVFGNodeToCondMap</a></div><div class="ttdeci">Map< const SVFGNode *, Condition * > SVFGNodeToCondMap</div><div class="ttdoc">map a SVFGNode to its condition during value-flow guard computation </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00048">ProgSlice.h:48</a></div></div>
|
|
146
146
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ab36bc2aa24a2a90555a9714dcbfc83e5"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ab36bc2aa24a2a90555a9714dcbfc83e5">SVF::ProgSlice::reachGlob</a></div><div class="ttdeci">bool reachGlob</div><div class="ttdoc">Whether slice reach a global. </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00299">ProgSlice.h:299</a></div></div>
|
|
@@ -148,7 +148,7 @@ $(function() {
|
|
|
148
148
|
<div class="ttc" id="WorkList_8h_html"><div class="ttname"><a href="WorkList_8h.html">WorkList.h</a></div></div>
|
|
149
149
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_ac57638eaa2f656b8a7a5e3484c8e1265"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac57638eaa2f656b8a7a5e3484c8e1265">SVF::ProgSlice::condOr</a></div><div class="ttdeci">Condition * condOr(Condition *lhs, Condition *rhs)</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00175">ProgSlice.h:175</a></div></div>
|
|
150
150
|
<div class="ttc" id="DPItem_8h_html"><div class="ttname"><a href="DPItem_8h.html">DPItem.h</a></div></div>
|
|
151
|
-
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_aae773a674331bb80cc589835e0b16e4e"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#aae773a674331bb80cc589835e0b16e4e">SVF::PathCondAllocator::dumpCond</a></div><div class="ttdeci">std::string dumpCond(Condition *cond) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#
|
|
151
|
+
<div class="ttc" id="classSVF_1_1PathCondAllocator_html_aae773a674331bb80cc589835e0b16e4e"><div class="ttname"><a href="classSVF_1_1PathCondAllocator.html#aae773a674331bb80cc589835e0b16e4e">SVF::PathCondAllocator::dumpCond</a></div><div class="ttdeci">std::string dumpCond(Condition *cond) const</div><div class="ttdef"><b>Definition:</b> <a href="PathCondAllocator_8h_source.html#l00111">PathCondAllocator.h:111</a></div></div>
|
|
152
152
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a967fa01a8baae0dd086b5c09ae0faa7b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a967fa01a8baae0dd086b5c09ae0faa7b">SVF::ProgSlice::getBackwardSliceSize</a></div><div class="ttdeci">u32_t getBackwardSliceSize() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00070">ProgSlice.h:70</a></div></div>
|
|
153
153
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_aae54f4e8a827f55abe08762b69d9f84b"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#aae54f4e8a827f55abe08762b69d9f84b">SVF::ProgSlice::getForwardSliceSize</a></div><div class="ttdeci">u32_t getForwardSliceSize() const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00066">ProgSlice.h:66</a></div></div>
|
|
154
154
|
<div class="ttc" id="classSVF_1_1ProgSlice_html_a52ecc421c235a8854792ca92829312e4"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#a52ecc421c235a8854792ca92829312e4">SVF::ProgSlice::isEquivalentBranchCond</a></div><div class="ttdeci">bool isEquivalentBranchCond(const Condition *lhs, const Condition *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00256">ProgSlice.h:256</a></div></div>
|
|
@@ -73,7 +73,7 @@ $(function() {
|
|
|
73
73
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_aa7f342aa9281749d16bb377acf14c0d7"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#aa7f342aa9281749d16bb377acf14c0d7">SVF::SCCDetection::visited</a></div><div class="ttdeci">bool visited(NodeID n)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00201">SCC.h:201</a></div></div>
|
|
74
74
|
<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>
|
|
75
75
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a6502c0a765ac1653474ffee651949f93"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a6502c0a765ac1653474ffee651949f93">SVF::SCCDetection::topoNodeStack</a></div><div class="ttdeci">GNodeStack & topoNodeStack()</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00128">SCC.h:128</a></div></div>
|
|
76
|
-
<div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set< NodeID > NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
76
|
+
<div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set< NodeID > NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00118">SVFBasicTypes.h:118</a></div></div>
|
|
77
77
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a55e1ac9dff59ff78d02e8799d306215b"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a55e1ac9dff59ff78d02e8799d306215b">SVF::SCCDetection::_NodeSCCAuxInfo</a></div><div class="ttdeci">GNODESCCInfoMap _NodeSCCAuxInfo</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00192">SCC.h:192</a></div></div>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a2b9605126ebb2abb1e16b3ccf99cf04b"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a2b9605126ebb2abb1e16b3ccf99cf04b">SVF::SCCDetection::repNodes</a></div><div class="ttdeci">NodeBS repNodes</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00199">SCC.h:199</a></div></div>
|
|
79
79
|
<div class="ttc" id="Util_2BasicTypes_8h_html"><div class="ttname"><a href="Util_2BasicTypes_8h.html">BasicTypes.h</a></div></div>
|
|
@@ -84,7 +84,7 @@ $(function() {
|
|
|
84
84
|
<div class="ttc" id="classSVF_1_1SCCDetection_1_1GNodeSCCInfo_html_a39ff07eb2d4529802dead9d37a720fa9"><div class="ttname"><a href="classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html#a39ff07eb2d4529802dead9d37a720fa9">SVF::SCCDetection::GNodeSCCInfo::addSubNodes</a></div><div class="ttdeci">void addSubNodes(NodeID n)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00097">SCC.h:97</a></div></div>
|
|
85
85
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_ab3bdd1e73f95735a8f37566c3793bb36"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#ab3bdd1e73f95735a8f37566c3793bb36">SVF::SCCDetection::GNodeSCCInfo</a></div><div class="ttdeci">const GNODESCCInfoMap & GNodeSCCInfo() const</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00133">SCC.h:133</a></div></div>
|
|
86
86
|
<div class="ttc" id="classSVF_1_1SCCDetection_1_1GNodeSCCInfo_html_a721df427172da5cb0dc46d804c4f4485"><div class="ttname"><a href="classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html#a721df427172da5cb0dc46d804c4f4485">SVF::SCCDetection::GNodeSCCInfo::_visited</a></div><div class="ttdeci">bool _visited</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00110">SCC.h:110</a></div></div>
|
|
87
|
-
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
87
|
+
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00106">SVFBasicTypes.h:106</a></div></div>
|
|
88
88
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a7e9a12e188a93ea8e571bac4e49e2a6b"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a7e9a12e188a93ea8e571bac4e49e2a6b">SVF::SCCDetection::NodeToNodeMap</a></div><div class="ttdeci">Map< NodeID, NodeID > NodeToNodeMap</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00117">SCC.h:117</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a0e9ca6d916963160fb4ae9acec1c1fe9"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a0e9ca6d916963160fb4ae9acec1c1fe9">SVF::SCCDetection::_SS</a></div><div class="ttdeci">GNodeStack _SS</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00197">SCC.h:197</a></div></div>
|
|
90
90
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a457973fa38fad89bbd2dc41ba041703e"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a457973fa38fad89bbd2dc41ba041703e">SVF::SCCDetection::getRepNodes</a></div><div class="ttdeci">const NodeBS & getRepNodes() const</div><div class="ttdoc">get all repNodeID </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00181">SCC.h:181</a></div></div>
|
|
@@ -114,7 +114,7 @@ $(function() {
|
|
|
114
114
|
<div class="ttc" id="classSVF_1_1SCCDetection_1_1GNodeSCCInfo_html_a4b8c555a11e9eae2065ec1549ce537de"><div class="ttname"><a href="classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html#a4b8c555a11e9eae2065ec1549ce537de">SVF::SCCDetection::GNodeSCCInfo::GNodeSCCInfo</a></div><div class="ttdeci">GNodeSCCInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00071">SCC.h:71</a></div></div>
|
|
115
115
|
<div class="ttc" id="classSVF_1_1SCCDetection_1_1GNodeSCCInfo_html_af9ee3c8655cd3d5ac7cc3863e6af9af7"><div class="ttname"><a href="classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html#af9ee3c8655cd3d5ac7cc3863e6af9af7">SVF::SCCDetection::GNodeSCCInfo::inSCC</a></div><div class="ttdeci">bool inSCC(void) const</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00081">SCC.h:81</a></div></div>
|
|
116
116
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a5fa111bb849052b8a753194cd0cd5e0c"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a5fa111bb849052b8a753194cd0cd5e0c">SVF::SCCDetection::Node_Index</a></div><div class="ttdeci">NodeID Node_Index(GNODE node) const</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00244">SCC.h:244</a></div></div>
|
|
117
|
-
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
117
|
+
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00092">SVFBasicTypes.h:92</a></div></div>
|
|
118
118
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a9105051438f60587df95a9dba618d008"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a9105051438f60587df95a9dba618d008">SVF::SCCDetection::_I</a></div><div class="ttdeci">NodeID _I</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00195">SCC.h:195</a></div></div>
|
|
119
119
|
<div class="ttc" id="classSVF_1_1SCCDetection_1_1GNodeSCCInfo_html_a8038a801ba0fc31149847a49e074b210"><div class="ttname"><a href="classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html#a8038a801ba0fc31149847a49e074b210">SVF::SCCDetection::GNodeSCCInfo::visited</a></div><div class="ttdeci">bool visited(void) const</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00073">SCC.h:73</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_ad888a3dc94909823319384055896c84d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#ad888a3dc94909823319384055896c84d">SVF::SCCDetection::setVisited</a></div><div class="ttdeci">void setVisited(NodeID n, bool v)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00210">SCC.h:210</a></div></div>
|