svf-tools 1.0.587 → 1.0.588
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/AndersenPWC_8h_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/Andersen_8h_source.html +10 -10
- package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +10 -10
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +25 -25
- 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 +12 -12
- 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 +26 -26
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Casting_8h.html +1 -0
- package/SVF-doxygen/html/html/Casting_8h_source.html +42 -42
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +27 -27
- package/SVF-doxygen/html/html/DCHG_8h_source.html +13 -13
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +12 -12
- 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 +4 -4
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
- 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/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +6 -6
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +7 -7
- 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/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- 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 +10 -10
- package/SVF-doxygen/html/html/ICFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +12 -12
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +18 -18
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +25 -26
- package/SVF-doxygen/html/html/MHP_8h_source.html +10 -10
- 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 +8 -8
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +10 -10
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/MTA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PCG_8h_source.html +7 -7
- 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 +3 -3
- 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 +18 -18
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +19 -19
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +59 -59
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +81 -82
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SCC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +5 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -27
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +69 -70
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -2
- 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 +8 -8
- package/SVF-doxygen/html/html/SVFG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +56 -56
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +47 -47
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SVFLoop_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +16 -16
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +20 -21
- package/SVF-doxygen/html/html/TCT_8h_source.html +16 -16
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -14
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +97 -97
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/VFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +6 -6
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
- 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 +2 -2
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +37 -39
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +216 -217
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +259 -260
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +15 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +271 -272
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +257 -258
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +164 -165
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +31 -33
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +191 -192
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +17 -19
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +185 -186
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +189 -190
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +5 -5
- 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 +2 -2
- 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 +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +153 -154
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +17 -19
- 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 +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +255 -256
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +46 -48
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +72 -72
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
- 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_1ExeState.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +283 -284
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +27 -29
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +274 -275
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +67 -69
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +17 -17
- 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 +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +50 -51
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
- 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 +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- 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.html +3 -3
- 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 +120 -121
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +249 -267
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
- 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 +2 -2
- 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 +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +97 -97
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +142 -142
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +228 -229
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +2 -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 +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +50 -51
- 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 +4 -4
- 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 +221 -222
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +16 -18
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- 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 +324 -325
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -41
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +1 -1
- 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.html +9 -9
- 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_1Z3Expr.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 +5 -8
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +8 -8
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +8 -8
- package/SVF-doxygen/html/html/functions_p.html +14 -16
- package/SVF-doxygen/html/html/functions_r.html +2 -4
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_type.html +0 -3
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/namespaceSVF.html +156 -174
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +55 -55
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +40 -40
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
- package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +0 -1
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +5 -6
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +3 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +0 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.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/structSVF_1_1PopulationCounter.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01typename_01std_1_1enable__if_3_01std_1_1101a002941fb8432b76e90258f1ec6b7.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +6 -6
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
- 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_01PTACallGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +4 -4
- 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_1ExeState_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_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +4 -4
- 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_01SVF_1_1SymState_01_4.html +1 -1
- 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 +5 -5
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
- package/include/MemoryModel/PointerAnalysis.h +0 -1
- package/include/SVF-FE/BasicTypes.h +7 -1
- package/include/Util/BasicTypes.h +1 -22
- package/include/Util/Casting.h +1 -0
- package/include/Util/SVFBasicTypes.h +0 -5
- package/lib/MTA/MHP.cpp +4 -4
- package/lib/MTA/TCT.cpp +1 -1
- package/package.json +1 -1
|
@@ -66,172 +66,171 @@ $(function() {
|
|
|
66
66
|
<div class="title">PointerAnalysis.h</div> </div>
|
|
67
67
|
</div><!--header-->
|
|
68
68
|
<div class="contents">
|
|
69
|
-
<a href="PointerAnalysis_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">//===- PointerAnalysis.h -- Base class of pointer analyses--------------------//</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-> <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"> * PointerAnalysis.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: Nov 12, 2013</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 POINTERANALYSIS_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define POINTERANALYSIS_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 <unistd.h></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <signal.h></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="SVFIR_8h.html">MemoryModel/SVFIR.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="ConditionalPT_8h.html">MemoryModel/ConditionalPT.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="AbstractPointsToDS_8h.html">MemoryModel/AbstractPointsToDS.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="MutablePointsToDS_8h.html">MemoryModel/MutablePointsToDS.h</a>"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="PersistentPointsToDS_8h.html">MemoryModel/PersistentPointsToDS.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="PTACallGraph_8h.html">Graphs/PTACallGraph.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="SCC_8h.html">Util/SCC.h</a>"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>"</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">class </span>CommonCHGraph;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">class </span>TypeSystem;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">class </span>SVFModule;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">class </span>ICFG;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">class </span>PTAStat;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> * Pointer Analysis Base Class</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> */</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html"> 57</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a></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="l00060"></a><span class="lineno"> 60</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85"> 62</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// Whole program analysis</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49"> 65</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49">Andersen_BASE</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6"> 66</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">Andersen_WPA</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1"> 67</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">AndersenSCD_WPA</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b"> 68</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">AndersenSFR_WPA</a>, </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"> 69</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">AndersenWaveDiff_WPA</a>, </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a"> 70</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a>, </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09"> 71</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09">CSCallString_WPA</a>, </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27"> 72</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27">CSSummary_WPA</a>, </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322"> 73</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322">FSDATAFLOW_WPA</a>, </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78"> 74</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">FSSPARSE_WPA</a>, </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9"> 75</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>, </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82"> 76</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">FSCS_WPA</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb"> 77</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">CFLFICI_WPA</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc"> 78</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc">CFLFSCI_WPA</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d"> 79</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">CFLFSCS_WPA</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3"> 80</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a>, </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>  <span class="comment">// Demand driven analysis</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61"> 83</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">FieldS_DDA</a>, </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18"> 84</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">FlowS_DDA</a>, </div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"> 85</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a>, </div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8"> 86</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>, </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790"> 89</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  };</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d"> 93</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a"> 95</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a">BaseImpl</a>, </div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8"> 96</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8">BVDataImpl</a>, </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"> 97</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>, </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  };</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f"> 102</a></span>  <span class="keyword">typedef</span> llvm::AliasAnalysis <a class="code" href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f">AliasAnalysis</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0"> 103</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CallICFGNode*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0">CallSiteSet</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585"> 104</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFIR.html#a51bf00bfd1d32ea8a4a280cf99725d7d">SVFIR::CallSiteToFunPtrMap</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41"> 105</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062"> 106</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap<const CallICFGNode*, FunctionSet></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69"> 107</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SCCDetection.html">SCCDetection<PTACallGraph*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">CallGraphSCC</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca"> 108</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GlobalValue*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca">VTableSet</a>;</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478"> 109</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">VFunSet</a>;</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_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64">aliasTestMayAlias</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654"> 113</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654">aliasTestMayAliasMangled</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570">aliasTestNoAlias</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd"> 115</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd">aliasTestNoAliasMangled</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5"> 116</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5">aliasTestPartialAlias</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545"> 117</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545">aliasTestPartialAliasMangled</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0"> 118</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">aliasTestMustAlias</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7"> 119</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7">aliasTestMustAliasMangled</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235"> 120</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235">aliasTestFailMayAlias</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db"> 121</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db">aliasTestFailMayAliasMangled</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42"> 122</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42">aliasTestFailNoAlias</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22"> 123</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22">aliasTestFailNoAliasMangled</a>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a03dadb5429e2b84f88713a83153979a8">destroy</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> </div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">print_stat</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e"> 136</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e">alias_validation</a>;</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac"> 138</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> </div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3"> 142</a></span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5"> 144</a></span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4"> 146</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>;</div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36"> 148</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a>;</div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f"> 150</a></span>  <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe"> 152</a></span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63"> 154</a></span>  CallGraphSCC* <a class="code" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>;</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a962cc91e4d68b25ce201072c384d8fc2"> 156</a></span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a962cc91e4d68b25ce201072c384d8fc2">icfg</a>;</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33"> 158</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a> *<a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed"> 160</a></span>  TypeSystem *<a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e"> 164</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e">getICFG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  }</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb"> 169</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a12c899013f8a9ddd895bfb5027a84d4c">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  }</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df"> 174</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a>;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  }</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0bddf297a2d8cd59ce9a232f0229f248"> 179</a></span>  <span class="keyword">inline</span> CallGraphSCC* <a class="code" href="classSVF_1_1PointerAnalysis.html#a0bddf297a2d8cd59ce9a232f0229f248">getCallGraphSCC</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="keyword"> </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_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">PointerAnalysis</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> ty = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a>, <span class="keywordtype">bool</span> alias_check = <span class="keyword">true</span>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3"> 188</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">getAnalysisTy</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0f821cfe4fb9c9c8816e7a1b1bc0c5e"> 194</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0f821cfe4fb9c9c8816e7a1b1bc0c5e">getImplTy</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a>;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b"> 201</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad"> 208</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad">getStat</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  }</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433"> 213</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a>;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div><div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc"> 218</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a3c2bd95727ec0d9c55c631b6617026c8">OrderedNodeSet</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>()</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a7990c72dd6d645d713f19ed973841484">getAllValidPtrs</a>();</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">~PointerAnalysis</a>();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">initialize</a>();</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">finalize</a>();</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6">analyze</a>() = 0;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d"> 236</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>) {}</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>  <span class="keyword">virtual</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V1,</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V2) = 0;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">virtual</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node1, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node2) = 0;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr) = 0;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#ad9af9655a13f3faeaf265ba370d1f280">getRevPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId) = 0;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a062f1f2d6d47694caa9ac64a9e68c7b3">printIndCSTargets</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> FunctionSet& targets);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="comment">// Debug purpose</span></div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f"> 257</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">dumpTopLevelPtsTo</a>() {}</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908"> 258</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908">dumpAllPts</a>() {}</div><div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197"> 259</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">dumpCPts</a>() {}</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a1a6cee7e690ccb3e53cdc4c3e67b386d">dumpPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a062f1f2d6d47694caa9ac64a9e68c7b3">printIndCSTargets</a>();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a08399de593c073b6dd848a8d849dad27">dumpAllTypes</a>();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a"> 267</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> CallSiteToFunPtrMap& <a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>();</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f"> 272</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">getFunPtr</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(cs);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> </div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a>();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">validateSuccessTests</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fun);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fun);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a>();</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">dumpStat</a>();</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> </div><div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063"> 292</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts)</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">getBlackHoleNode</a>());</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd"> 296</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">return</span> pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">getConstantNode</a>());</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b"> 300</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b">isBlkObjOrConstantObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd)<span class="keyword"> const</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">isBlkObjOrConstantObj</a>(ptd);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  }</div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9"> 304</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9">isNonPointerObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd)<span class="keyword"> const</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">isNonPointerObj</a>(ptd);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361"> 312</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = pag-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73"> 319</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73">isArrayMemObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = pag-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#aeba6eeed4843a1a90cf1d4b7deb197af">isArray</a>();</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  }</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span> </div><div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#af90d2ccb01402c5ca9d7a059f345c816"> 329</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#af90d2ccb01402c5ca9d7a059f345c816">isFIObjNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="keywordflow">return</span> (SVFUtil::isa<FIObjVar>(pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>)));</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div><div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c"> 333</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c">getBaseObjVar</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  {</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div><div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac"> 337</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac">getFIObjVar</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">getFIObjVar</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  }</div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b"> 341</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b">getGepObjVar</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& ls)</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a20c0c65af266ac876cb722aee6e87101">getGepObjVar</a>(<span class="keywordtype">id</span>,ls);</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde"> 345</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">getAllFieldsObjVars</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  {</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  }</div><div class="line"><a name="l00349"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b"> 349</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  {</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1MemObj.html">MemObj</a>*<span class="keyword">></span>(pag-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  mem-><a class="code" href="classSVF_1_1MemObj.html#ab9637ea9acd1f8ae4933b4ab2b997e5c">setFieldInsensitive</a>();</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe"> 354</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = pag-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>();</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183"> 362</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>()</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">print_stat</a>;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div><div class="line"><a name="l00368"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#af44b14fed89918847c0228c1100c56d2"> 368</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#af44b14fed89918847c0228c1100c56d2">disablePrintStat</a>()</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  {</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  print_stat = <span class="keyword">false</span>;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  }</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div><div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe"> 375</a></span>  <span class="keyword">inline</span> CallEdgeMap& <a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>()</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  }</div><div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#abdacd060691add054839aa183babe095"> 379</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#abdacd060691add054839aa183babe095">hasIndCSCallees</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a71a63c53a093ea8e450fb53fd60c9424">hasIndCSCallees</a>(cs);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae0efd57376195eacded85d58abee5b46"> 383</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> FunctionSet& <a class="code" href="classSVF_1_1PointerAnalysis.html#ae0efd57376195eacded85d58abee5b46">getIndCSCallees</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#ac106536778c829d6925d6ed2149aeb44">getIndCSCallees</a>(cs);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  }</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span> </div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">resolveIndCalls</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& target, CallEdgeMap& newEdges);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ab541df6fc703c0b21c2c308584c0b7ff">matchArgs</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee);</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aafa5df4aa576a144476e547b1da35795">callGraphSCCDetection</a>()</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">if</span>(callGraphSCC==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  callGraphSCC = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">CallGraphSCC</a>(ptaCallGraph);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span> </div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  callGraphSCC-><a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>();</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div><div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8"> 405</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">getCallGraphSCCRepNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">return</span> callGraphSCC-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  }</div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67"> 410</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67">inSameCallGraphSCC</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun1,<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun2)</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  {</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* src = ptaCallGraph-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(fun1);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* dst = ptaCallGraph-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(fun2);</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">getCallGraphSCCRepNode</a>(src-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) == <a class="code" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">getCallGraphSCCRepNode</a>(dst-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div><div class="line"><a name="l00416"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a"> 416</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">isInRecursion</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">return</span> callGraphSCC-><a class="code" href="classSVF_1_1SCCDetection.html#a5d699af73b1e7ad4e3a5f6d26b8b6d15">isInCycle</a>(ptaCallGraph-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(fun)-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  }</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div><div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0"> 425</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">PTAName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span> <span class="stringliteral">"Pointer Analysis"</span>;</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  }</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae2cc7cd0803dbd90639140e71b06b1b5"> 431</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a> *<a class="code" href="classSVF_1_1PointerAnalysis.html#ae2cc7cd0803dbd90639140e71b06b1b5">getCHGraph</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a>;</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span> </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">getVFnsFromCHA</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, VFunSet &vfns);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a011b8401f5ed5fdb6cd507053465a7a2">getVFnsFromPts</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &target, VFunSet &vfns);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">connectVCallToVFns</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> VFunSet &vfns, CallEdgeMap& newEdges);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">resolveCPPIndCalls</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs,</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& target,</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  CallEdgeMap& newEdges);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe"> 444</a></span>  <span class="keyword">const</span> TypeSystem *<a class="code" href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe">getTypeSystem</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>;</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  }</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> };</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> </div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="preprocessor">#endif </span><span class="comment">/* POINTERANALYSIS_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3e7753643166465b0d647a75bc145a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">SVF::PointerAnalysis::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Return all indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00267">PointerAnalysis.h:267</a></div></div>
|
|
69
|
+
<a href="PointerAnalysis_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">//===- PointerAnalysis.h -- Base class of pointer analyses--------------------//</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-> <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"> * PointerAnalysis.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: Nov 12, 2013</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 POINTERANALYSIS_H_</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#define POINTERANALYSIS_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 <unistd.h></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <signal.h></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> </div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include "<a class="code" href="SVFIR_8h.html">MemoryModel/SVFIR.h</a>"</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="ConditionalPT_8h.html">MemoryModel/ConditionalPT.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="AbstractPointsToDS_8h.html">MemoryModel/AbstractPointsToDS.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="MutablePointsToDS_8h.html">MemoryModel/MutablePointsToDS.h</a>"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="PersistentPointsToDS_8h.html">MemoryModel/PersistentPointsToDS.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="PTACallGraph_8h.html">Graphs/PTACallGraph.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#include "<a class="code" href="SCC_8h.html">Util/SCC.h</a>"</span></div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include "<a class="code" href="PointsTo_8h.html">MemoryModel/PointsTo.h</a>"</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">class </span>CommonCHGraph;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">class </span>TypeSystem;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">class </span>SVFModule;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">class </span>ICFG;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">class </span>PTAStat;</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="comment">/*</span></div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="comment"> * Pointer Analysis Base Class</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="comment"> */</span></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html"> 57</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1PointerAnalysis.html">PointerAnalysis</a></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="l00060"></a><span class="lineno"> 60</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85"> 62</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a></div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// Whole program analysis</span></div><div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49"> 65</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49">Andersen_BASE</a>, </div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6"> 66</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">Andersen_WPA</a>, </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1"> 67</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">AndersenSCD_WPA</a>, </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b"> 68</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">AndersenSFR_WPA</a>, </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"> 69</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">AndersenWaveDiff_WPA</a>, </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a"> 70</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">Steensgaard_WPA</a>, </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09"> 71</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09">CSCallString_WPA</a>, </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27"> 72</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27">CSSummary_WPA</a>, </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322"> 73</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322">FSDATAFLOW_WPA</a>, </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78"> 74</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">FSSPARSE_WPA</a>, </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9"> 75</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">VFS_WPA</a>, </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82"> 76</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">FSCS_WPA</a>, </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb"> 77</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">CFLFICI_WPA</a>, </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc"> 78</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc">CFLFSCI_WPA</a>, </div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d"> 79</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">CFLFSCS_WPA</a>, </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3"> 80</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">TypeCPP_WPA</a>, </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>  <span class="comment">// Demand driven analysis</span></div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61"> 83</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">FieldS_DDA</a>, </div><div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18"> 84</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">FlowS_DDA</a>, </div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"> 85</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">PathS_DDA</a>, </div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8"> 86</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">Cxt_DDA</a>, </div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790"> 89</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a> </div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  };</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d"> 93</a></span>  <span class="keyword">enum</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a"> 95</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a">BaseImpl</a>, </div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8"> 96</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8">BVDataImpl</a>, </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"> 97</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">CondImpl</a>, </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  };</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0"> 102</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const CallICFGNode*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0">CallSiteSet</a>;</div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585"> 103</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFIR.html#a51bf00bfd1d32ea8a4a280cf99725d7d">SVFIR::CallSiteToFunPtrMap</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">CallSiteToFunPtrMap</a>;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41"> 104</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">FunctionSet</a>;</div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062"> 105</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap<const CallICFGNode*, FunctionSet></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">CallEdgeMap</a>;</div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69"> 106</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SCCDetection.html">SCCDetection<PTACallGraph*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">CallGraphSCC</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca"> 107</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const GlobalValue*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca">VTableSet</a>;</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478"> 108</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFFunction*></a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">VFunSet</a>;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64"> 111</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64">aliasTestMayAlias</a>;</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654"> 112</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654">aliasTestMayAliasMangled</a>;</div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570"> 113</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570">aliasTestNoAlias</a>;</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd">aliasTestNoAliasMangled</a>;</div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5"> 115</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5">aliasTestPartialAlias</a>;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545"> 116</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545">aliasTestPartialAliasMangled</a>;</div><div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0"> 117</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">aliasTestMustAlias</a>;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7"> 118</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7">aliasTestMustAliasMangled</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235"> 119</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235">aliasTestFailMayAlias</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db"> 120</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db">aliasTestFailMayAliasMangled</a>;</div><div class="line"><a name="l00121"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42"> 121</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42">aliasTestFailNoAlias</a>;</div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22"> 122</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22">aliasTestFailNoAliasMangled</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"> 124</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a03dadb5429e2b84f88713a83153979a8">destroy</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">print_stat</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e"> 135</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e">alias_validation</a>;</div><div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac"> 137</a></span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">OnTheFlyIterBudgetForStat</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3"> 141</a></span>  <span class="keyword">static</span> <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5"> 143</a></span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4"> 145</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36"> 147</a></span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a>;</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f"> 149</a></span>  <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>;</div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe"> 151</a></span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a>;</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63"> 153</a></span>  CallGraphSCC* <a class="code" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a962cc91e4d68b25ce201072c384d8fc2"> 155</a></span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a962cc91e4d68b25ce201072c384d8fc2">icfg</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33"> 157</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a> *<a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a>;</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed"> 159</a></span>  TypeSystem *<a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> </div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e"> 163</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e">getICFG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb"> 168</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">getNumOfResolvedIndCallEdge</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a12c899013f8a9ddd895bfb5027a84d4c">getNumOfResolvedIndCallEdge</a>();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df"> 173</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">ptaCallGraph</a>;</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0bddf297a2d8cd59ce9a232f0229f248"> 178</a></span>  <span class="keyword">inline</span> CallGraphSCC* <a class="code" href="classSVF_1_1PointerAnalysis.html#a0bddf297a2d8cd59ce9a232f0229f248">getCallGraphSCC</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">callGraphSCC</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">PointerAnalysis</a>(<a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag, <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> ty = <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">Default_PTA</a>, <span class="keywordtype">bool</span> alias_check = <span class="keyword">true</span>);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3"> 187</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">PTATY</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">getAnalysisTy</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_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">ptaTy</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"> 191</span> </div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac0f821cfe4fb9c9c8816e7a1b1bc0c5e"> 193</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">PTAImplTy</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac0f821cfe4fb9c9c8816e7a1b1bc0c5e">getImplTy</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">ptaImplTy</a>;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  }</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b"> 200</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>;</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad"> 207</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1PTAStat.html">PTAStat</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad">getStat</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">stat</a>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  }</div><div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433"> 212</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* <a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">svfMod</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc"> 217</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a3c2bd95727ec0d9c55c631b6617026c8">OrderedNodeSet</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">getAllValidPtrs</a>()</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a7990c72dd6d645d713f19ed973841484">getAllValidPtrs</a>();</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">~PointerAnalysis</a>();</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">initialize</a>();</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">finalize</a>();</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6">analyze</a>() = 0;</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d"> 235</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>) {}</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">virtual</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V1,</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V2) = 0;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">virtual</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">AliasResult</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node1, <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> node2) = 0;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">getPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr) = 0;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> </div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#ad9af9655a13f3faeaf265ba370d1f280">getRevPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId) = 0;</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a062f1f2d6d47694caa9ac64a9e68c7b3">printIndCSTargets</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> FunctionSet& targets);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="comment">// Debug purpose</span></div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f"> 256</a></span> <span class="comment"></span> <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">dumpTopLevelPtsTo</a>() {}</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908"> 257</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908">dumpAllPts</a>() {}</div><div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197"> 258</a></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">dumpCPts</a>() {}</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a1a6cee7e690ccb3e53cdc4c3e67b386d">dumpPts</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptr, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a062f1f2d6d47694caa9ac64a9e68c7b3">printIndCSTargets</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a08399de593c073b6dd848a8d849dad27">dumpAllTypes</a>();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00266"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a"> 266</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> CallSiteToFunPtrMap& <a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">getIndirectCallsites</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">getIndirectCallsites</a>();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f"> 271</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">getFunPtr</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(cs);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  }</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">validateTests</a>();</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">validateSuccessTests</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fun);</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">validateExpectedFailureTests</a>(<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fun);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">resetObjFieldSensitive</a>();</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">dumpStat</a>();</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</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"><a class="line" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063"> 291</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">containBlackHoleNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">return</span> pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">getBlackHoleNode</a>());</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  }</div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd"> 295</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">containConstantNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& pts)</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  {</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> pts.<a class="code" href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">test</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">getConstantNode</a>());</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  }</div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b"> 299</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b">isBlkObjOrConstantObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd)<span class="keyword"> const</span></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">isBlkObjOrConstantObj</a>(ptd);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9"> 303</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9">isNonPointerObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ptd)<span class="keyword"> const</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">isNonPointerObj</a>(ptd);</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> </div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361"> 311</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = pag-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">isHeap</a>();</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73"> 318</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73">isArrayMemObj</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = pag-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#aeba6eeed4843a1a90cf1d4b7deb197af">isArray</a>();</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span> </div><div class="line"><a name="l00328"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#af90d2ccb01402c5ca9d7a059f345c816"> 328</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#af90d2ccb01402c5ca9d7a059f345c816">isFIObjNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">return</span> (SVFUtil::isa<FIObjVar>(pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>)));</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  }</div><div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c"> 332</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c">getBaseObjVar</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac"> 336</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac">getFIObjVar</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  {</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">getFIObjVar</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  }</div><div class="line"><a name="l00340"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b"> 340</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b">getGepObjVar</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html">LocationSet</a>& ls)</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a20c0c65af266ac876cb722aee6e87101">getGepObjVar</a>(<span class="keywordtype">id</span>,ls);</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  }</div><div class="line"><a name="l00344"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde"> 344</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">getAllFieldsObjVars</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">getAllFieldsObjVars</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b"> 348</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">setObjFieldInsensitive</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  {</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1MemObj.html">MemObj</a>*<span class="keyword">></span>(pag-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<span class="keywordtype">id</span>));</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  mem-><a class="code" href="classSVF_1_1MemObj.html#ab9637ea9acd1f8ae4933b4ab2b997e5c">setFieldInsensitive</a>();</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe"> 353</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">isFieldInsensitive</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = pag-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  }</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div><div class="line"><a name="l00361"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183"> 361</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>()</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  {</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">print_stat</a>;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  }</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#af44b14fed89918847c0228c1100c56d2"> 367</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#af44b14fed89918847c0228c1100c56d2">disablePrintStat</a>()</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  print_stat = <span class="keyword">false</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span> </div><div class="line"><a name="l00374"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe"> 374</a></span>  <span class="keyword">inline</span> CallEdgeMap& <a class="code" href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">getIndCallMap</a>()</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>();</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  }</div><div class="line"><a name="l00378"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#abdacd060691add054839aa183babe095"> 378</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#abdacd060691add054839aa183babe095">hasIndCSCallees</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a71a63c53a093ea8e450fb53fd60c9424">hasIndCSCallees</a>(cs);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  }</div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae0efd57376195eacded85d58abee5b46"> 382</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> FunctionSet& <a class="code" href="classSVF_1_1PointerAnalysis.html#ae0efd57376195eacded85d58abee5b46">getIndCSCallees</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)<span class="keyword"> const</span></div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#ac106536778c829d6925d6ed2149aeb44">getIndCSCallees</a>(cs);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  }</div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">resolveIndCalls</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& target, CallEdgeMap& newEdges);</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ab541df6fc703c0b21c2c308584c0b7ff">matchArgs</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee);</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> </div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aafa5df4aa576a144476e547b1da35795">callGraphSCCDetection</a>()</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  {</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">if</span>(callGraphSCC==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  callGraphSCC = <span class="keyword">new</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">CallGraphSCC</a>(ptaCallGraph);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  callGraphSCC-><a class="code" href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">find</a>();</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8"> 404</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">getCallGraphSCCRepNode</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>)<span class="keyword"> const</span></div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keywordflow">return</span> callGraphSCC-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  }</div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67"> 409</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67">inSameCallGraphSCC</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun1,<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun2)</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  {</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* src = ptaCallGraph-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(fun1);</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* dst = ptaCallGraph-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(fun2);</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">getCallGraphSCCRepNode</a>(src-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()) == <a class="code" href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">getCallGraphSCCRepNode</a>(dst-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()));</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  }</div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a"> 415</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">isInRecursion</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <span class="keywordflow">return</span> callGraphSCC-><a class="code" href="classSVF_1_1SCCDetection.html#a5d699af73b1e7ad4e3a5f6d26b8b6d15">isInCycle</a>(ptaCallGraph-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(fun)-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  }</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>) <span class="keyword">const</span>;</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0"> 424</a></span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">PTAName</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">return</span> <span class="stringliteral">"Pointer Analysis"</span>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  }</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae2cc7cd0803dbd90639140e71b06b1b5"> 430</a></span>  <a class="code" href="classSVF_1_1CommonCHGraph.html">CommonCHGraph</a> *<a class="code" href="classSVF_1_1PointerAnalysis.html#ae2cc7cd0803dbd90639140e71b06b1b5">getCHGraph</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">chgraph</a>;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  }</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span> </div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">getVFnsFromCHA</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, VFunSet &vfns);</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a011b8401f5ed5fdb6cd507053465a7a2">getVFnsFromPts</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a> &target, VFunSet &vfns);</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">connectVCallToVFns</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> VFunSet &vfns, CallEdgeMap& newEdges);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">resolveCPPIndCalls</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs,</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& target,</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  CallEdgeMap& newEdges);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span> </div><div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe"> 443</a></span>  <span class="keyword">const</span> TypeSystem *<a class="code" href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe">getTypeSystem</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">typeSystem</a>;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  }</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span> };</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="preprocessor">#endif </span><span class="comment">/* POINTERANALYSIS_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3e7753643166465b0d647a75bc145a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3e7753643166465b0d647a75bc145a">SVF::PointerAnalysis::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Return all indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00266">PointerAnalysis.h:266</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1IRGraph_html_a3ce34b9fcb651689bce44ab48fbcdff0"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3ce34b9fcb651689bce44ab48fbcdff0">SVF::IRGraph::getBlackHoleNode</a></div><div class="ttdeci">NodeID getBlackHoleNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00148">IRGraph.h:148</a></div></div>
|
|
71
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a56368369bc37e37b13f19e5eb1890063"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">SVF::PointerAnalysis::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const PointsTo &pts)</div><div class="ttdoc">Determine whether a points-to contains a black hole or constant node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
72
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a60b111647e000cc983aa52513f90afbc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">SVF::PointerAnalysis::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet & getAllValidPtrs()</div><div class="ttdoc">Get all Valid Pointers for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
71
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a56368369bc37e37b13f19e5eb1890063"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a56368369bc37e37b13f19e5eb1890063">SVF::PointerAnalysis::containBlackHoleNode</a></div><div class="ttdeci">bool containBlackHoleNode(const PointsTo &pts)</div><div class="ttdoc">Determine whether a points-to contains a black hole or constant node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00291">PointerAnalysis.h:291</a></div></div>
|
|
72
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a60b111647e000cc983aa52513f90afbc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a60b111647e000cc983aa52513f90afbc">SVF::PointerAnalysis::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet & getAllValidPtrs()</div><div class="ttdoc">Get all Valid Pointers for resolution. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00217">PointerAnalysis.h:217</a></div></div>
|
|
73
73
|
<div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00378">SymbolTableInfo.h:378</a></div></div>
|
|
74
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3b20c9883d734537fb98b57b5372b9"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9">SVF::PointerAnalysis::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID ptd) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
74
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9d3b20c9883d734537fb98b57b5372b9"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9d3b20c9883d734537fb98b57b5372b9">SVF::PointerAnalysis::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID ptd) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00303">PointerAnalysis.h:303</a></div></div>
|
|
75
75
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ab982e6bbd99a2f9a0a3abbebeeb00dcc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ab982e6bbd99a2f9a0a3abbebeeb00dcc">SVF::PointerAnalysis::validateExpectedFailureTests</a></div><div class="ttdeci">virtual void validateExpectedFailureTests(std::string fun)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00601">PointerAnalysis.cpp:601</a></div></div>
|
|
76
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a962cc91e4d68b25ce201072c384d8fc2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a962cc91e4d68b25ce201072c384d8fc2">SVF::PointerAnalysis::icfg</a></div><div class="ttdeci">ICFG * icfg</div><div class="ttdoc">Interprocedural control-flow graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
76
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a962cc91e4d68b25ce201072c384d8fc2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a962cc91e4d68b25ce201072c384d8fc2">SVF::PointerAnalysis::icfg</a></div><div class="ttdeci">ICFG * icfg</div><div class="ttdoc">Interprocedural control-flow graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
|
|
77
77
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8d128246f86f28fdf4981d91169ab440"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8d128246f86f28fdf4981d91169ab440">SVF::PointerAnalysis::resolveIndCalls</a></div><div class="ttdeci">virtual void resolveIndCalls(const CallICFGNode *cs, const PointsTo &target, CallEdgeMap &newEdges)</div><div class="ttdoc">Resolve indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00399">PointerAnalysis.cpp:399</a></div></div>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
|
|
79
79
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da66b132e5ab8c8746eb22e58d199b4c2a">SVF::PointerAnalysis::BaseImpl</a></div><div class="ttdoc">Represents PointerAnalaysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00095">PointerAnalysis.h:95</a></div></div>
|
|
80
80
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab87dcf990c05d31f91b9bfdfcfb54b7d">SVF::PointerAnalysis::CFLFSCS_WPA</a></div><div class="ttdoc">Flow-, context-, CFL-reachability-based analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00079">PointerAnalysis.h:79</a></div></div>
|
|
81
|
-
<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#
|
|
81
|
+
<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#l00117">SVFBasicTypes.h:117</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4dfb43679e9fa794ebad99b6584c32ec"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4dfb43679e9fa794ebad99b6584c32ec">SVF::PointerAnalysis::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID ptr)=0</div><div class="ttdoc">Get points-to targets of a pointer. It needs to be implemented in child class. </div></div>
|
|
83
83
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a062f1f2d6d47694caa9ac64a9e68c7b3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a062f1f2d6d47694caa9ac64a9e68c7b3">SVF::PointerAnalysis::printIndCSTargets</a></div><div class="ttdeci">void printIndCSTargets()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00364">PointerAnalysis.cpp:364</a></div></div>
|
|
84
84
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a51bf00bfd1d32ea8a4a280cf99725d7d"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a51bf00bfd1d32ea8a4a280cf99725d7d">SVF::SVFIR::CallSiteToFunPtrMap</a></div><div class="ttdeci">OrderedMap< const CallICFGNode *, NodeID > CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00053">SVFIR.h:53</a></div></div>
|
|
85
85
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
86
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a651cc82379c2d18cc2f69f25b2ae08db"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db">SVF::PointerAnalysis::aliasTestFailMayAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestFailMayAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
86
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a651cc82379c2d18cc2f69f25b2ae08db"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a651cc82379c2d18cc2f69f25b2ae08db">SVF::PointerAnalysis::aliasTestFailMayAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestFailMayAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00120">PointerAnalysis.h:120</a></div></div>
|
|
87
87
|
<div class="ttc" id="PTACallGraph_8h_html"><div class="ttname"><a href="PTACallGraph_8h.html">PTACallGraph.h</a></div></div>
|
|
88
88
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da84705167ea3a7162ecb9470a8a77b5d8">SVF::PointerAnalysis::BVDataImpl</a></div><div class="ttdoc">Represents BVDataPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00096">PointerAnalysis.h:96</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ab83b827ea42d3a61aad20b1a1485d866"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ab83b827ea42d3a61aad20b1a1485d866">SVF::PointerAnalysis::dumpStat</a></div><div class="ttdeci">void dumpStat()</div><div class="ttdoc">Dump the statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00179">PointerAnalysis.cpp:179</a></div></div>
|
|
90
90
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a12c899013f8a9ddd895bfb5027a84d4c"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a12c899013f8a9ddd895bfb5027a84d4c">SVF::PTACallGraph::getNumOfResolvedIndCallEdge</a></div><div class="ttdeci">u32_t getNumOfResolvedIndCallEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00300">PTACallGraph.h:300</a></div></div>
|
|
91
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac353221cc7aced590dcf3550a24b1570"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570">SVF::PointerAnalysis::aliasTestNoAlias</a></div><div class="ttdeci">static const std::string aliasTestNoAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
92
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_af44b14fed89918847c0228c1100c56d2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af44b14fed89918847c0228c1100c56d2">SVF::PointerAnalysis::disablePrintStat</a></div><div class="ttdeci">void disablePrintStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
91
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac353221cc7aced590dcf3550a24b1570"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac353221cc7aced590dcf3550a24b1570">SVF::PointerAnalysis::aliasTestNoAlias</a></div><div class="ttdeci">static const std::string aliasTestNoAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00113">PointerAnalysis.h:113</a></div></div>
|
|
92
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_af44b14fed89918847c0228c1100c56d2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af44b14fed89918847c0228c1100c56d2">SVF::PointerAnalysis::disablePrintStat</a></div><div class="ttdeci">void disablePrintStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00367">PointerAnalysis.h:367</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_ad49fa2a288945f6910deb11acdf6a42d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">SVF::PTACallGraph::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap & getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00280">PTACallGraph.h:280</a></div></div>
|
|
94
94
|
<div class="ttc" id="classSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00420">SVFIR.h:420</a></div></div>
|
|
95
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac87eb408daafd5d556ecd8633f7d4f1f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac87eb408daafd5d556ecd8633f7d4f1f">SVF::PointerAnalysis::AliasAnalysis</a></div><div class="ttdeci">llvm::AliasAnalysis AliasAnalysis</div><div class="ttdoc">Indirect call edges type, map a callsite to a set of callees. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00102">PointerAnalysis.h:102</a></div></div>
|
|
96
95
|
<div class="ttc" id="ConditionalPT_8h_html"><div class="ttname"><a href="ConditionalPT_8h.html">ConditionalPT.h</a></div></div>
|
|
97
96
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0454332c89e60729956bb7d69a1a24df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0454332c89e60729956bb7d69a1a24df">SVF::PointerAnalysis::validateTests</a></div><div class="ttdeci">virtual void validateTests()</div><div class="ttdoc">Alias check functions to verify correctness of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00230">PointerAnalysis.cpp:230</a></div></div>
|
|
98
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
97
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00093">BasicTypes.h:93</a></div></div>
|
|
99
98
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00416">SVFIR.h:416</a></div></div>
|
|
100
99
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
|
|
101
100
|
<div class="ttc" id="classSVF_1_1MemObj_html_ab9637ea9acd1f8ae4933b4ab2b997e5c"><div class="ttname"><a href="classSVF_1_1MemObj.html#ab9637ea9acd1f8ae4933b4ab2b997e5c">SVF::MemObj::setFieldInsensitive</a></div><div class="ttdeci">void setFieldInsensitive()</div><div class="ttdoc">Set the memory object to be field insensitive. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00744">SymbolTableInfo.cpp:744</a></div></div>
|
|
102
101
|
<div class="ttc" id="SCC_8h_html"><div class="ttname"><a href="SCC_8h.html">SCC.h</a></div></div>
|
|
103
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
104
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a219baed92b811d5519b056ad393fceed"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">SVF::PointerAnalysis::typeSystem</a></div><div class="ttdeci">TypeSystem * typeSystem</div><div class="ttdoc">TypeSystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
105
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad47b39252e02c68dfb466d4f42dc7ebe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">SVF::PointerAnalysis::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdoc">Call graph used for pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
102
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4880571f57542afc50da506dfe273183"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">SVF::PointerAnalysis::printStat</a></div><div class="ttdeci">bool printStat()</div><div class="ttdoc">Whether print statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00361">PointerAnalysis.h:361</a></div></div>
|
|
103
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a219baed92b811d5519b056ad393fceed"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a219baed92b811d5519b056ad393fceed">SVF::PointerAnalysis::typeSystem</a></div><div class="ttdeci">TypeSystem * typeSystem</div><div class="ttdoc">TypeSystem. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00159">PointerAnalysis.h:159</a></div></div>
|
|
104
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad47b39252e02c68dfb466d4f42dc7ebe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad47b39252e02c68dfb466d4f42dc7ebe">SVF::PointerAnalysis::ptaCallGraph</a></div><div class="ttdeci">PTACallGraph * ptaCallGraph</div><div class="ttdoc">Call graph used for pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00151">PointerAnalysis.h:151</a></div></div>
|
|
106
105
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a164c6de3baace1c63db75a228a5816bb">SVF::PointerAnalysis::CFLFICI_WPA</a></div><div class="ttdoc">Flow-, context-, insensitive CFL-reachability-based analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00077">PointerAnalysis.h:77</a></div></div>
|
|
107
106
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a14e2a209cb594f91a24ef09b12f82f3f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f">SVF::PointerAnalysis::PointerAnalysis</a></div><div class="ttdeci">PointerAnalysis(SVFIR *pag, PTATY ty=Default_PTA, bool alias_check=true)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00072">PointerAnalysis.cpp:72</a></div></div>
|
|
108
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_afa7d9f6209904acd7893ae583e28dafd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">SVF::PointerAnalysis::containConstantNode</a></div><div class="ttdeci">bool containConstantNode(const PointsTo &pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
107
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_afa7d9f6209904acd7893ae583e28dafd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afa7d9f6209904acd7893ae583e28dafd">SVF::PointerAnalysis::containConstantNode</a></div><div class="ttdeci">bool containConstantNode(const PointsTo &pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00295">PointerAnalysis.h:295</a></div></div>
|
|
109
108
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ab541df6fc703c0b21c2c308584c0b7ff"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ab541df6fc703c0b21c2c308584c0b7ff">SVF::PointerAnalysis::matchArgs</a></div><div class="ttdeci">bool matchArgs(const CallICFGNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Match arguments for callsite at caller and callee. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00447">PointerAnalysis.cpp:447</a></div></div>
|
|
110
109
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85afbe666887476ce8620aca97a159921bc">SVF::PointerAnalysis::CFLFSCI_WPA</a></div><div class="ttdoc">Flow-insensitive, context-sensitive CFL-reachability-based analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00078">PointerAnalysis.h:78</a></div></div>
|
|
111
110
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade41f3562704d56c7490dcfc941b3437"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade41f3562704d56c7490dcfc941b3437">SVF::PointerAnalysis::getVFnsFromCHA</a></div><div class="ttdeci">void getVFnsFromCHA(const CallICFGNode *cs, VFunSet &vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00458">PointerAnalysis.cpp:458</a></div></div>
|
|
112
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aafa5df4aa576a144476e547b1da35795"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aafa5df4aa576a144476e547b1da35795">SVF::PointerAnalysis::callGraphSCCDetection</a></div><div class="ttdeci">void callGraphSCCDetection()</div><div class="ttdoc">CallGraph SCC related methods. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
113
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7e8b3f6843e5ea75fd189162d2cd60a5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">SVF::PointerAnalysis::svfMod</a></div><div class="ttdeci">SVFModule * svfMod</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
111
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aafa5df4aa576a144476e547b1da35795"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aafa5df4aa576a144476e547b1da35795">SVF::PointerAnalysis::callGraphSCCDetection</a></div><div class="ttdeci">void callGraphSCCDetection()</div><div class="ttdoc">CallGraph SCC related methods. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00396">PointerAnalysis.h:396</a></div></div>
|
|
112
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7e8b3f6843e5ea75fd189162d2cd60a5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5">SVF::PointerAnalysis::svfMod</a></div><div class="ttdeci">SVFModule * svfMod</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00143">PointerAnalysis.h:143</a></div></div>
|
|
114
113
|
<div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
|
|
115
|
-
<div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
114
|
+
<div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943">SVF::AliasResult</a></div><div class="ttdeci">AliasResult</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00191">SVFBasicTypes.h:191</a></div></div>
|
|
116
115
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abe1d8104c77bfe4bbc201a64410c7f61">SVF::PointerAnalysis::FieldS_DDA</a></div><div class="ttdoc">Field sensitive DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00083">PointerAnalysis.h:83</a></div></div>
|
|
117
116
|
<div class="ttc" id="AbstractPointsToDS_8h_html"><div class="ttname"><a href="AbstractPointsToDS_8h.html">AbstractPointsToDS.h</a></div></div>
|
|
118
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_afc320fbf269404fe128e69c98e6f9cac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">SVF::PointerAnalysis::OnTheFlyIterBudgetForStat</a></div><div class="ttdeci">u32_t OnTheFlyIterBudgetForStat</div><div class="ttdoc">Flag for iteration budget for on-the-fly statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
119
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac23f71c1307cda9cba44acc40059f0a3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">SVF::PointerAnalysis::getAnalysisTy</a></div><div class="ttdeci">PTATY getAnalysisTy() const</div><div class="ttdoc">Type of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
117
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_afc320fbf269404fe128e69c98e6f9cac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#afc320fbf269404fe128e69c98e6f9cac">SVF::PointerAnalysis::OnTheFlyIterBudgetForStat</a></div><div class="ttdeci">u32_t OnTheFlyIterBudgetForStat</div><div class="ttdoc">Flag for iteration budget for on-the-fly statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00137">PointerAnalysis.h:137</a></div></div>
|
|
118
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac23f71c1307cda9cba44acc40059f0a3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac23f71c1307cda9cba44acc40059f0a3">SVF::PointerAnalysis::getAnalysisTy</a></div><div class="ttdeci">PTATY getAnalysisTy() const</div><div class="ttdoc">Type of pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00187">PointerAnalysis.h:187</a></div></div>
|
|
120
119
|
<div class="ttc" id="SVFIR_8h_html"><div class="ttname"><a href="SVFIR_8h.html">SVFIR.h</a></div></div>
|
|
121
|
-
<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#
|
|
120
|
+
<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>
|
|
122
121
|
<div class="ttc" id="classSVF_1_1PointsTo_html_af61271fefa574c39f405fdfee59a8b3f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#af61271fefa574c39f405fdfee59a8b3f">SVF::PointsTo::test</a></div><div class="ttdeci">bool test(u32_t n) const</div><div class="ttdoc">Returns true if n is in this set. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00127">PointsTo.cpp:127</a></div></div>
|
|
123
122
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac04b64a5884710508b304f93da88c7ba"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac04b64a5884710508b304f93da88c7ba">SVF::PointerAnalysis::resolveCPPIndCalls</a></div><div class="ttdeci">virtual void resolveCPPIndCalls(const CallICFGNode *cs, const PointsTo &target, CallEdgeMap &newEdges)</div><div class="ttdoc">Resolve cpp indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00515">PointerAnalysis.cpp:515</a></div></div>
|
|
124
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_acbbc0934af9bc0145389dc41430c6d8b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b">SVF::PointerAnalysis::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(NodeID id, const LocationSet &ls)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
125
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_abdacd060691add054839aa183babe095"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#abdacd060691add054839aa183babe095">SVF::PointerAnalysis::hasIndCSCallees</a></div><div class="ttdeci">bool hasIndCSCallees(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
123
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_acbbc0934af9bc0145389dc41430c6d8b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#acbbc0934af9bc0145389dc41430c6d8b">SVF::PointerAnalysis::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(NodeID id, const LocationSet &ls)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00340">PointerAnalysis.h:340</a></div></div>
|
|
124
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_abdacd060691add054839aa183babe095"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#abdacd060691add054839aa183babe095">SVF::PointerAnalysis::hasIndCSCallees</a></div><div class="ttdeci">bool hasIndCSCallees(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00378">PointerAnalysis.h:378</a></div></div>
|
|
126
125
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a412254a7738029bf3ee96f5c15a6bec9">SVF::PointerAnalysis::VFS_WPA</a></div><div class="ttdoc">Versioned sparse flow-sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00075">PointerAnalysis.h:75</a></div></div>
|
|
127
126
|
<div class="ttc" id="classSVF_1_1MemObj_html_aeba6eeed4843a1a90cf1d4b7deb197af"><div class="ttname"><a href="classSVF_1_1MemObj.html#aeba6eeed4843a1a90cf1d4b7deb197af">SVF::MemObj::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00779">SymbolTableInfo.cpp:779</a></div></div>
|
|
128
127
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">SVF::PointerAnalysis::Cxt_DDA</a></div><div class="ttdoc">context sensitive DDA </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00086">PointerAnalysis.h:86</a></div></div>
|
|
129
128
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad24ef5326c26db858c73432aa7e67a0a">SVF::PointerAnalysis::Steensgaard_WPA</a></div><div class="ttdoc">Steensgaard PTA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00070">PointerAnalysis.h:70</a></div></div>
|
|
130
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5dddd53b4ca9d7cc23d88ed9f3de9fde"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">SVF::PointerAnalysis::getAllFieldsObjVars</a></div><div class="ttdeci">virtual const NodeBS & getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
129
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5dddd53b4ca9d7cc23d88ed9f3de9fde"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">SVF::PointerAnalysis::getAllFieldsObjVars</a></div><div class="ttdeci">virtual const NodeBS & getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00344">PointerAnalysis.h:344</a></div></div>
|
|
131
130
|
<div class="ttc" id="classSVF_1_1SCCDetection_html"><div class="ttname"><a href="classSVF_1_1SCCDetection.html">SVF::SCCDetection</a></div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00054">SCC.h:54</a></div></div>
|
|
132
131
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adb3d4cbd8c38c1c498bc51198626a790">SVF::PointerAnalysis::Default_PTA</a></div><div class="ttdoc">default pta without any analysis </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00089">PointerAnalysis.h:89</a></div></div>
|
|
133
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad8b71cebf46deaf60e2cd4f6d6bb9433"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">SVF::PointerAnalysis::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
132
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad8b71cebf46deaf60e2cd4f6d6bb9433"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">SVF::PointerAnalysis::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00212">PointerAnalysis.h:212</a></div></div>
|
|
134
133
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a7990c72dd6d645d713f19ed973841484"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7990c72dd6d645d713f19ed973841484">SVF::SVFIR::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet & getAllValidPtrs()</div><div class="ttdoc">Return valid pointers. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00142">SVFIR.h:142</a></div></div>
|
|
135
134
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a43837619e78e03dc95ec6e88959faf82">SVF::PointerAnalysis::FSCS_WPA</a></div><div class="ttdoc">Flow-, context- sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00076">PointerAnalysis.h:76</a></div></div>
|
|
136
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a35bd5f0fb2c146199e9f1aa6a19b4062"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap< const CallICFGNode *, FunctionSet > CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
135
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a35bd5f0fb2c146199e9f1aa6a19b4062"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a35bd5f0fb2c146199e9f1aa6a19b4062">SVF::PointerAnalysis::CallEdgeMap</a></div><div class="ttdeci">OrderedMap< const CallICFGNode *, FunctionSet > CallEdgeMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00105">PointerAnalysis.h:105</a></div></div>
|
|
137
136
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a118dabc50024b5cd91095814ade47166"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">SVF::PointerAnalysis::finalize</a></div><div class="ttdeci">virtual void finalize()</div><div class="ttdoc">Finalization of a pointer analysis, including checking alias correctness. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00192">PointerAnalysis.cpp:192</a></div></div>
|
|
138
137
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1a6cee7e690ccb3e53cdc4c3e67b386d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1a6cee7e690ccb3e53cdc4c3e67b386d">SVF::PointerAnalysis::dumpPts</a></div><div class="ttdeci">virtual void dumpPts(NodeID ptr, const PointsTo &pts)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00271">PointerAnalysis.cpp:271</a></div></div>
|
|
139
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0c0fce2539bb9ec6c824f6584a0f6b33"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">SVF::PointerAnalysis::chgraph</a></div><div class="ttdeci">CommonCHGraph * chgraph</div><div class="ttdoc">CHGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
138
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0c0fce2539bb9ec6c824f6584a0f6b33"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0c0fce2539bb9ec6c824f6584a0f6b33">SVF::PointerAnalysis::chgraph</a></div><div class="ttdeci">CommonCHGraph * chgraph</div><div class="ttdoc">CHGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00157">PointerAnalysis.h:157</a></div></div>
|
|
140
139
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a3a5fdc9330a657240f77199f5aee602d"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">SVF::SCCDetection::repNode</a></div><div class="ttdeci">NodeID repNode(NodeID n) const</div><div class="ttdoc">get the rep node if not found return itself </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00139">SCC.h:139</a></div></div>
|
|
141
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae615dd279fbf681e3c15e7209e3adfbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe">SVF::PointerAnalysis::getTypeSystem</a></div><div class="ttdeci">const TypeSystem * getTypeSystem() const</div><div class="ttdoc">get TypeSystem </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
142
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
140
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae615dd279fbf681e3c15e7209e3adfbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae615dd279fbf681e3c15e7209e3adfbe">SVF::PointerAnalysis::getTypeSystem</a></div><div class="ttdeci">const TypeSystem * getTypeSystem() const</div><div class="ttdoc">get TypeSystem </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00443">PointerAnalysis.h:443</a></div></div>
|
|
141
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00173">PointerAnalysis.h:173</a></div></div>
|
|
143
142
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad9af9655a13f3faeaf265ba370d1f280"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad9af9655a13f3faeaf265ba370d1f280">SVF::PointerAnalysis::getRevPts</a></div><div class="ttdeci">virtual const NodeSet & getRevPts(NodeID nodeId)=0</div></div>
|
|
144
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0bddf297a2d8cd59ce9a232f0229f248"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0bddf297a2d8cd59ce9a232f0229f248">SVF::PointerAnalysis::getCallGraphSCC</a></div><div class="ttdeci">CallGraphSCC * getCallGraphSCC() const</div><div class="ttdoc">Return call graph SCC. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
145
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a89dfeedf8e3e91603a1e9c73e3608a73"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73">SVF::PointerAnalysis::isArrayMemObj</a></div><div class="ttdeci">bool isArrayMemObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
146
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a13ce6b930a35877f17bffd4b89e22654"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654">SVF::PointerAnalysis::aliasTestMayAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestMayAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
147
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_af46f4b99fc2d5061c9266a7f45aafaca"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca">SVF::PointerAnalysis::VTableSet</a></div><div class="ttdeci">Set< const GlobalValue * > VTableSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
143
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0bddf297a2d8cd59ce9a232f0229f248"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0bddf297a2d8cd59ce9a232f0229f248">SVF::PointerAnalysis::getCallGraphSCC</a></div><div class="ttdeci">CallGraphSCC * getCallGraphSCC() const</div><div class="ttdoc">Return call graph SCC. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00178">PointerAnalysis.h:178</a></div></div>
|
|
144
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a89dfeedf8e3e91603a1e9c73e3608a73"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73">SVF::PointerAnalysis::isArrayMemObj</a></div><div class="ttdeci">bool isArrayMemObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00318">PointerAnalysis.h:318</a></div></div>
|
|
145
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a13ce6b930a35877f17bffd4b89e22654"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a13ce6b930a35877f17bffd4b89e22654">SVF::PointerAnalysis::aliasTestMayAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestMayAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00112">PointerAnalysis.h:112</a></div></div>
|
|
146
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_af46f4b99fc2d5061c9266a7f45aafaca"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af46f4b99fc2d5061c9266a7f45aafaca">SVF::PointerAnalysis::VTableSet</a></div><div class="ttdeci">Set< const GlobalValue * > VTableSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00107">PointerAnalysis.h:107</a></div></div>
|
|
148
147
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7accf4e4db4001716e53d98ce5217ac8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7accf4e4db4001716e53d98ce5217ac8">SVF::PointerAnalysis::validateSuccessTests</a></div><div class="ttdeci">virtual void validateSuccessTests(std::string fun)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00531">PointerAnalysis.cpp:531</a></div></div>
|
|
149
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade83738ac754d5ffc2a3b497b600cad4"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">SVF::PointerAnalysis::ptaTy</a></div><div class="ttdeci">PTATY ptaTy</div><div class="ttdoc">Pointer analysis Type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
148
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade83738ac754d5ffc2a3b497b600cad4"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade83738ac754d5ffc2a3b497b600cad4">SVF::PointerAnalysis::ptaTy</a></div><div class="ttdeci">PTATY ptaTy</div><div class="ttdoc">Pointer analysis Type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00145">PointerAnalysis.h:145</a></div></div>
|
|
150
149
|
<div class="ttc" id="MutablePointsToDS_8h_html"><div class="ttname"><a href="MutablePointsToDS_8h.html">MutablePointsToDS.h</a></div></div>
|
|
151
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a18347e41bc66b16e3f42c7c52811ad42"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42">SVF::PointerAnalysis::aliasTestFailNoAlias</a></div><div class="ttdeci">static const std::string aliasTestFailNoAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
152
|
-
<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#
|
|
150
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a18347e41bc66b16e3f42c7c52811ad42"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a18347e41bc66b16e3f42c7c52811ad42">SVF::PointerAnalysis::aliasTestFailNoAlias</a></div><div class="ttdeci">static const std::string aliasTestFailNoAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00121">PointerAnalysis.h:121</a></div></div>
|
|
151
|
+
<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>
|
|
153
152
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
|
|
154
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a627bdc95485fd65e8846fcaa5e89559f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">SVF::PointerAnalysis::dumpTopLevelPtsTo</a></div><div class="ttdeci">virtual void dumpTopLevelPtsTo()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
155
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
156
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a861554c2fdeaa406131c2c920b4c7908"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908">SVF::PointerAnalysis::dumpAllPts</a></div><div class="ttdeci">virtual void dumpAllPts()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
157
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
158
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad409cbf61271743394b9e5868f3fd197"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">SVF::PointerAnalysis::dumpCPts</a></div><div class="ttdeci">virtual void dumpCPts()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
159
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae8190ce12fb0c6360953f4b05047fbe8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">SVF::PointerAnalysis::getCallGraphSCCRepNode</a></div><div class="ttdeci">NodeID getCallGraphSCCRepNode(NodeID id) const</div><div class="ttdoc">Get SCC rep node of a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
160
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0ebf1138011aa526d92470c1931313ad"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad">SVF::PointerAnalysis::getStat</a></div><div class="ttdeci">PTAStat * getStat() const</div><div class="ttdoc">Get PTA stat. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
161
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae58c2b25494ec51e714c83c6cfd5dd67"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67">SVF::PointerAnalysis::inSameCallGraphSCC</a></div><div class="ttdeci">bool inSameCallGraphSCC(const SVFFunction *fun1, const SVFFunction *fun2)</div><div class="ttdoc">Return TRUE if this edge is inside a CallGraph SCC, i.e., src node and dst node are in the same SCC o...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
162
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aec884481726cfaf19c4ab8ec8d9195b7"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7">SVF::PointerAnalysis::aliasTestMustAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestMustAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
163
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae3b651799345d9d92b6d736dafb03f63"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">SVF::PointerAnalysis::callGraphSCC</a></div><div class="ttdeci">CallGraphSCC * callGraphSCC</div><div class="ttdoc">SCC for CallGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
164
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0e68883e2ee328315af29e59bb2008cd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd">SVF::PointerAnalysis::aliasTestNoAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestNoAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
153
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a627bdc95485fd65e8846fcaa5e89559f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a627bdc95485fd65e8846fcaa5e89559f">SVF::PointerAnalysis::dumpTopLevelPtsTo</a></div><div class="ttdeci">virtual void dumpTopLevelPtsTo()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00256">PointerAnalysis.h:256</a></div></div>
|
|
154
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac5683fe2e24b393ccc5cb6d8bc92cf2b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac5683fe2e24b393ccc5cb6d8bc92cf2b">SVF::PointerAnalysis::setObjFieldInsensitive</a></div><div class="ttdeci">void setObjFieldInsensitive(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00348">PointerAnalysis.h:348</a></div></div>
|
|
155
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a861554c2fdeaa406131c2c920b4c7908"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a861554c2fdeaa406131c2c920b4c7908">SVF::PointerAnalysis::dumpAllPts</a></div><div class="ttdeci">virtual void dumpAllPts()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00257">PointerAnalysis.h:257</a></div></div>
|
|
156
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00200">PointerAnalysis.h:200</a></div></div>
|
|
157
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad409cbf61271743394b9e5868f3fd197"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">SVF::PointerAnalysis::dumpCPts</a></div><div class="ttdeci">virtual void dumpCPts()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00258">PointerAnalysis.h:258</a></div></div>
|
|
158
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae8190ce12fb0c6360953f4b05047fbe8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae8190ce12fb0c6360953f4b05047fbe8">SVF::PointerAnalysis::getCallGraphSCCRepNode</a></div><div class="ttdeci">NodeID getCallGraphSCCRepNode(NodeID id) const</div><div class="ttdoc">Get SCC rep node of a SVFG node. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00404">PointerAnalysis.h:404</a></div></div>
|
|
159
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0ebf1138011aa526d92470c1931313ad"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad">SVF::PointerAnalysis::getStat</a></div><div class="ttdeci">PTAStat * getStat() const</div><div class="ttdoc">Get PTA stat. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00207">PointerAnalysis.h:207</a></div></div>
|
|
160
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae58c2b25494ec51e714c83c6cfd5dd67"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67">SVF::PointerAnalysis::inSameCallGraphSCC</a></div><div class="ttdeci">bool inSameCallGraphSCC(const SVFFunction *fun1, const SVFFunction *fun2)</div><div class="ttdoc">Return TRUE if this edge is inside a CallGraph SCC, i.e., src node and dst node are in the same SCC o...</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00409">PointerAnalysis.h:409</a></div></div>
|
|
161
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aec884481726cfaf19c4ab8ec8d9195b7"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aec884481726cfaf19c4ab8ec8d9195b7">SVF::PointerAnalysis::aliasTestMustAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestMustAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00118">PointerAnalysis.h:118</a></div></div>
|
|
162
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae3b651799345d9d92b6d736dafb03f63"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae3b651799345d9d92b6d736dafb03f63">SVF::PointerAnalysis::callGraphSCC</a></div><div class="ttdeci">CallGraphSCC * callGraphSCC</div><div class="ttdoc">SCC for CallGraph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00153">PointerAnalysis.h:153</a></div></div>
|
|
163
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0e68883e2ee328315af29e59bb2008cd"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0e68883e2ee328315af29e59bb2008cd">SVF::PointerAnalysis::aliasTestNoAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestNoAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00114">PointerAnalysis.h:114</a></div></div>
|
|
165
164
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_ac106536778c829d6925d6ed2149aeb44"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ac106536778c829d6925d6ed2149aeb44">SVF::PTACallGraph::getIndCSCallees</a></div><div class="ttdeci">const FunctionSet & getIndCSCallees(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00288">PTACallGraph.h:288</a></div></div>
|
|
166
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac1422cd8b449fdb4a1f7c539364e4c41"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">SVF::PointerAnalysis::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
167
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae2cc7cd0803dbd90639140e71b06b1b5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae2cc7cd0803dbd90639140e71b06b1b5">SVF::PointerAnalysis::getCHGraph</a></div><div class="ttdeci">CommonCHGraph * getCHGraph() const</div><div class="ttdoc">get CHGraph </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
168
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7648a0358e2c0798db1c547ec7aa7c64"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64">SVF::PointerAnalysis::aliasTestMayAlias</a></div><div class="ttdeci">static const std::string aliasTestMayAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
165
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac1422cd8b449fdb4a1f7c539364e4c41"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac1422cd8b449fdb4a1f7c539364e4c41">SVF::PointerAnalysis::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00104">PointerAnalysis.h:104</a></div></div>
|
|
166
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae2cc7cd0803dbd90639140e71b06b1b5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae2cc7cd0803dbd90639140e71b06b1b5">SVF::PointerAnalysis::getCHGraph</a></div><div class="ttdeci">CommonCHGraph * getCHGraph() const</div><div class="ttdoc">get CHGraph </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00430">PointerAnalysis.h:430</a></div></div>
|
|
167
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7648a0358e2c0798db1c547ec7aa7c64"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7648a0358e2c0798db1c547ec7aa7c64">SVF::PointerAnalysis::aliasTestMayAlias</a></div><div class="ttdeci">static const std::string aliasTestMayAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00111">PointerAnalysis.h:111</a></div></div>
|
|
169
168
|
<div class="ttc" id="PointsTo_8h_html"><div class="ttname"><a href="PointsTo_8h.html">PointsTo.h</a></div></div>
|
|
170
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1ca30dfa42702071b65d363c76d25cbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">SVF::PointerAnalysis::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap & getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
171
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7477a4301d548b93958e57df389cbba0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">SVF::PointerAnalysis::aliasTestMustAlias</a></div><div class="ttdeci">static const std::string aliasTestMustAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
172
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
173
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9f1c599cb9f6e2ae83e29bb84ef6831c"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c">SVF::PointerAnalysis::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
174
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a45462312a746339fff8b990a093d9a1b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b">SVF::PointerAnalysis::isBlkObjOrConstantObj</a></div><div class="ttdeci">virtual bool isBlkObjOrConstantObj(NodeID ptd) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
169
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a1ca30dfa42702071b65d363c76d25cbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a1ca30dfa42702071b65d363c76d25cbe">SVF::PointerAnalysis::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap & getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00374">PointerAnalysis.h:374</a></div></div>
|
|
170
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7477a4301d548b93958e57df389cbba0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7477a4301d548b93958e57df389cbba0">SVF::PointerAnalysis::aliasTestMustAlias</a></div><div class="ttdeci">static const std::string aliasTestMustAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00117">PointerAnalysis.h:117</a></div></div>
|
|
171
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00149">PointerAnalysis.h:149</a></div></div>
|
|
172
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a9f1c599cb9f6e2ae83e29bb84ef6831c"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c">SVF::PointerAnalysis::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00332">PointerAnalysis.h:332</a></div></div>
|
|
173
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a45462312a746339fff8b990a093d9a1b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a45462312a746339fff8b990a093d9a1b">SVF::PointerAnalysis::isBlkObjOrConstantObj</a></div><div class="ttdeci">virtual bool isBlkObjOrConstantObj(NodeID ptd) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00299">PointerAnalysis.h:299</a></div></div>
|
|
175
174
|
<div class="ttc" id="PersistentPointsToDS_8h_html"><div class="ttname"><a href="PersistentPointsToDS_8h.html">PersistentPointsToDS.h</a></div></div>
|
|
176
175
|
<div class="ttc" id="classSVF_1_1PTAStat_html"><div class="ttname"><a href="classSVF_1_1PTAStat.html">SVF::PTAStat</a></div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00048">PTAStat.h:48</a></div></div>
|
|
177
176
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85abf2f61ee9a5f6228db6587a8182ec9f2">SVF::PointerAnalysis::AndersenWaveDiff_WPA</a></div><div class="ttdoc">Diff wave propagation andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00069">PointerAnalysis.h:69</a></div></div>
|
|
178
177
|
<div class="ttc" id="classSVF_1_1SVFIR_html_ad9895f2d075eb402390e3b01ed68e001"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">SVF::SVFIR::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00394">SVFIR.h:394</a></div></div>
|
|
179
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a83b0a51d88fa7aadff6e9267765d07a5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5">SVF::PointerAnalysis::aliasTestPartialAlias</a></div><div class="ttdeci">static const std::string aliasTestPartialAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
178
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a83b0a51d88fa7aadff6e9267765d07a5"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a83b0a51d88fa7aadff6e9267765d07a5">SVF::PointerAnalysis::aliasTestPartialAlias</a></div><div class="ttdeci">static const std::string aliasTestPartialAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00115">PointerAnalysis.h:115</a></div></div>
|
|
180
179
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS & getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00476">SVFIR.cpp:476</a></div></div>
|
|
181
180
|
<div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00047">ICFG.h:47</a></div></div>
|
|
182
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aac1a133d478bd14c74309d9c4eaf0c8e"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e">SVF::PointerAnalysis::alias_validation</a></div><div class="ttdeci">bool alias_validation</div><div class="ttdoc">Flag for validating points-to/alias results. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
181
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aac1a133d478bd14c74309d9c4eaf0c8e"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aac1a133d478bd14c74309d9c4eaf0c8e">SVF::PointerAnalysis::alias_validation</a></div><div class="ttdeci">bool alias_validation</div><div class="ttdoc">Flag for validating points-to/alias results. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00135">PointerAnalysis.h:135</a></div></div>
|
|
183
182
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85adf8fe4349f84779601a0b41659ca8e27">SVF::PointerAnalysis::CSSummary_WPA</a></div><div class="ttdoc">Summary based context sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00072">PointerAnalysis.h:72</a></div></div>
|
|
184
183
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6c01f259ad2379a422d7106ce0255eb8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div></div>
|
|
185
184
|
<div class="ttc" id="classSVF_1_1MemObj_html_a898c5bb3956402578266a6fb142e02b1"><div class="ttname"><a href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">SVF::MemObj::isHeap</a></div><div class="ttdeci">bool isHeap() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00769">SymbolTableInfo.cpp:769</a></div></div>
|
|
186
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
185
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00311">PointerAnalysis.h:311</a></div></div>
|
|
187
186
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4da88380bb05f60a1349e192364ba6c5292">SVF::PointerAnalysis::CondImpl</a></div><div class="ttdoc">Represents CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00097">PointerAnalysis.h:97</a></div></div>
|
|
188
187
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a17c5d9fa7c0bd3cd03c06b5ff0906eb6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">SVF::SVFIR::getFunPtr</a></div><div class="ttdeci">NodeID getFunPtr(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00313">SVFIR.h:313</a></div></div>
|
|
189
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad2c8654a6672472f9bf17681aa9b60bb"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">SVF::PointerAnalysis::getNumOfResolvedIndCallEdge</a></div><div class="ttdeci">u32_t getNumOfResolvedIndCallEdge() const</div><div class="ttdoc">Return number of resolved indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
188
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad2c8654a6672472f9bf17681aa9b60bb"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad2c8654a6672472f9bf17681aa9b60bb">SVF::PointerAnalysis::getNumOfResolvedIndCallEdge</a></div><div class="ttdeci">u32_t getNumOfResolvedIndCallEdge() const</div><div class="ttdoc">Return number of resolved indirect call edges. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00168">PointerAnalysis.h:168</a></div></div>
|
|
190
189
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ab68615784a520e39856be5237930e6a6">SVF::PointerAnalysis::Andersen_WPA</a></div><div class="ttdoc">Andersen PTA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00066">PointerAnalysis.h:66</a></div></div>
|
|
191
190
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85accfa4ed42d3a3ac5e4abc403e738427b">SVF::PointerAnalysis::AndersenSFR_WPA</a></div><div class="ttdoc">Stride-based field representation. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00068">PointerAnalysis.h:68</a></div></div>
|
|
192
191
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ad6ccf1ce66083278349c5c3111172d78">SVF::PointerAnalysis::FSSPARSE_WPA</a></div><div class="ttdoc">Sparse flow sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00074">PointerAnalysis.h:74</a></div></div>
|
|
193
192
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
194
193
|
<div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00460">SparseBitVector.h:460</a></div></div>
|
|
195
194
|
<div class="ttc" id="classSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00738">SymbolTableInfo.cpp:738</a></div></div>
|
|
196
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aa7f15c74eb438be78fcc028534477478"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">SVF::PointerAnalysis::VFunSet</a></div><div class="ttdeci">Set< const SVFFunction * > VFunSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
195
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aa7f15c74eb438be78fcc028534477478"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa7f15c74eb438be78fcc028534477478">SVF::PointerAnalysis::VFunSet</a></div><div class="ttdeci">Set< const SVFFunction * > VFunSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00108">PointerAnalysis.h:108</a></div></div>
|
|
197
196
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a2878e202045b7f2c817185e8bf95d354"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">SVF::SVFIR::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(const MemObj *obj) const</div><div class="ttdoc">Get a field-insensitive obj SVFIR node according to a mem obj. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00374">SVFIR.h:374</a></div></div>
|
|
198
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac4ad73782f42f90ad7ac9c66edb27c69"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">SVF::PointerAnalysis::CallGraphSCC</a></div><div class="ttdeci">SCCDetection< PTACallGraph * > CallGraphSCC</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
199
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aefd4e9ea66da5ad84a45efead823eb22"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22">SVF::PointerAnalysis::aliasTestFailNoAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestFailNoAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
197
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac4ad73782f42f90ad7ac9c66edb27c69"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac4ad73782f42f90ad7ac9c66edb27c69">SVF::PointerAnalysis::CallGraphSCC</a></div><div class="ttdeci">SCCDetection< PTACallGraph * > CallGraphSCC</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00106">PointerAnalysis.h:106</a></div></div>
|
|
198
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aefd4e9ea66da5ad84a45efead823eb22"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aefd4e9ea66da5ad84a45efead823eb22">SVF::PointerAnalysis::aliasTestFailNoAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestFailNoAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00122">PointerAnalysis.h:122</a></div></div>
|
|
200
199
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a71a63c53a093ea8e450fb53fd60c9424"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a71a63c53a093ea8e450fb53fd60c9424">SVF::PTACallGraph::hasIndCSCallees</a></div><div class="ttdeci">bool hasIndCSCallees(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00284">PTACallGraph.h:284</a></div></div>
|
|
201
200
|
<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="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
|
|
202
201
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae1e217dc18be0ce70bee5ad930cb54c6"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae1e217dc18be0ce70bee5ad930cb54c6">SVF::PointerAnalysis::analyze</a></div><div class="ttdeci">virtual void analyze()=0</div><div class="ttdoc">Start Analysis here (main part of pointer analysis). It needs to be implemented in child class...</div></div>
|
|
203
202
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00148">PointerAnalysis.cpp:148</a></div></div>
|
|
204
203
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a4aeca84393c5586eea7a480737daf17c"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a4aeca84393c5586eea7a480737daf17c">SVF::PointerAnalysis::~PointerAnalysis</a></div><div class="ttdeci">virtual ~PointerAnalysis()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00085">PointerAnalysis.cpp:85</a></div></div>
|
|
205
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aa725a0c9426e8615cbc078c88561f66a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">SVF::PointerAnalysis::isInRecursion</a></div><div class="ttdeci">bool isInRecursion(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
206
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_af90d2ccb01402c5ca9d7a059f345c816"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af90d2ccb01402c5ca9d7a059f345c816">SVF::PointerAnalysis::isFIObjNode</a></div><div class="ttdeci">bool isFIObjNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
207
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
204
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aa725a0c9426e8615cbc078c88561f66a"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aa725a0c9426e8615cbc078c88561f66a">SVF::PointerAnalysis::isInRecursion</a></div><div class="ttdeci">bool isInRecursion(const SVFFunction *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00415">PointerAnalysis.h:415</a></div></div>
|
|
205
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_af90d2ccb01402c5ca9d7a059f345c816"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#af90d2ccb01402c5ca9d7a059f345c816">SVF::PointerAnalysis::isFIObjNode</a></div><div class="ttdeci">bool isFIObjNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00328">PointerAnalysis.h:328</a></div></div>
|
|
206
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad95c842964e6ca46e51fb763fefec585"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad95c842964e6ca46e51fb763fefec585">SVF::PointerAnalysis::CallSiteToFunPtrMap</a></div><div class="ttdeci">SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00103">PointerAnalysis.h:103</a></div></div>
|
|
208
207
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00169">GenericGraph.h:169</a></div></div>
|
|
209
208
|
<div class="ttc" id="classSVF_1_1LocationSet_html"><div class="ttname"><a href="classSVF_1_1LocationSet.html">SVF::LocationSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00048">LocationSet.h:48</a></div></div>
|
|
210
|
-
<div class="ttc" id="namespaceSVF_html_a3c2bd95727ec0d9c55c631b6617026c8"><div class="ttname"><a href="namespaceSVF.html#a3c2bd95727ec0d9c55c631b6617026c8">SVF::OrderedNodeSet</a></div><div class="ttdeci">OrderedSet< NodeID > OrderedNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
209
|
+
<div class="ttc" id="namespaceSVF_html_a3c2bd95727ec0d9c55c631b6617026c8"><div class="ttname"><a href="namespaceSVF.html#a3c2bd95727ec0d9c55c631b6617026c8">SVF::OrderedNodeSet</a></div><div class="ttdeci">OrderedSet< NodeID > OrderedNodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00116">SVFBasicTypes.h:116</a></div></div>
|
|
211
210
|
<div class="ttc" id="classSVF_1_1IRGraph_html_ac5da3a0cbe040a45d719b6f6a23aed91"><div class="ttname"><a href="classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91">SVF::IRGraph::getConstantNode</a></div><div class="ttdeci">NodeID getConstantNode() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00152">IRGraph.h:152</a></div></div>
|
|
212
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5d3c3094e263bf16a4f312a118c1bd36"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">SVF::PointerAnalysis::ptaImplTy</a></div><div class="ttdeci">PTAImplTy ptaImplTy</div><div class="ttdoc">PTA implementation type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
211
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5d3c3094e263bf16a4f312a118c1bd36"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5d3c3094e263bf16a4f312a118c1bd36">SVF::PointerAnalysis::ptaImplTy</a></div><div class="ttdeci">PTAImplTy ptaImplTy</div><div class="ttdoc">PTA implementation type. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00147">PointerAnalysis.h:147</a></div></div>
|
|
213
212
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85ac9e931f254fa3471f5f5337cbca1de09">SVF::PointerAnalysis::CSCallString_WPA</a></div><div class="ttdoc">Call string based context sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00071">PointerAnalysis.h:71</a></div></div>
|
|
214
213
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acaf0c0774025005647deaf59582b9d58">SVF::PointerAnalysis::PathS_DDA</a></div><div class="ttdoc">Guarded value-flow DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00085">PointerAnalysis.h:85</a></div></div>
|
|
215
214
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0c0855918cb2cdc3d8ebc175acfbd4d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0c0855918cb2cdc3d8ebc175acfbd4d">SVF::PointerAnalysis::PTAImplTy</a></div><div class="ttdeci">PTAImplTy</div><div class="ttdoc">Implementation type: BVDataPTAImpl or CondPTAImpl. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00093">PointerAnalysis.h:93</a></div></div>
|
|
216
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_acbb517523fd30708ed1a93f306cd3545"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545">SVF::PointerAnalysis::aliasTestPartialAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestPartialAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
215
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_acbb517523fd30708ed1a93f306cd3545"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#acbb517523fd30708ed1a93f306cd3545">SVF::PointerAnalysis::aliasTestPartialAliasMangled</a></div><div class="ttdeci">static const std::string aliasTestPartialAliasMangled</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00116">PointerAnalysis.h:116</a></div></div>
|
|
217
216
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a5d699af73b1e7ad4e3a5f6d26b8b6d15"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a5d699af73b1e7ad4e3a5f6d26b8b6d15">SVF::SCCDetection::isInCycle</a></div><div class="ttdeci">bool isInCycle(NodeID n) const</div><div class="ttdoc">whether the node is in a cycle </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00149">SCC.h:149</a></div></div>
|
|
218
217
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85">SVF::PointerAnalysis::PTATY</a></div><div class="ttdeci">PTATY</div><div class="ttdoc">Pointer analysis type list. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00062">PointerAnalysis.h:62</a></div></div>
|
|
219
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5583b5fc0db461a0138b1f2f1c9a89a0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0">SVF::PointerAnalysis::CallSiteSet</a></div><div class="ttdeci">Set< const CallICFGNode * > CallSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
220
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
218
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5583b5fc0db461a0138b1f2f1c9a89a0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5583b5fc0db461a0138b1f2f1c9a89a0">SVF::PointerAnalysis::CallSiteSet</a></div><div class="ttdeci">Set< const CallICFGNode * > CallSiteSet</div><div class="ttdoc">Indirect call edges type, map a callsite to a set of callees. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00102">PointerAnalysis.h:102</a></div></div>
|
|
219
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00141">PointerAnalysis.h:141</a></div></div>
|
|
221
220
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
|
|
222
221
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a03dadb5429e2b84f88713a83153979a8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a03dadb5429e2b84f88713a83153979a8">SVF::PointerAnalysis::destroy</a></div><div class="ttdeci">void destroy()</div><div class="ttdoc">Release the memory. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00093">PointerAnalysis.cpp:93</a></div></div>
|
|
223
222
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a9a25374fb6d2218c6c59de0482548f49">SVF::PointerAnalysis::Andersen_BASE</a></div><div class="ttdoc">Base Andersen PTA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00065">PointerAnalysis.h:65</a></div></div>
|
|
224
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
223
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00353">PointerAnalysis.h:353</a></div></div>
|
|
225
224
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">SVF::PointerAnalysis::FlowS_DDA</a></div><div class="ttdoc">Flow sensitive DDA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00084">PointerAnalysis.h:84</a></div></div>
|
|
226
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a3550ea3f087ec557a6fe076bc443b05d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">SVF::PointerAnalysis::print_stat</a></div><div class="ttdeci">bool print_stat</div><div class="ttdoc">User input flags. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
225
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a3550ea3f087ec557a6fe076bc443b05d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a3550ea3f087ec557a6fe076bc443b05d">SVF::PointerAnalysis::print_stat</a></div><div class="ttdeci">bool print_stat</div><div class="ttdoc">User input flags. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00133">PointerAnalysis.h:133</a></div></div>
|
|
227
226
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6a5dec067fa2a1babc83f36daa8afcc3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6a5dec067fa2a1babc83f36daa8afcc3">SVF::PointerAnalysis::connectVCallToVFns</a></div><div class="ttdeci">void connectVCallToVFns(const CallICFGNode *cs, const VFunSet &vfns, CallEdgeMap &newEdges)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00493">PointerAnalysis.cpp:493</a></div></div>
|
|
228
227
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00391">GenericGraph.h:391</a></div></div>
|
|
229
228
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a6c06b12c95a4aa57edc6bef57514a7e1">SVF::PointerAnalysis::AndersenSCD_WPA</a></div><div class="ttdoc">Selective cycle detection andersen-style WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00067">PointerAnalysis.h:67</a></div></div>
|
|
230
229
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00309">SVFIR.h:309</a></div></div>
|
|
231
230
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
|
|
232
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0bb90b398ef85504bcd816ae57bee01d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">SVF::PointerAnalysis::computeDDAPts</a></div><div class="ttdeci">virtual void computeDDAPts(NodeID)</div><div class="ttdoc">Compute points-to results on-demand, overridden by derived classes. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
231
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0bb90b398ef85504bcd816ae57bee01d"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">SVF::PointerAnalysis::computeDDAPts</a></div><div class="ttdeci">virtual void computeDDAPts(NodeID)</div><div class="ttdoc">Compute points-to results on-demand, overridden by derived classes. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00235">PointerAnalysis.h:235</a></div></div>
|
|
233
232
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a73fb8e595473e0c7df1dd0de4968ad13"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a73fb8e595473e0c7df1dd0de4968ad13">SVF::PointerAnalysis::resetObjFieldSensitive</a></div><div class="ttdeci">void resetObjFieldSensitive()</div><div class="ttdoc">Reset all object node as field-sensitive. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00166">PointerAnalysis.cpp:166</a></div></div>
|
|
234
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae0efd57376195eacded85d58abee5b46"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae0efd57376195eacded85d58abee5b46">SVF::PointerAnalysis::getIndCSCallees</a></div><div class="ttdeci">const FunctionSet & getIndCSCallees(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
233
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae0efd57376195eacded85d58abee5b46"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae0efd57376195eacded85d58abee5b46">SVF::PointerAnalysis::getIndCSCallees</a></div><div class="ttdeci">const FunctionSet & getIndCSCallees(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00382">PointerAnalysis.h:382</a></div></div>
|
|
235
234
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
236
235
|
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00136">SVFIR.h:136</a></div></div>
|
|
237
236
|
<div class="ttc" id="classSVF_1_1CommonCHGraph_html"><div class="ttname"><a href="classSVF_1_1CommonCHGraph.html">SVF::CommonCHGraph</a></div><div class="ttdoc">Common base for class hierarchy graph. Only implements what PointerAnalysis needs. </div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00050">CHG.h:50</a></div></div>
|
|
@@ -239,19 +238,19 @@ $(function() {
|
|
|
239
238
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00670">SVFIR.cpp:670</a></div></div>
|
|
240
239
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85acc2e7cbdd04a614a3b6189d2f01042f3">SVF::PointerAnalysis::TypeCPP_WPA</a></div><div class="ttdoc">Type-based analysis for C++. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00080">PointerAnalysis.h:80</a></div></div>
|
|
241
240
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
242
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aed4e5066f6ddef83afaf60adbcc11de0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">SVF::PointerAnalysis::PTAName</a></div><div class="ttdeci">virtual const std::string PTAName() const</div><div class="ttdoc">Return PTA name. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
241
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_aed4e5066f6ddef83afaf60adbcc11de0"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#aed4e5066f6ddef83afaf60adbcc11de0">SVF::PointerAnalysis::PTAName</a></div><div class="ttdeci">virtual const std::string PTAName() const</div><div class="ttdoc">Return PTA name. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00424">PointerAnalysis.h:424</a></div></div>
|
|
243
242
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a431ec4f85eb0f029e5740b92fd9ceb32"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">SVF::PointerAnalysis::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialization of a pointer analysis, including building symbol table and SVFIR etc. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00111">PointerAnalysis.cpp:111</a></div></div>
|
|
244
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a32c6f12ce8bc0554dbb6aafa36f9a235"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235">SVF::PointerAnalysis::aliasTestFailMayAlias</a></div><div class="ttdeci">static const std::string aliasTestFailMayAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
245
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade879ee99cae01632d567d3736dcad9e"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e">SVF::PointerAnalysis::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdoc">Get ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
246
|
-
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
243
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a32c6f12ce8bc0554dbb6aafa36f9a235"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a32c6f12ce8bc0554dbb6aafa36f9a235">SVF::PointerAnalysis::aliasTestFailMayAlias</a></div><div class="ttdeci">static const std::string aliasTestFailMayAlias</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00119">PointerAnalysis.h:119</a></div></div>
|
|
244
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ade879ee99cae01632d567d3736dcad9e"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ade879ee99cae01632d567d3736dcad9e">SVF::PointerAnalysis::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdoc">Get ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00163">PointerAnalysis.h:163</a></div></div>
|
|
245
|
+
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00050">BasicTypes.h:50</a></div></div>
|
|
247
246
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a011b8401f5ed5fdb6cd507053465a7a2"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a011b8401f5ed5fdb6cd507053465a7a2">SVF::PointerAnalysis::getVFnsFromPts</a></div><div class="ttdeci">void getVFnsFromPts(const CallICFGNode *cs, const PointsTo &target, VFunSet &vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00467">PointerAnalysis.cpp:467</a></div></div>
|
|
248
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a68b05bc02c5473c1e0d39ac4f4454bac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac">SVF::PointerAnalysis::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
249
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adbceaf90526e44192c2fa4aac5468f5f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">SVF::PointerAnalysis::getFunPtr</a></div><div class="ttdeci">NodeID getFunPtr(const CallICFGNode *cs) const</div><div class="ttdoc">Return function pointer PAGNode at a callsite cs. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
247
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a68b05bc02c5473c1e0d39ac4f4454bac"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac">SVF::PointerAnalysis::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00336">PointerAnalysis.h:336</a></div></div>
|
|
248
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adbceaf90526e44192c2fa4aac5468f5f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adbceaf90526e44192c2fa4aac5468f5f">SVF::PointerAnalysis::getFunPtr</a></div><div class="ttdeci">NodeID getFunPtr(const CallICFGNode *cs) const</div><div class="ttdoc">Return function pointer PAGNode at a callsite cs. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00271">PointerAnalysis.h:271</a></div></div>
|
|
250
249
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a08399de593c073b6dd848a8d849dad27"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a08399de593c073b6dd848a8d849dad27">SVF::PointerAnalysis::dumpAllTypes</a></div><div class="ttdeci">void dumpAllTypes()</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00248">PointerAnalysis.cpp:248</a></div></div>
|
|
251
250
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00057">PointerAnalysis.h:57</a></div></div>
|
|
252
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0f821cfe4fb9c9c8816e7a1b1bc0c5e"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0f821cfe4fb9c9c8816e7a1b1bc0c5e">SVF::PointerAnalysis::getImplTy</a></div><div class="ttdeci">PTAImplTy getImplTy() const</div><div class="ttdoc">Return implementation type of the pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#
|
|
251
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ac0f821cfe4fb9c9c8816e7a1b1bc0c5e"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ac0f821cfe4fb9c9c8816e7a1b1bc0c5e">SVF::PointerAnalysis::getImplTy</a></div><div class="ttdeci">PTAImplTy getImplTy() const</div><div class="ttdoc">Return implementation type of the pointer analysis. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00193">PointerAnalysis.h:193</a></div></div>
|
|
253
252
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a62281bc39fea50a88e55edf605620322">SVF::PointerAnalysis::FSDATAFLOW_WPA</a></div><div class="ttdoc">Traditional Dataflow-based flow sensitive WPA. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00073">PointerAnalysis.h:73</a></div></div>
|
|
254
|
-
<div class="ttc" id="namespaceSVF_html_aedf0d6718ca176e0b9e17ab4b30729c6"><div class="ttname"><a href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">SVF::OrderedMap</a></div><div class="ttdeci">std::map< Key, Value, Compare, Allocator > OrderedMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
253
|
+
<div class="ttc" id="namespaceSVF_html_aedf0d6718ca176e0b9e17ab4b30729c6"><div class="ttname"><a href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">SVF::OrderedMap</a></div><div class="ttdeci">std::map< Key, Value, Compare, Allocator > OrderedMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00113">SVFBasicTypes.h:113</a></div></div>
|
|
255
254
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00354">SVFIR.h:354</a></div></div>
|
|
256
255
|
</div><!-- fragment --></div><!-- contents -->
|
|
257
256
|
<!-- start footer part -->
|