svf-tools 1.0.596 → 1.0.597
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/AndersenSCD_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CFLGraph_8cpp.html +3 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +15 -16
- package/SVF-doxygen/html/html/CFLGraph_8h.html +4 -6
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +19 -20
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8cpp.html +6 -5
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +26 -27
- package/SVF-doxygen/html/html/CHG_8h.html +4 -6
- package/SVF-doxygen/html/html/CHG_8h_source.html +13 -14
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ConsG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +27 -28
- package/SVF-doxygen/html/html/ConsG_8h.html +4 -6
- package/SVF-doxygen/html/html/ConsG_8h_source.html +10 -11
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/DCHG_8h.html +4 -6
- package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -16
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
- package/SVF-doxygen/html/html/DOTGraphTraits_8h.html +4 -3
- package/SVF-doxygen/html/html/DOTGraphTraits_8h_source.html +24 -24
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/GenericGraph_8h.html +8 -9
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +125 -125
- package/SVF-doxygen/html/html/GraphPrinter_8h.html +3 -2
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +7 -7
- package/SVF-doxygen/html/html/GraphReachSolver_8h_source.html +4 -4
- package/SVF-doxygen/html/html/GraphTraits_8h.html +20 -19
- package/SVF-doxygen/html/html/GraphTraits_8h_source.html +13 -13
- package/SVF-doxygen/html/html/GraphWriter_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/GraphWriter_8h.html +23 -22
- package/SVF-doxygen/html/html/GraphWriter_8h_source.html +48 -48
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +27 -28
- package/SVF-doxygen/html/html/ICFG_8h.html +4 -6
- package/SVF-doxygen/html/html/ICFG_8h_source.html +14 -15
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp.html +3 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -21
- package/SVF-doxygen/html/html/IRGraph_8h.html +4 -6
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +9 -10
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +38 -39
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +19 -19
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +16 -9
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +6 -4
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +23 -23
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +23 -23
- package/SVF-doxygen/html/html/MHP_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8cpp.html +3 -2
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +27 -28
- package/SVF-doxygen/html/html/PTACallGraph_8h.html +4 -6
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -18
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SCC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +23 -24
- package/SVF-doxygen/html/html/SVFG_8h.html +1 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +13 -14
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +15 -14
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +16 -19
- package/SVF-doxygen/html/html/SVFValue_8h.html +3 -3
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +210 -213
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +13 -14
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +3 -4
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +7 -10
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8cpp.html +3 -2
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +38 -39
- package/SVF-doxygen/html/html/TCT_8h.html +4 -6
- package/SVF-doxygen/html/html/TCT_8h_source.html +27 -28
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +7 -7
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +6 -6
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
- package/SVF-doxygen/html/html/VFG_8cpp.html +3 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +20 -21
- package/SVF-doxygen/html/html/VFG_8h.html +4 -6
- package/SVF-doxygen/html/html/VFG_8h_source.html +14 -15
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +3 -3
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +4 -4
- package/SVF-doxygen/html/html/annotated.html +291 -291
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- 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 +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode-members.html +45 -44
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
- 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_1CxtProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
- 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_1ExtAPI.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +29 -29
- 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 +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +98 -97
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -4
- 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 +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter-members.html +83 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphPrinter.html +236 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GraphReachSolver.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GraphWriter-members.html +100 -0
- package/SVF-doxygen/html/html/classSVF_1_1GraphWriter.html +882 -0
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +69 -69
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +22 -22
- 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 +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument-members.html +7 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +16 -20
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +56 -63
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst-members.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +34 -38
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +5 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +10 -14
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +14 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +23 -25
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +115 -119
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue-members.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +14 -18
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +48 -47
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction-members.html +11 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +31 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +7 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue-members.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +5 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFType.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +25 -28
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +38 -128
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst-members.html +14 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +29 -33
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder-members.html +2 -3
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +21 -54
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +72 -72
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
- 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 +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base-members.html +112 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +633 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base-members.html +102 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.html +787 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy-members.html +84 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +229 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__range-members.html +87 -0
- package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +342 -0
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter-members.html +112 -0
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +322 -0
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator-members.html +113 -0
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +343 -0
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.png +0 -0
- package/SVF-doxygen/html/html/classes.html +59 -59
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/fastcluster__R__dm_8cpp_8inc_source.html +2 -2
- package/SVF-doxygen/html/html/functions_a.html +1 -1
- package/SVF-doxygen/html/html/functions_b.html +4 -4
- package/SVF-doxygen/html/html/functions_c.html +20 -18
- package/SVF-doxygen/html/html/functions_d.html +20 -20
- package/SVF-doxygen/html/html/functions_e.html +14 -16
- package/SVF-doxygen/html/html/functions_eval_i.html +2 -2
- package/SVF-doxygen/html/html/functions_f.html +1 -1
- package/SVF-doxygen/html/html/functions_func.html +1 -1
- package/SVF-doxygen/html/html/functions_func_b.html +2 -2
- package/SVF-doxygen/html/html/functions_func_c.html +4 -4
- package/SVF-doxygen/html/html/functions_func_d.html +14 -14
- package/SVF-doxygen/html/html/functions_func_e.html +8 -8
- package/SVF-doxygen/html/html/functions_func_g.html +72 -72
- package/SVF-doxygen/html/html/functions_func_h.html +4 -7
- package/SVF-doxygen/html/html/functions_func_i.html +17 -20
- package/SVF-doxygen/html/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/html/functions_func_n.html +3 -3
- package/SVF-doxygen/html/html/functions_func_o.html +24 -24
- package/SVF-doxygen/html/html/functions_func_p.html +4 -4
- package/SVF-doxygen/html/html/functions_func_r.html +2 -2
- package/SVF-doxygen/html/html/functions_func_s.html +15 -18
- package/SVF-doxygen/html/html/functions_func_w.html +8 -8
- package/SVF-doxygen/html/html/functions_g.html +84 -82
- package/SVF-doxygen/html/html/functions_h.html +6 -12
- package/SVF-doxygen/html/html/functions_i.html +40 -43
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_n.html +30 -30
- package/SVF-doxygen/html/html/functions_o.html +39 -43
- package/SVF-doxygen/html/html/functions_p.html +16 -16
- package/SVF-doxygen/html/html/functions_r.html +8 -6
- package/SVF-doxygen/html/html/functions_rela.html +3 -3
- package/SVF-doxygen/html/html/functions_s.html +22 -25
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_type_b.html +1 -1
- package/SVF-doxygen/html/html/functions_type_c.html +7 -7
- package/SVF-doxygen/html/html/functions_type_d.html +4 -4
- package/SVF-doxygen/html/html/functions_type_e.html +4 -4
- package/SVF-doxygen/html/html/functions_type_g.html +6 -6
- package/SVF-doxygen/html/html/functions_type_i.html +4 -4
- package/SVF-doxygen/html/html/functions_type_n.html +27 -27
- package/SVF-doxygen/html/html/functions_type_p.html +3 -3
- package/SVF-doxygen/html/html/functions_type_r.html +2 -2
- package/SVF-doxygen/html/html/functions_type_v.html +2 -2
- package/SVF-doxygen/html/html/functions_v.html +5 -5
- package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_d.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_e.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_g.html +7 -5
- package/SVF-doxygen/html/html/functions_vars_h.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_i.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_o.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +17 -17
- package/SVF-doxygen/html/html/hierarchy.html +159 -159
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/iterator_8h.html +16 -15
- package/SVF-doxygen/html/html/iterator_8h_source.html +53 -53
- package/SVF-doxygen/html/html/iterator__range_8h.html +9 -8
- package/SVF-doxygen/html/html/iterator__range_8h_source.html +11 -11
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +575 -9
- package/SVF-doxygen/html/html/namespaceSVF_1_1DOT.html +107 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1GraphProgram.html +122 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +65 -7
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
- package/SVF-doxygen/html/html/namespacellvm.html +1 -572
- package/SVF-doxygen/html/html/namespacemembers_c.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_d.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_e.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_enum.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_eval.html +5 -5
- package/SVF-doxygen/html/html/namespacemembers_f.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_func_c.html +2 -2
- package/SVF-doxygen/html/html/namespacemembers_func_e.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_func_i.html +8 -5
- package/SVF-doxygen/html/html/namespacemembers_func_m.html +4 -4
- package/SVF-doxygen/html/html/namespacemembers_func_n.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_func_v.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_func_w.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_i.html +6 -3
- package/SVF-doxygen/html/html/namespacemembers_m.html +4 -4
- package/SVF-doxygen/html/html/namespacemembers_n.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_r.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_t.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type_g.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_type_r.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_v.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_w.html +1 -1
- package/SVF-doxygen/html/html/namespaces.html +5 -5
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +12 -12
- package/SVF-doxygen/html/html/search/all_11.js +7 -7
- package/SVF-doxygen/html/html/search/all_12.js +7 -6
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +10 -10
- package/SVF-doxygen/html/html/search/all_2.js +3 -3
- package/SVF-doxygen/html/html/search/all_3.js +7 -7
- package/SVF-doxygen/html/html/search/all_4.js +20 -20
- package/SVF-doxygen/html/html/search/all_5.js +9 -9
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +87 -87
- package/SVF-doxygen/html/html/search/all_8.js +1 -3
- package/SVF-doxygen/html/html/search/all_9.js +23 -23
- package/SVF-doxygen/html/html/search/all_c.js +2 -4
- package/SVF-doxygen/html/html/search/all_d.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +11 -11
- package/SVF-doxygen/html/html/search/all_f.js +19 -19
- package/SVF-doxygen/html/html/search/classes_3.js +13 -13
- package/SVF-doxygen/html/html/search/classes_6.js +64 -64
- package/SVF-doxygen/html/html/search/classes_8.js +10 -10
- package/SVF-doxygen/html/html/search/classes_a.js +1 -1
- package/SVF-doxygen/html/html/search/classes_d.js +2 -2
- package/SVF-doxygen/html/html/search/classes_e.js +1 -1
- package/SVF-doxygen/html/html/search/enums_8.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_10.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_2.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_3.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_5.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_8.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +1 -1
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_11.js +1 -2
- package/SVF-doxygen/html/html/search/functions_14.js +1 -1
- package/SVF-doxygen/html/html/search/functions_15.js +8 -8
- package/SVF-doxygen/html/html/search/functions_2.js +4 -4
- package/SVF-doxygen/html/html/search/functions_3.js +5 -5
- package/SVF-doxygen/html/html/search/functions_4.js +7 -7
- package/SVF-doxygen/html/html/search/functions_6.js +21 -21
- package/SVF-doxygen/html/html/search/functions_7.js +1 -2
- package/SVF-doxygen/html/html/search/functions_8.js +8 -8
- package/SVF-doxygen/html/html/search/functions_c.js +5 -5
- package/SVF-doxygen/html/html/search/functions_d.js +4 -4
- package/SVF-doxygen/html/html/search/functions_e.js +14 -14
- package/SVF-doxygen/html/html/search/functions_f.js +4 -4
- package/SVF-doxygen/html/html/search/namespaces_0.js +0 -2
- package/SVF-doxygen/html/html/search/namespaces_1.js +2 -0
- package/SVF-doxygen/html/html/search/related_9.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_3.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_4.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_6.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_7.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_c.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_e.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_f.js +2 -2
- package/SVF-doxygen/html/html/search/variables_10.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_4.js +1 -1
- package/SVF-doxygen/html/html/search/variables_5.js +1 -1
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +2 -2
- package/SVF-doxygen/html/html/search/variables_8.js +0 -1
- package/SVF-doxygen/html/html/search/variables_9.js +5 -5
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_f.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits-members.html +99 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.html +193 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4-members.html +105 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +443 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4-members.html +104 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +388 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4-members.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +481 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4-members.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +475 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4-members.html +107 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +486 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4-members.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +457 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4-members.html +108 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +595 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4-members.html +105 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +409 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01TCT_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4-members.html +107 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +543 -0
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01VFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits-members.html +99 -0
- package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.html +855 -0
- package/SVF-doxygen/html/html/structSVF_1_1DefaultDOTGraphTraits.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericEdge_1_1equalGEdge.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits.html +116 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01Inverse_3_01T_01_4_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CHNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ConstraintNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1DCHNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4-members.html +88 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +324 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1PTACallGraphNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1SVFVar_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1TCTNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +110 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CHNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ConstraintNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1DCHNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4-members.html +99 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +467 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4-members.html +89 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +367 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1ICFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1IRGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraphNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1PTACallGraph_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1SVFVar_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCTNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1TCT_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +106 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +126 -0
- package/SVF-doxygen/html/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1VFG_01_5_01_4.png +0 -0
- package/SVF-doxygen/html/html/structSVF_1_1Inverse-members.html +82 -0
- package/SVF-doxygen/html/html/structSVF_1_1Inverse.html +154 -0
- package/SVF-doxygen/html/html/structSVF_1_1pointee__iter-members.html +111 -0
- package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.html +279 -0
- package/SVF-doxygen/html/html/structSVF_1_1pointee__iter.png +0 -0
- 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_1CxtProc_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/svf-ex_8cpp.html +9 -9
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/Graphs/CFLGraph.h +6 -6
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsG.h +6 -6
- package/include/Graphs/DOTGraphTraits.h +3 -3
- package/include/Graphs/GenericGraph.h +10 -9
- package/include/Graphs/GraphPrinter.h +2 -2
- package/include/Graphs/GraphTraits.h +29 -29
- package/include/Graphs/GraphWriter.h +6 -6
- package/include/Graphs/ICFG.h +6 -6
- package/include/Graphs/IRGraph.h +6 -7
- package/include/Graphs/PTACallGraph.h +6 -6
- package/include/Graphs/SVFG.h +6 -6
- package/include/Graphs/VFG.h +6 -6
- package/include/MTA/TCT.h +6 -6
- package/include/SABER/SrcSnkSolver.h +2 -2
- package/include/SVF-LLVM/DCHG.h +6 -6
- package/include/SVF-LLVM/LLVMUtil.h +5 -0
- package/include/SVF-LLVM/SymbolTableBuilder.h +0 -3
- package/include/SVFIR/SVFValue.h +2 -11
- package/include/SVFIR/SVFVariables.h +5 -5
- package/include/Util/GraphReachSolver.h +2 -2
- package/include/Util/SCC.h +1 -1
- package/include/Util/iterator.h +32 -32
- package/include/Util/iterator_range.h +11 -11
- package/include/WPA/WPASolver.h +1 -1
- package/lib/Graphs/CFLGraph.cpp +2 -2
- package/lib/Graphs/CHG.cpp +2 -2
- package/lib/Graphs/ConsG.cpp +2 -2
- package/lib/Graphs/GraphWriter.cpp +1 -1
- package/lib/Graphs/ICFG.cpp +2 -2
- package/lib/Graphs/IRGraph.cpp +2 -2
- package/lib/Graphs/PTACallGraph.cpp +2 -2
- package/lib/Graphs/SVFG.cpp +1 -1
- package/lib/Graphs/VFG.cpp +2 -2
- package/lib/MTA/TCT.cpp +1 -1
- package/lib/SVF-LLVM/LLVMModule.cpp +0 -2
- package/lib/SVF-LLVM/LLVMUtil.cpp +40 -0
- package/lib/SVF-LLVM/SVFIRBuilder.cpp +1 -1
- package/lib/SVF-LLVM/SymbolTableBuilder.cpp +0 -34
- package/lib/SVFIR/SVFValue.cpp +0 -1
- package/package.json +1 -1
|
@@ -273,7 +273,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
273
273
|
<div class="ttc" id="classSVF_1_1TCTNode_html_a8f2ef1020b45aada8b79ac3b8d27c2a6"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a8f2ef1020b45aada8b79ac3b8d27c2a6">SVF::TCTNode::ctx</a></div><div class="ttdeci">const CxtThread ctx</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00127">TCT.h:127</a></div></div>
|
|
274
274
|
<div class="ttc" id="classSVF_1_1CxtThread_html_a39230596cd1c927353eaaee071eb16c6"><div class="ttname"><a href="classSVF_1_1CxtThread.html#a39230596cd1c927353eaaee071eb16c6">SVF::CxtThread::isInloop</a></div><div class="ttdeci">bool isInloop() const</div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00263">CxtStmt.h:263</a></div></div>
|
|
275
275
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
276
|
-
<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#
|
|
276
|
+
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
|
|
277
277
|
<div class="ttc" id="classSVF_1_1CxtThread_html_a54c95794963cb5a478db7c49c1b8c428"><div class="ttname"><a href="classSVF_1_1CxtThread.html#a54c95794963cb5a478db7c49c1b8c428">SVF::CxtThread::isIncycle</a></div><div class="ttdeci">bool isIncycle() const</div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00271">CxtStmt.h:271</a></div></div>
|
|
278
278
|
</div><!-- fragment -->
|
|
279
279
|
</div>
|
|
@@ -534,7 +534,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
534
534
|
|
|
535
535
|
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00255">255</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
536
536
|
<div class="fragment"><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  std::stringstream rawstr(str);</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  rawstr << <span class="stringliteral">"TDForkPE: [Var"</span> << <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() << <span class="stringliteral">" <-- Var"</span> << <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() << <span class="stringliteral">"]\t"</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  rawstr << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  rawstr << <a class="code" href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">toString</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="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> }</div><div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00261">SVFStatements.h:261</a></div></div>
|
|
537
|
-
<div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
537
|
+
<div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00681">LLVMUtil.cpp:681</a></div></div>
|
|
538
538
|
<div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00265">SVFStatements.h:265</a></div></div>
|
|
539
539
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_abb784290c90d26f35897fa15bae277d2"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00120">SVFStatements.h:120</a></div></div>
|
|
540
540
|
<div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
|
|
@@ -533,7 +533,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
533
533
|
|
|
534
534
|
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00268">268</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
535
535
|
<div class="fragment"><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  std::stringstream rawstr(str);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  rawstr << <span class="stringliteral">"TDJoinPE: [Var"</span> << <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() << <span class="stringliteral">" <-- Var"</span> << <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() << <span class="stringliteral">"]\t"</span>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>)</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  rawstr << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  rawstr << <a class="code" href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">toString</a>();</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="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div><div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00261">SVFStatements.h:261</a></div></div>
|
|
536
|
-
<div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
536
|
+
<div class="ttc" id="classSVF_1_1SVFValue_html_aa678ca4616a3e69b53726b33d0b9c5a2"><div class="ttname"><a href="classSVF_1_1SVFValue.html#aa678ca4616a3e69b53726b33d0b9c5a2">SVF::SVFValue::toString</a></div><div class="ttdeci">virtual const std::string toString() const</div><div class="ttdoc">Needs to be implemented by a specific SVF front end (e.g., the implementation in LLVMUtil) ...</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00681">LLVMUtil.cpp:681</a></div></div>
|
|
537
537
|
<div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00265">SVFStatements.h:265</a></div></div>
|
|
538
538
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_abb784290c90d26f35897fa15bae277d2"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#abb784290c90d26f35897fa15bae277d2">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00120">SVFStatements.h:120</a></div></div>
|
|
539
539
|
<div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00135">Options.h:135</a></div></div>
|
|
@@ -641,16 +641,16 @@ Static Private Attributes</h2></td></tr>
|
|
|
641
641
|
<p>Return the first argument of the call, Note that, it is the pthread_t pointer </p>
|
|
642
642
|
|
|
643
643
|
<p class="definition">Definition at line <a class="el" href="ThreadAPI_8cpp_source.html#l00156">156</a> of file <a class="el" href="ThreadAPI_8cpp_source.html">ThreadAPI.cpp</a>.</p>
|
|
644
|
-
<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  assert(<a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(inst) && <span class="stringliteral">"not a thread join function!"</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="classSVF_1_1ThreadAPI.html#a9c1e40279cc3b13a3b449b31131d88bc">getSVFCallSite</a>(inst);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* join = cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(0);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* var = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()->getValueNode(join));</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a>* stmt : var-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>())</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">if</span>(SVFUtil::isa<LoadStmt>(stmt))</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> stmt->getSrcNode()-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span>(SVFUtil::isa<SVFArgument>(join))</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span> join;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"the value of the first argument at join is not a load instruction?"</span>);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div><div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#
|
|
644
|
+
<div class="fragment"><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  assert(<a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(inst) && <span class="stringliteral">"not a thread join function!"</span>);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="classSVF_1_1ThreadAPI.html#a9c1e40279cc3b13a3b449b31131d88bc">getSVFCallSite</a>(inst);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* join = cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(0);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* var = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()->getValueNode(join));</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a>* stmt : var-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>())</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">if</span>(SVFUtil::isa<LoadStmt>(stmt))</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> stmt->getSrcNode()-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>();</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span>(SVFUtil::isa<SVFArgument>(join))</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">return</span> join;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"the value of the first argument at join is not a load instruction?"</span>);</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> }</div><div class="ttc" id="classSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00188">GenericGraph.h:188</a></div></div>
|
|
645
645
|
<div class="ttc" id="classSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00091">SVFVariables.h:91</a></div></div>
|
|
646
646
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
647
647
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00107">SVFIR.h:107</a></div></div>
|
|
648
648
|
<div class="ttc" id="classSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00147">SVFValue.h:147</a></div></div>
|
|
649
|
-
<div class="ttc" id="classSVF_1_1CallSite_html_a9e7c94ee7f689466111487e03b2cebcc"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">SVF::CallSite::getArgument</a></div><div class="ttdeci">const SVFValue * getArgument(u32_t ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
649
|
+
<div class="ttc" id="classSVF_1_1CallSite_html_a9e7c94ee7f689466111487e03b2cebcc"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">SVF::CallSite::getArgument</a></div><div class="ttdeci">const SVFValue * getArgument(u32_t ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01027">SVFValue.h:1027</a></div></div>
|
|
650
650
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a9c1e40279cc3b13a3b449b31131d88bc"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a9c1e40279cc3b13a3b449b31131d88bc">SVF::ThreadAPI::getSVFCallSite</a></div><div class="ttdeci">const CallSite getSVFCallSite(const SVFInstruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8cpp_source.html#l00151">ThreadAPI.cpp:151</a></div></div>
|
|
651
|
-
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
651
|
+
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01014">SVFValue.h:1014</a></div></div>
|
|
652
652
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a68b10ffa2775fe7d8c1476409c0f54ab"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">SVF::ThreadAPI::isTDJoin</a></div><div class="ttdeci">bool isTDJoin(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call wait for a worker thread. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00223">ThreadAPI.h:223</a></div></div>
|
|
653
|
-
<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#
|
|
653
|
+
<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#l00395">GenericGraph.h:395</a></div></div>
|
|
654
654
|
<div class="ttc" id="classSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00047">SVFStatements.h:47</a></div></div>
|
|
655
655
|
</div><!-- fragment -->
|
|
656
656
|
</div>
|
|
@@ -1508,14 +1508,14 @@ Static Private Attributes</h2></td></tr>
|
|
|
1508
1508
|
|
|
1509
1509
|
<p class="definition">Definition at line <a class="el" href="ThreadAPI_8cpp_source.html#l00217">217</a> of file <a class="el" href="ThreadAPI_8cpp_source.html">ThreadAPI.cpp</a>.</p>
|
|
1510
1510
|
<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, u32_t></a> tdAPIStatMap;</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>  <a class="code" href="classSVF_1_1ThreadAPI.html#a8a4ab0b1dcb2e3897b7740868e0d955d">statInit</a>(tdAPIStatMap);</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> it = module->begin(), eit = module->end(); it != eit; ++it)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVFFunction::const_iterator</a> bit = (*it)->begin(), ebit = (*it)->end(); bit != ebit; ++bit)</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  {</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb = *bit;</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVFBasicBlock::const_iterator</a> ii = bb-><a class="code" href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">begin</a>(), eii = bb-><a class="code" href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">end</a>(); ii != eii; ++ii)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfInst = *ii;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(svfInst))</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = <a class="code" href="classSVF_1_1ThreadAPI.html#a3817cef291fee72ca902b0196225231e">getCallee</a>(svfInst);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3">TD_TYPE</a> <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="classSVF_1_1ThreadAPI.html#a768a655dffc5fcf1d63e2a0b3f2930f4">getType</a>(fun);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">switch</span> (type)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a9a40948eeab9b022957ae33715ee83da">TD_FORK</a>:</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  tdAPIStatMap[<span class="stringliteral">"pthread_create"</span>]++;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a9efe9b72a2520e1fae3cae1e747e3134">TD_JOIN</a>:</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  tdAPIStatMap[<span class="stringliteral">"pthread_join"</span>]++;</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a5bda6aca46dfc712f3781b4732a373a3">TD_ACQUIRE</a>:</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  tdAPIStatMap[<span class="stringliteral">"pthread_mutex_lock"</span>]++;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3ab7ea623d48ae64aa09ab49deebbb7113">TD_TRY_ACQUIRE</a>:</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  {</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  tdAPIStatMap[<span class="stringliteral">"pthread_mutex_trylock"</span>]++;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3ac826e1e1c43305a3abcfdc9a2169b8dd">TD_RELEASE</a>:</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  tdAPIStatMap[<span class="stringliteral">"pthread_mutex_unlock"</span>]++;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  }</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3afad2e548ab59646972d8c66e593845cc">TD_CANCEL</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>  tdAPIStatMap[<span class="stringliteral">"pthread_cancel"</span>]++;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  }</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3af3a3036705ecca40cf170d12d0ccf4dc">TD_EXIT</a>:</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  tdAPIStatMap[<span class="stringliteral">"pthread_exit"</span>]++;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  }</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a0b558cf037397818414cac2f7c87ab08">TD_DETACH</a>:</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  tdAPIStatMap[<span class="stringliteral">"pthread_detach"</span>]++;</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">break</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="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3aa8a39bd1bb13292a55dd6168909c872e">TD_COND_WAIT</a>:</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  tdAPIStatMap[<span class="stringliteral">"pthread_cond_wait"</span>]++;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  }</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a01a3b1723176504482b606d8e097949f">TD_COND_SIGNAL</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>  tdAPIStatMap[<span class="stringliteral">"pthread_cond_signal"</span>]++;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3aa6ee2952d7757b0919f56bd39fd5a93e">TD_COND_BROADCAST</a>:</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  tdAPIStatMap[<span class="stringliteral">"pthread_cond_broadcast"</span>]++;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">break</span>;</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">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a1f921d7369e3a00a77394640f887c7ff">TD_CONDVAR_INI</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"> 295</span>  tdAPIStatMap[<span class="stringliteral">"pthread_cond_init"</span>]++;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a9c3f04e71ed64ce8d2862d7a6f39a95b">TD_CONDVAR_DESTROY</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"> 300</span>  tdAPIStatMap[<span class="stringliteral">"pthread_cond_destroy"</span>]++;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3abb17ca545bd259f16a36a2d2af43948b">TD_MUTEX_INI</a>:</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  tdAPIStatMap[<span class="stringliteral">"pthread_mutex_init"</span>]++;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a91db238366fcdcd65bd7710882c8716f">TD_MUTEX_DESTROY</a>:</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  tdAPIStatMap[<span class="stringliteral">"pthread_mutex_destroy"</span>]++;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a4fb99e17bf56ae018448f5f97aa8cda6">TD_BAR_INIT</a>:</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  tdAPIStatMap[<span class="stringliteral">"pthread_barrier_init"</span>]++;</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">break</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"> 318</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3aa2b2704ecc4c11ec0dbeaf1b22532431">TD_BAR_WAIT</a>:</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  tdAPIStatMap[<span class="stringliteral">"pthread_barrier_wait"</span>]++;</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  }</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a4690967fd6d32fb82c5de637846a3476">HARE_PAR_FOR</a>:</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  tdAPIStatMap[<span class="stringliteral">"hare_parallel_for"</span>]++;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a5953e882e253807e49aa229e64e001b8">TD_DUMMY</a>:</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">break</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"> 332</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>  }</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</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"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>(module->getModuleIdentifier());</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  std::vector<std::string> fullNames = <a class="code" href="namespaceSVF_1_1SVFUtil.html#af54e70082388bbd70868250aaa0bc86b">SVFUtil::split</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>,<span class="charliteral">'/'</span>);</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">if</span> (fullNames.size() > 1)</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>  <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a> = fullNames[fullNames.size() - 1];</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  }</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"################ (program : "</span> << <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  << <span class="stringliteral">")###############\n"</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>().flags(std::ios::left);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordtype">unsigned</span> field_width = 20;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<std::string, u32_t>::iterator</a> it = tdAPIStatMap.begin(), eit =</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  tdAPIStatMap.end(); it != eit; ++it)</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="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> apiName = it->first;</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="comment">// format out put with width 20 space</span></div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << std::setw(field_width) << apiName << <span class="stringliteral">" : "</span> << it->second</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"#######################################################"</span></div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  << std::endl;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> }</div><div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3afad2e548ab59646972d8c66e593845cc"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3afad2e548ab59646972d8c66e593845cc">SVF::ThreadAPI::TD_CANCEL</a></div><div class="ttdoc">exit/kill a thread </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00057">ThreadAPI.h:57</a></div></div>
|
|
1511
|
-
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
1512
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html_aaec097379a345ab0e80b6a9c50508f48"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVF::SVFFunction::const_iterator</a></div><div class="ttdeci">std::vector< const SVFBasicBlock * >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
1511
|
+
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ab65173c2668b80643cb96e8133e5ea0a"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ab65173c2668b80643cb96e8133e5ea0a">SVF::SVFBasicBlock::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00522">SVFValue.h:522</a></div></div>
|
|
1512
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_aaec097379a345ab0e80b6a9c50508f48"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#aaec097379a345ab0e80b6a9c50508f48">SVF::SVFFunction::const_iterator</a></div><div class="ttdeci">std::vector< const SVFBasicBlock * >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00262">SVFValue.h:262</a></div></div>
|
|
1513
1513
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3a0b558cf037397818414cac2f7c87ab08"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a0b558cf037397818414cac2f7c87ab08">SVF::ThreadAPI::TD_DETACH</a></div><div class="ttdoc">wait for a thread to join </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00052">ThreadAPI.h:52</a></div></div>
|
|
1514
|
-
<div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
1514
|
+
<div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
|
|
1515
1515
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3a5bda6aca46dfc712f3781b4732a373a3"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a5bda6aca46dfc712f3781b4732a373a3">SVF::ThreadAPI::TD_ACQUIRE</a></div><div class="ttdoc">detach a thread directly instead wait for it to join </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00053">ThreadAPI.h:53</a></div></div>
|
|
1516
1516
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3a9a40948eeab9b022957ae33715ee83da"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a9a40948eeab9b022957ae33715ee83da">SVF::ThreadAPI::TD_FORK</a></div><div class="ttdoc">dummy type </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00050">ThreadAPI.h:50</a></div></div>
|
|
1517
1517
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3a9c3f04e71ed64ce8d2862d7a6f39a95b"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a9c3f04e71ed64ce8d2862d7a6f39a95b">SVF::ThreadAPI::TD_CONDVAR_DESTROY</a></div><div class="ttdoc">initial a mutex variable </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00064">ThreadAPI.h:64</a></div></div>
|
|
1518
|
-
<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="SVFValue_8h_source.html#
|
|
1518
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
1519
1519
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a768a655dffc5fcf1d63e2a0b3f2930f4"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a768a655dffc5fcf1d63e2a0b3f2930f4">SVF::ThreadAPI::getType</a></div><div class="ttdeci">TD_TYPE getType(const SVFFunction *F) const</div><div class="ttdoc">Get the function type if it is a threadAPI function. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00089">ThreadAPI.h:89</a></div></div>
|
|
1520
1520
|
<div class="ttc" id="cJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
|
|
1521
1521
|
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00099">SVFType.h:99</a></div></div>
|
|
@@ -1534,11 +1534,11 @@ Static Private Attributes</h2></td></tr>
|
|
|
1534
1534
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3af3a3036705ecca40cf170d12d0ccf4dc"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3af3a3036705ecca40cf170d12d0ccf4dc">SVF::ThreadAPI::TD_EXIT</a></div><div class="ttdoc">release a lock </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00056">ThreadAPI.h:56</a></div></div>
|
|
1535
1535
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3">SVF::ThreadAPI::TD_TYPE</a></div><div class="ttdeci">TD_TYPE</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00047">ThreadAPI.h:47</a></div></div>
|
|
1536
1536
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3aa2b2704ecc4c11ec0dbeaf1b22532431"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3aa2b2704ecc4c11ec0dbeaf1b22532431">SVF::ThreadAPI::TD_BAR_WAIT</a></div><div class="ttdoc">Barrier init. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00066">ThreadAPI.h:66</a></div></div>
|
|
1537
|
-
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
1537
|
+
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html_ac9cb2f17e42c40ca81b49c8b63a855fc"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac9cb2f17e42c40ca81b49c8b63a855fc">SVF::SVFBasicBlock::begin</a></div><div class="ttdeci">const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00517">SVFValue.h:517</a></div></div>
|
|
1538
1538
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3abb17ca545bd259f16a36a2d2af43948b"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3abb17ca545bd259f16a36a2d2af43948b">SVF::ThreadAPI::TD_MUTEX_INI</a></div><div class="ttdoc">broadcast a condition </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00061">ThreadAPI.h:61</a></div></div>
|
|
1539
|
-
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
1539
|
+
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00471">SVFValue.h:471</a></div></div>
|
|
1540
1540
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3ac826e1e1c43305a3abcfdc9a2169b8dd"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3ac826e1e1c43305a3abcfdc9a2169b8dd">SVF::ThreadAPI::TD_RELEASE</a></div><div class="ttdoc">try to acquire a lock </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00055">ThreadAPI.h:55</a></div></div>
|
|
1541
|
-
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a73b7029f85e3762033f49c953d4b95ca"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVF::SVFBasicBlock::const_iterator</a></div><div class="ttdeci">std::vector< const SVFInstruction * >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
1541
|
+
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html_a73b7029f85e3762033f49c953d4b95ca"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a73b7029f85e3762033f49c953d4b95ca">SVF::SVFBasicBlock::const_iterator</a></div><div class="ttdeci">std::vector< const SVFInstruction * >::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00476">SVFValue.h:476</a></div></div>
|
|
1542
1542
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a8a4ab0b1dcb2e3897b7740868e0d955d"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a8a4ab0b1dcb2e3897b7740868e0d955d">SVF::ThreadAPI::statInit</a></div><div class="ttdeci">void statInit(Map< std::string, u32_t > &tdAPIStatMap)</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8cpp_source.html#l00177">ThreadAPI.cpp:177</a></div></div>
|
|
1543
1543
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3a4690967fd6d32fb82c5de637846a3476"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3a4690967fd6d32fb82c5de637846a3476">SVF::ThreadAPI::HARE_PAR_FOR</a></div><div class="ttdoc">Barrier wait. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00067">ThreadAPI.h:67</a></div></div>
|
|
1544
1544
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a38a7516702c55ab418167b7c850516b3ab7ea623d48ae64aa09ab49deebbb7113"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a38a7516702c55ab418167b7c850516b3ab7ea623d48ae64aa09ab49deebbb7113">SVF::ThreadAPI::TD_TRY_ACQUIRE</a></div><div class="ttdoc">acquire a lock </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00054">ThreadAPI.h:54</a></div></div>
|
|
@@ -705,7 +705,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
705
705
|
|
|
706
706
|
<p class="definition">Definition at line <a class="el" href="ThreadCallGraph_8cpp_source.html#l00145">145</a> of file <a class="el" href="ThreadCallGraph_8cpp_source.html">ThreadCallGraph.cpp</a>.</p>
|
|
707
707
|
<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* caller = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>());</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* forkee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(<a class="code" href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">tdAPI</a>-><a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>()));</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  assert(forkee && <span class="stringliteral">"callee does not exist"</span>);</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callee = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(forkee->getDefFunForMultipleModule());</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">addCallSite</a>(cs, callee-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>());</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">hasGraphEdge</a>(caller, callee, <a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7af32caf15ca19d512b5183bcf0d859cd7">PTACallGraphEdge::TDForkEdge</a>, csId))</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  assert(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>() == caller-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>() && <span class="stringliteral">"callee instruction not inside caller??"</span>);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="classSVF_1_1ThreadForkEdge.html">ThreadForkEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ThreadForkEdge.html">ThreadForkEdge</a>(caller, callee, csId);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  edge->addDirectCallSite(cs);</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>  <a class="code" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a>(edge);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1ThreadCallGraph.html#ab20211a66583387f0da4769bee65e300">addThreadForkEdgeSetMap</a>(cs, edge);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  }</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div><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>
|
|
708
|
-
<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="SVFValue_8h_source.html#
|
|
708
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
709
709
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_af1146c3d8e8b8885a1c48701e5b5a27f"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">SVF::ThreadCallGraph::tdAPI</a></div><div class="ttdeci">ThreadAPI * tdAPI</div><div class="ttdoc">Thread API. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00411">ThreadCallGraph.h:411</a></div></div>
|
|
710
710
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a90fd0b8e44fba1a7eb76d15bce085d66"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const SVFInstruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
|
|
711
711
|
<div class="ttc" id="classSVF_1_1ThreadForkEdge_html"><div class="ttname"><a href="classSVF_1_1ThreadForkEdge.html">SVF::ThreadForkEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00044">ThreadCallGraph.h:44</a></div></div>
|
|
@@ -755,7 +755,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
755
755
|
<p class="definition">Definition at line <a class="el" href="ThreadCallGraph_8cpp_source.html#l00194">194</a> of file <a class="el" href="ThreadCallGraph_8cpp_source.html">ThreadCallGraph.cpp</a>.</p>
|
|
756
756
|
<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* joinFunNode = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>());</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">for</span> (CallSiteSet::const_iterator it = forkset.begin(), eit = forkset.end(); it != eit; ++it)</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* threadRoutineFun = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(<a class="code" href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">tdAPI</a>-><a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>((*it)->getCallSite()));</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  assert(threadRoutineFun && <span class="stringliteral">"thread routine function does not exist"</span>);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* threadRoutineFunNode = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(threadRoutineFun);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">addCallSite</a>(cs, threadRoutineFun);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1ThreadCallGraph.html#a5f7c92af1a4ce33e4746f5b65c9c8421">hasThreadJoinEdge</a>(cs,joinFunNode,threadRoutineFunNode, csId))</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  {</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  assert(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>() == joinFunNode-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>() && <span class="stringliteral">"callee instruction not inside caller??"</span>);</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="classSVF_1_1ThreadJoinEdge.html">ThreadJoinEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ThreadJoinEdge.html">ThreadJoinEdge</a>(joinFunNode,threadRoutineFunNode,csId);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  edge->addDirectCallSite(cs);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="classSVF_1_1ThreadCallGraph.html#a7100a68c27a965927975e26bb06e061c">addThreadJoinEdgeSetMap</a>(cs, edge);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> }</div><div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a7100a68c27a965927975e26bb06e061c"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a7100a68c27a965927975e26bb06e061c">SVF::ThreadCallGraph::addThreadJoinEdgeSetMap</a></div><div class="ttdeci">void addThreadJoinEdgeSetMap(const CallICFGNode *cs, ThreadJoinEdge *edge)</div><div class="ttdoc">map call instruction to its CallGraphEdge map </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00377">ThreadCallGraph.h:377</a></div></div>
|
|
757
757
|
<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>
|
|
758
|
-
<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="SVFValue_8h_source.html#
|
|
758
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
759
759
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_af1146c3d8e8b8885a1c48701e5b5a27f"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">SVF::ThreadCallGraph::tdAPI</a></div><div class="ttdeci">ThreadAPI * tdAPI</div><div class="ttdoc">Thread API. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00411">ThreadCallGraph.h:411</a></div></div>
|
|
760
760
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a979359fc784e647c574de90c7af2cf40"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">SVF::PTACallGraph::addCallSite</a></div><div class="ttdeci">CallSiteID addCallSite(const CallICFGNode *cs, const SVFFunction *callee)</div><div class="ttdoc">Add/Get CallSiteID. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00330">PTACallGraph.h:330</a></div></div>
|
|
761
761
|
<div class="ttc" id="namespaceSVF_html_a03d88a0302bcd253387690f13f693f64"><div class="ttname"><a href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">SVF::CallSiteID</a></div><div class="ttdeci">unsigned CallSiteID</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00058">SVFType.h:58</a></div></div>
|
|
@@ -791,7 +791,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
791
791
|
<p class="definition">Definition at line <a class="el" href="ThreadCallGraph_8cpp_source.html#l00221">221</a> of file <a class="el" href="ThreadCallGraph_8cpp_source.html">ThreadCallGraph.cpp</a>.</p>
|
|
792
792
|
<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* caller = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>());</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* taskFunc = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(<a class="code" href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">tdAPI</a>-><a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>()));</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  assert(taskFunc && <span class="stringliteral">"callee does not exist"</span>);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> </div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callee = <a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(taskFunc);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="namespaceSVF.html#a03d88a0302bcd253387690f13f693f64">CallSiteID</a> csId = <a class="code" href="classSVF_1_1PTACallGraph.html#a979359fc784e647c574de90c7af2cf40">addCallSite</a>(cs, callee-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>());</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1PTACallGraph.html#a6d29a39440d8f6290e2e8b7322b965fb">hasGraphEdge</a>(caller, callee, <a class="code" href="classSVF_1_1PTACallGraphEdge.html#a9738544725458bb022b8d5f2dbd281f7af32caf15ca19d512b5183bcf0d859cd7">PTACallGraphEdge::TDForkEdge</a>, csId))</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  assert(cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>() == caller-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>() && <span class="stringliteral">"callee instruction not inside caller??"</span>);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="classSVF_1_1HareParForEdge.html">HareParForEdge</a>* edge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1HareParForEdge.html">HareParForEdge</a>(caller, callee, csId);</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  edge->addDirectCallSite(cs);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">addEdge</a>(edge);</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <a class="code" href="classSVF_1_1ThreadCallGraph.html#aae1caa7231ab9436db98403d6a175149">addHareParForEdgeSetMap</a>(cs, edge);</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div><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>
|
|
793
793
|
<div class="ttc" id="classSVF_1_1HareParForEdge_html"><div class="ttname"><a href="classSVF_1_1HareParForEdge.html">SVF::HareParForEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00127">ThreadCallGraph.h:127</a></div></div>
|
|
794
|
-
<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="SVFValue_8h_source.html#
|
|
794
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
795
795
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_af1146c3d8e8b8885a1c48701e5b5a27f"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">SVF::ThreadCallGraph::tdAPI</a></div><div class="ttdeci">ThreadAPI * tdAPI</div><div class="ttdoc">Thread API. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00411">ThreadCallGraph.h:411</a></div></div>
|
|
796
796
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a90fd0b8e44fba1a7eb76d15bce085d66"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const SVFInstruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00380">ICFGNode.h:380</a></div></div>
|
|
797
797
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a3154bbc421fc85649e786ed67ca03750"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a3154bbc421fc85649e786ed67ca03750">SVF::PTACallGraph::addEdge</a></div><div class="ttdeci">void addEdge(PTACallGraphEdge *edge)</div><div class="ttdoc">Add call graph edge. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00417">PTACallGraph.h:417</a></div></div>
|
|
@@ -1847,7 +1847,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1847
1847
|
<div class="ttc" id="classSVF_1_1MemObj_html_ae1d14e2bf0be36cdadebf119822f607b"><div class="ttname"><a href="classSVF_1_1MemObj.html#ae1d14e2bf0be36cdadebf119822f607b">SVF::MemObj::isFunction</a></div><div class="ttdeci">bool isFunction() const</div><div class="ttdoc">object attributes methods </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00468">SymbolTableInfo.cpp:468</a></div></div>
|
|
1848
1848
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a1ebbd26c17cff1c1a1bee9caa9a8f825"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a1ebbd26c17cff1c1a1bee9caa9a8f825">SVF::ThreadCallGraph::forksitesEnd</a></div><div class="ttdeci">CallSiteSet::const_iterator forksitesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00277">ThreadCallGraph.h:277</a></div></div>
|
|
1849
1849
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
|
|
1850
|
-
<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="SVFValue_8h_source.html#
|
|
1850
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
1851
1851
|
<div class="ttc" id="classSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00304">SVFVariables.h:304</a></div></div>
|
|
1852
1852
|
<div class="ttc" id="classSVF_1_1IRGraph_html_a43514023a4f4d0c32f536f51443b0efc"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const SVFValue *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00128">IRGraph.h:128</a></div></div>
|
|
1853
1853
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_af1146c3d8e8b8885a1c48701e5b5a27f"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#af1146c3d8e8b8885a1c48701e5b5a27f">SVF::ThreadCallGraph::tdAPI</a></div><div class="ttdeci">ThreadAPI * tdAPI</div><div class="ttdoc">Thread API. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00411">ThreadCallGraph.h:411</a></div></div>
|
|
@@ -1862,7 +1862,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1862
1862
|
<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#l00462">SparseBitVector.h:462</a></div></div>
|
|
1863
1863
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00399">ICFGNode.h:399</a></div></div>
|
|
1864
1864
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a56630cd025957508fd2aeb60b49a53be"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">SVF::ThreadAPI::getForkedFun</a></div><div class="ttdeci">const SVFValue * getForkedFun(const SVFInstruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00168">ThreadAPI.h:168</a></div></div>
|
|
1865
|
-
<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#
|
|
1865
|
+
<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#l00395">GenericGraph.h:395</a></div></div>
|
|
1866
1866
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a29c74634b17007e5bef6fb48e1f3839f"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a29c74634b17007e5bef6fb48e1f3839f">SVF::ThreadCallGraph::parForSitesBegin</a></div><div class="ttdeci">CallSiteSet::const_iterator parForSitesBegin() const</div><div class="ttdoc">hare_parallel_for sites iterators </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00297">ThreadCallGraph.h:297</a></div></div>
|
|
1867
1867
|
<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>
|
|
1868
1868
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_ab15b12637a557b53b92e9087eaf66cd6"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">SVF::ThreadAPI::getTaskFuncAtHareParForSite</a></div><div class="ttdeci">const SVFValue * getTaskFuncAtHareParForSite(const SVFInstruction *inst) const</div><div class="ttdoc">Get the task function (i.e., the 5th parameter) of the hare_parallel_for call. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00195">ThreadAPI.h:195</a></div></div>
|
|
@@ -166,11 +166,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
166
166
|
<p>Build thread-aware callgraph. </p>
|
|
167
167
|
|
|
168
168
|
<p class="definition">Definition at line <a class="el" href="CallGraphBuilder_8cpp_source.html#l00068">68</a> of file <a class="el" href="CallGraphBuilder_8cpp_source.html">CallGraphBuilder.cpp</a>.</p>
|
|
169
|
-
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="classSVF_1_1CallGraphBuilder.html#aa64a27e99434908a203e566074c66ebc">buildCallGraph</a>(svfModule);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>* cg = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a><<a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>>(<a class="code" href="classSVF_1_1CallGraphBuilder.html#a77ccca4e81eb1199c89d75e1b2d21af6">callgraph</a>);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  assert(cg && <span class="stringliteral">"not a thread callgraph?"</span>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classSVF_1_1ThreadAPI.html">ThreadAPI</a>* tdAPI = <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>();</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> F = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); F != E; ++F)</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svfbb : (*F)->getBasicBlockList())</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst : svfbb->getInstructionList())</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">isTDFork</a>(inst))</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = <a class="code" href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">icfg</a>-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a563ebb1ece0adb4bafe5e14b2a024a91">addForksite</a>(cs);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* forkee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(inst));</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">if</span> (forkee)</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a19e505dbca2d2b5128762b223b9a7114">addDirectForkEdge</a>(cs);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// indirect call to the start routine function</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#ab20211a66583387f0da4769bee65e300">addThreadForkEdgeSetMap</a>(cs,<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">isHareParFor</a>(inst))</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = <a class="code" href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">icfg</a>-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a69719915e8c23e3afd6766daea946ffe">addParForSite</a>(cs);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* taskFunc = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(inst));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">if</span> (taskFunc)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#ae942f7d46198207219e5ce8287497262">addDirectParForEdge</a>(cs);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">// indirect call to the start routine function</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#aae1caa7231ab9436db98403d6a175149">addHareParForEdgeSetMap</a>(cs,<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// record join sites</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> F = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); F != E; ++F)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svfbb : (*F)->getBasicBlockList())</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst : svfbb->getInstructionList())</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(inst))</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">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = <a class="code" href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">icfg</a>-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a795d504a098634b1725af272b37e46e7">addJoinsite</a>(cs);</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>  }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</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="keywordflow">return</span> cg;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div><div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00579">SVFValue.h:579</a></div></div>
|
|
169
|
+
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span> {</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="classSVF_1_1CallGraphBuilder.html#aa64a27e99434908a203e566074c66ebc">buildCallGraph</a>(svfModule);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>* cg = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a><<a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>>(<a class="code" href="classSVF_1_1CallGraphBuilder.html#a77ccca4e81eb1199c89d75e1b2d21af6">callgraph</a>);</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  assert(cg && <span class="stringliteral">"not a thread callgraph?"</span>);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="classSVF_1_1ThreadAPI.html">ThreadAPI</a>* tdAPI = <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>();</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> F = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); F != E; ++F)</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  {</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svfbb : (*F)->getBasicBlockList())</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst : svfbb->getInstructionList())</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a4bacbfb6648de8196217c83b5d73b876">isTDFork</a>(inst))</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = <a class="code" href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">icfg</a>-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a563ebb1ece0adb4bafe5e14b2a024a91">addForksite</a>(cs);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* forkee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a56630cd025957508fd2aeb60b49a53be">getForkedFun</a>(inst));</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">if</span> (forkee)</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a19e505dbca2d2b5128762b223b9a7114">addDirectForkEdge</a>(cs);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="comment">// indirect call to the start routine function</span></div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#ab20211a66583387f0da4769bee65e300">addThreadForkEdgeSetMap</a>(cs,<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#ab96065dc1bb1cc29f9c37c885f524b34">isHareParFor</a>(inst))</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = <a class="code" href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">icfg</a>-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a69719915e8c23e3afd6766daea946ffe">addParForSite</a>(cs);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* taskFunc = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>>(tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#ab15b12637a557b53b92e9087eaf66cd6">getTaskFuncAtHareParForSite</a>(inst));</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordflow">if</span> (taskFunc)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  {</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#ae942f7d46198207219e5ce8287497262">addDirectParForEdge</a>(cs);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">// indirect call to the start routine function</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#aae1caa7231ab9436db98403d6a175149">addHareParForEdgeSetMap</a>(cs,<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// record join sites</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> F = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); F != E; ++F)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* svfbb : (*F)->getBasicBlockList())</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst : svfbb->getInstructionList())</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">isTDJoin</a>(inst))</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">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = <a class="code" href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">icfg</a>-><a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a795d504a098634b1725af272b37e46e7">addJoinsite</a>(cs);</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>  }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</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="keywordflow">return</span> cg;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div><div class="ttc" id="classSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00570">SVFValue.h:570</a></div></div>
|
|
170
170
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a795d504a098634b1725af272b37e46e7"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a795d504a098634b1725af272b37e46e7">SVF::ThreadCallGraph::addJoinsite</a></div><div class="ttdeci">bool addJoinsite(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00336">ThreadCallGraph.h:336</a></div></div>
|
|
171
171
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00127">SVFModule.h:127</a></div></div>
|
|
172
172
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a563ebb1ece0adb4bafe5e14b2a024a91"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a563ebb1ece0adb4bafe5e14b2a024a91">SVF::ThreadCallGraph::addForksite</a></div><div class="ttdeci">bool addForksite(const CallICFGNode *cs)</div><div class="ttdoc">Add fork sites which directly or indirectly create a thread. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00331">ThreadCallGraph.h:331</a></div></div>
|
|
173
|
-
<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="SVFValue_8h_source.html#
|
|
173
|
+
<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="SVFValue_8h_source.html#l00257">SVFValue.h:257</a></div></div>
|
|
174
174
|
<div class="ttc" id="classSVF_1_1ICFG_html_aa41516cdd2be5066adf22798a4fe2213"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00236">ICFG.cpp:236</a></div></div>
|
|
175
175
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_ab20211a66583387f0da4769bee65e300"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#ab20211a66583387f0da4769bee65e300">SVF::ThreadCallGraph::addThreadForkEdgeSetMap</a></div><div class="ttdeci">void addThreadForkEdgeSetMap(const CallICFGNode *cs, ThreadForkEdge *edge)</div><div class="ttdoc">map call instruction to its CallGraphEdge map </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00367">ThreadCallGraph.h:367</a></div></div>
|
|
176
176
|
<div class="ttc" id="classSVF_1_1CallGraphBuilder_html_a77ccca4e81eb1199c89d75e1b2d21af6"><div class="ttname"><a href="classSVF_1_1CallGraphBuilder.html#a77ccca4e81eb1199c89d75e1b2d21af6">SVF::CallGraphBuilder::callgraph</a></div><div class="ttdeci">PTACallGraph * callgraph</div><div class="ttdef"><b>Definition:</b> <a href="CallGraphBuilder_8h_source.html#l00046">CallGraphBuilder.h:46</a></div></div>
|
|
@@ -187,7 +187,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
187
187
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00135">SVFModule.h:135</a></div></div>
|
|
188
188
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00342">Casting.h:342</a></div></div>
|
|
189
189
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a68b10ffa2775fe7d8c1476409c0f54ab"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a68b10ffa2775fe7d8c1476409c0f54ab">SVF::ThreadAPI::isTDJoin</a></div><div class="ttdeci">bool isTDJoin(const SVFInstruction *inst) const</div><div class="ttdoc">Return true if this call wait for a worker thread. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00223">ThreadAPI.h:223</a></div></div>
|
|
190
|
-
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
190
|
+
<div class="ttc" id="classSVF_1_1SVFBasicBlock_html"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html">SVF::SVFBasicBlock</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00471">SVFValue.h:471</a></div></div>
|
|
191
191
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_ae942f7d46198207219e5ce8287497262"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#ae942f7d46198207219e5ce8287497262">SVF::ThreadCallGraph::addDirectParForEdge</a></div><div class="ttdeci">void addDirectParForEdge(const CallICFGNode *cs)</div><div class="ttdoc">Add direct/indirect parallel for edges. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8cpp_source.html#l00221">ThreadCallGraph.cpp:221</a></div></div>
|
|
192
192
|
<div class="ttc" id="classSVF_1_1CallGraphBuilder_html_ab3e0b47be010e25c093953e54602d211"><div class="ttname"><a href="classSVF_1_1CallGraphBuilder.html#ab3e0b47be010e25c093953e54602d211">SVF::CallGraphBuilder::icfg</a></div><div class="ttdeci">ICFG * icfg</div><div class="ttdef"><b>Definition:</b> <a href="CallGraphBuilder_8h_source.html#l00047">CallGraphBuilder.h:47</a></div></div>
|
|
193
193
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a19e505dbca2d2b5128762b223b9a7114"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a19e505dbca2d2b5128762b223b9a7114">SVF::ThreadCallGraph::addDirectForkEdge</a></div><div class="ttdeci">void addDirectForkEdge(const CallICFGNode *cs)</div><div class="ttdoc">Add direct/indirect thread fork edges. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8cpp_source.html#l00145">ThreadCallGraph.cpp:145</a></div></div>
|