svf-tools 1.0.342 → 1.0.346
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 +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +15 -15
- package/SVF-doxygen/html/html/ICFGNode_8h.html +7 -7
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +69 -69
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +45 -44
- package/SVF-doxygen/html/html/ICFG_8h_source.html +34 -34
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MHP_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +18 -18
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +12 -12
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +41 -41
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +47 -46
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +17 -17
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +17 -17
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +31 -31
- package/SVF-doxygen/html/html/SVFG_8h_source.html +27 -27
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +31 -31
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +14 -14
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +20 -20
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +11 -11
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/VFG_8h_source.html +19 -19
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/annotated.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +158 -0
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +852 -0
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CallMU-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +60 -60
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +150 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +618 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +149 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +624 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +144 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +413 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +191 -184
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +69 -66
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +144 -0
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +399 -0
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +146 -0
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +494 -0
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +61 -61
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MHP-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +196 -196
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +77 -77
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +43 -39
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +90 -90
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PCG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +118 -118
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +107 -107
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +153 -0
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +696 -0
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +159 -159
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +76 -76
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +132 -132
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TCT-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +220 -220
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +96 -96
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +12 -12
- package/SVF-doxygen/html/html/classes.html +16 -16
- package/SVF-doxygen/html/html/functions_a.html +59 -59
- package/SVF-doxygen/html/html/functions_c.html +65 -67
- package/SVF-doxygen/html/html/functions_eval_r.html +3 -0
- package/SVF-doxygen/html/html/functions_f.html +14 -14
- package/SVF-doxygen/html/html/functions_func.html +56 -56
- package/SVF-doxygen/html/html/functions_func_c.html +28 -28
- package/SVF-doxygen/html/html/functions_func_f.html +6 -6
- package/SVF-doxygen/html/html/functions_func_g.html +86 -86
- package/SVF-doxygen/html/html/functions_func_h.html +17 -17
- package/SVF-doxygen/html/html/functions_func_i.html +12 -12
- package/SVF-doxygen/html/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_r.html +6 -6
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_func_t.html +7 -7
- package/SVF-doxygen/html/html/functions_func_u.html +3 -3
- package/SVF-doxygen/html/html/functions_g.html +88 -88
- package/SVF-doxygen/html/html/functions_h.html +16 -16
- package/SVF-doxygen/html/html/functions_i.html +22 -22
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +2 -2
- package/SVF-doxygen/html/html/functions_o.html +13 -13
- package/SVF-doxygen/html/html/functions_p.html +14 -14
- package/SVF-doxygen/html/html/functions_r.html +13 -12
- package/SVF-doxygen/html/html/functions_s.html +13 -13
- package/SVF-doxygen/html/html/functions_t.html +12 -14
- package/SVF-doxygen/html/html/functions_type.html +1 -1
- package/SVF-doxygen/html/html/functions_type_c.html +24 -24
- package/SVF-doxygen/html/html/functions_type_f.html +3 -3
- package/SVF-doxygen/html/html/functions_type_i.html +2 -2
- package/SVF-doxygen/html/html/functions_type_p.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_type_v.html +2 -2
- package/SVF-doxygen/html/html/functions_u.html +3 -3
- package/SVF-doxygen/html/html/functions_v.html +8 -8
- package/SVF-doxygen/html/html/functions_vars_a.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_c.html +11 -11
- package/SVF-doxygen/html/html/functions_vars_f.html +5 -5
- package/SVF-doxygen/html/html/functions_vars_g.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_i.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_r.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +9 -5
- package/SVF-doxygen/html/html/hierarchy.html +7 -7
- package/SVF-doxygen/html/html/namespaceSVF.html +11 -11
- package/SVF-doxygen/html/html/search/all_1.js +58 -58
- package/SVF-doxygen/html/html/search/all_10.js +8 -8
- package/SVF-doxygen/html/html/search/all_12.js +8 -7
- package/SVF-doxygen/html/html/search/all_13.js +11 -11
- package/SVF-doxygen/html/html/search/all_14.js +8 -8
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +4 -4
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +35 -34
- package/SVF-doxygen/html/html/search/all_6.js +12 -12
- package/SVF-doxygen/html/html/search/all_7.js +62 -61
- package/SVF-doxygen/html/html/search/all_8.js +17 -17
- package/SVF-doxygen/html/html/search/all_9.js +16 -16
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/classes_2.js +1 -1
- package/SVF-doxygen/html/html/search/classes_5.js +2 -2
- package/SVF-doxygen/html/html/search/classes_6.js +1 -1
- package/SVF-doxygen/html/html/search/classes_8.js +2 -2
- package/SVF-doxygen/html/html/search/classes_e.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_e.js +2 -1
- package/SVF-doxygen/html/html/search/functions_0.js +55 -55
- package/SVF-doxygen/html/html/search/functions_10.js +3 -3
- package/SVF-doxygen/html/html/search/functions_11.js +4 -4
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +10 -10
- package/SVF-doxygen/html/html/search/functions_5.js +4 -4
- package/SVF-doxygen/html/html/search/functions_6.js +61 -61
- package/SVF-doxygen/html/html/search/functions_7.js +17 -17
- package/SVF-doxygen/html/html/search/functions_8.js +12 -12
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +4 -4
- package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +21 -21
- package/SVF-doxygen/html/html/search/typedefs_5.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_8.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +2 -2
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +4 -4
- package/SVF-doxygen/html/html/search/variables_6.js +5 -5
- package/SVF-doxygen/html/html/search/variables_7.js +1 -1
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +22 -22
- package/include/DDA/ContextDDA.h +3 -3
- package/include/DDA/DDAClient.h +2 -2
- package/include/DDA/DDAVFSolver.h +2 -2
- package/include/DDA/FlowDDA.h +2 -2
- package/include/Graphs/ICFG.h +33 -33
- package/include/Graphs/ICFGNode.h +33 -33
- package/include/Graphs/ICFGStat.h +11 -11
- package/include/Graphs/PTACallGraph.h +19 -19
- package/include/Graphs/SVFG.h +16 -16
- package/include/Graphs/SVFGNode.h +14 -14
- package/include/Graphs/SVFGOPT.h +1 -1
- package/include/Graphs/ThreadCallGraph.h +25 -25
- package/include/Graphs/VFG.h +10 -10
- package/include/Graphs/VFGNode.h +8 -8
- package/include/MSSA/MSSAMuChi.h +6 -6
- package/include/MSSA/MemRegion.h +24 -24
- package/include/MSSA/MemSSA.h +10 -10
- package/include/MTA/LockResultValidator.h +2 -2
- package/include/MTA/MHP.h +4 -4
- package/include/MTA/PCG.h +1 -1
- package/include/MTA/TCT.h +2 -2
- package/include/MemoryModel/PointerAnalysis.h +12 -12
- package/include/MemoryModel/SVFIR.h +21 -21
- package/include/MemoryModel/SVFStatements.h +11 -11
- package/include/SABER/LeakChecker.h +4 -4
- package/include/SABER/ProgSlice.h +2 -2
- package/include/SABER/SaberCheckerAPI.h +4 -4
- package/include/SABER/SaberSVFGBuilder.h +1 -1
- package/include/SABER/SrcSnkDDA.h +1 -1
- package/include/SVF-FE/ICFGBuilder.h +4 -4
- package/include/SVF-FE/SVFIRBuilder.h +5 -5
- package/include/Util/NodeIDAllocator.h +3 -0
- package/lib/DDA/ContextDDA.cpp +3 -3
- package/lib/DDA/DDAClient.cpp +1 -1
- package/lib/DDA/FlowDDA.cpp +1 -1
- package/lib/Graphs/ICFG.cpp +55 -50
- package/lib/Graphs/PTACallGraph.cpp +5 -5
- package/lib/Graphs/SVFG.cpp +7 -7
- package/lib/Graphs/ThreadCallGraph.cpp +6 -6
- package/lib/Graphs/VFG.cpp +6 -6
- package/lib/MSSA/MemRegion.cpp +17 -17
- package/lib/MSSA/MemSSA.cpp +3 -3
- package/lib/MTA/LockAnalysis.cpp +4 -4
- package/lib/MTA/MHP.cpp +5 -5
- package/lib/MTA/MTAResultValidator.cpp +1 -1
- package/lib/MTA/PCG.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysis.cpp +10 -10
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/lib/MemoryModel/SVFIR.cpp +5 -5
- package/lib/SABER/DoubleFreeChecker.cpp +1 -1
- package/lib/SABER/FileChecker.cpp +2 -2
- package/lib/SABER/LeakChecker.cpp +8 -8
- package/lib/SABER/ProgSlice.cpp +2 -2
- package/lib/SVF-FE/CallGraphBuilder.cpp +4 -4
- package/lib/SVF-FE/Graph2Json.cpp +5 -5
- package/lib/SVF-FE/ICFGBuilder.cpp +31 -25
- package/lib/SVF-FE/SVFIRBuilder.cpp +8 -8
- package/lib/Util/NodeIDAllocator.cpp +12 -0
- package/lib/Util/Options.cpp +2 -1
- package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
- package/lib/WPA/Andersen.cpp +3 -3
- package/lib/WPA/FlowSensitive.cpp +2 -2
- package/lib/WPA/TypeAnalysis.cpp +1 -1
- package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
- package/lib/WPA/WPAPass.cpp +4 -4
- package/package.json +1 -1
|
@@ -98,16 +98,16 @@ Public Types</h2></td></tr>
|
|
|
98
98
|
<tr class="separator:a498f84068ef643a94970aeb171607e31"><td class="memSeparator" colspan="2"> </td></tr>
|
|
99
99
|
<tr class="memitem:a94e4de04d8da10a19ab65c22e257b82b"><td class="memItemLeft" align="right" valign="top">typedef ICFGNodeIDToNodeMapTy::const_iterator </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a94e4de04d8da10a19ab65c22e257b82b">const_iterator</a></td></tr>
|
|
100
100
|
<tr class="separator:a94e4de04d8da10a19ab65c22e257b82b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
101
|
-
<tr class="memitem:
|
|
102
|
-
<tr class="separator:
|
|
103
|
-
<tr class="memitem:
|
|
104
|
-
<tr class="separator:
|
|
105
|
-
<tr class="memitem:
|
|
106
|
-
<tr class="separator:
|
|
107
|
-
<tr class="memitem:
|
|
108
|
-
<tr class="separator:
|
|
109
|
-
<tr class="memitem:
|
|
110
|
-
<tr class="separator:
|
|
101
|
+
<tr class="memitem:a44a95ca43a7b3148c1aee9ad5da6e9d1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a44a95ca43a7b3148c1aee9ad5da6e9d1">FunToFunEntryNodeMapTy</a></td></tr>
|
|
102
|
+
<tr class="separator:a44a95ca43a7b3148c1aee9ad5da6e9d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
103
|
+
<tr class="memitem:a25f4e5330af9d3fba19ad70520b2ec7f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a25f4e5330af9d3fba19ad70520b2ec7f">FunToFunExitNodeMapTy</a></td></tr>
|
|
104
|
+
<tr class="separator:a25f4e5330af9d3fba19ad70520b2ec7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
105
|
+
<tr class="memitem:ac603cd3bb9c52c4261bba04e2c8ea193"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *, <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ac603cd3bb9c52c4261bba04e2c8ea193">CSToCallNodeMapTy</a></td></tr>
|
|
106
|
+
<tr class="separator:ac603cd3bb9c52c4261bba04e2c8ea193"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
|
+
<tr class="memitem:a8ca1b5e8478ffefed30d3dc138a67a8e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *, <a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a8ca1b5e8478ffefed30d3dc138a67a8e">CSToRetNodeMapTy</a></td></tr>
|
|
108
|
+
<tr class="separator:a8ca1b5e8478ffefed30d3dc138a67a8e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
109
|
+
<tr class="memitem:ab3e25c26fb0fef0fc41d7ba6a84be0af"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *, <a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ab3e25c26fb0fef0fc41d7ba6a84be0af">InstToBlockNodeMapTy</a></td></tr>
|
|
110
|
+
<tr class="separator:ab3e25c26fb0fef0fc41d7ba6a84be0af"><td class="memSeparator" colspan="2"> </td></tr>
|
|
111
111
|
<tr class="inherit_header pub_types_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td></tr>
|
|
112
112
|
<tr class="memitem:a86c50fc6775fd29f88df2cb4646bb211 inherit pub_types_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top">typedef NodeTy </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#a86c50fc6775fd29f88df2cb4646bb211">NodeType</a></td></tr>
|
|
113
113
|
<tr class="separator:a86c50fc6775fd29f88df2cb4646bb211 inherit pub_types_classSVF_1_1GenericGraph"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -160,20 +160,20 @@ Public Member Functions</h2></td></tr>
|
|
|
160
160
|
<tr class="memitem:ab7b0b3088b46ad65451905cc4f567a7b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
161
161
|
<tr class="memdesc:ab7b0b3088b46ad65451905cc4f567a7b"><td class="mdescLeft"> </td><td class="mdescRight">Get a basic block <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>. <a href="#ab7b0b3088b46ad65451905cc4f567a7b">More...</a><br /></td></tr>
|
|
162
162
|
<tr class="separator:ab7b0b3088b46ad65451905cc4f567a7b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
163
|
-
<tr class="memitem:
|
|
164
|
-
<tr class="separator:
|
|
165
|
-
<tr class="memitem:
|
|
166
|
-
<tr class="separator:
|
|
167
|
-
<tr class="memitem:
|
|
168
|
-
<tr class="separator:
|
|
169
|
-
<tr class="memitem:
|
|
170
|
-
<tr class="memdesc:
|
|
171
|
-
<tr class="separator:
|
|
172
|
-
<tr class="memitem:
|
|
173
|
-
<tr class="memdesc:
|
|
174
|
-
<tr class="separator:
|
|
175
|
-
<tr class="memitem:
|
|
176
|
-
<tr class="separator:
|
|
163
|
+
<tr class="memitem:a483e92e076a426ec8f177eab3b971723"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">getCallBlockNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
164
|
+
<tr class="separator:a483e92e076a426ec8f177eab3b971723"><td class="memSeparator" colspan="2"> </td></tr>
|
|
165
|
+
<tr class="memitem:a392e5ea7c356763a988407f91343f034"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a392e5ea7c356763a988407f91343f034">getRetBlockNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
166
|
+
<tr class="separator:a392e5ea7c356763a988407f91343f034"><td class="memSeparator" colspan="2"> </td></tr>
|
|
167
|
+
<tr class="memitem:ad0ad7f96fe2b8f772e7d667d5ba3e9a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ad0ad7f96fe2b8f772e7d667d5ba3e9a3">getIntraBlockNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
168
|
+
<tr class="separator:ad0ad7f96fe2b8f772e7d667d5ba3e9a3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
169
|
+
<tr class="memitem:a2b32cfb0b4b3e420aa8e67fc6d4f1025"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a2b32cfb0b4b3e420aa8e67fc6d4f1025">getFunEntryBlockNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
170
|
+
<tr class="memdesc:a2b32cfb0b4b3e420aa8e67fc6d4f1025"><td class="mdescLeft"> </td><td class="mdescRight">Add a function entry node. <a href="#a2b32cfb0b4b3e420aa8e67fc6d4f1025">More...</a><br /></td></tr>
|
|
171
|
+
<tr class="separator:a2b32cfb0b4b3e420aa8e67fc6d4f1025"><td class="memSeparator" colspan="2"> </td></tr>
|
|
172
|
+
<tr class="memitem:a8f131fd585f6fa0c93023ee193500b26"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a8f131fd585f6fa0c93023ee193500b26">getFunExitBlockNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
173
|
+
<tr class="memdesc:a8f131fd585f6fa0c93023ee193500b26"><td class="mdescLeft"> </td><td class="mdescRight">Add a function exit node. <a href="#a8f131fd585f6fa0c93023ee193500b26">More...</a><br /></td></tr>
|
|
174
|
+
<tr class="separator:a8f131fd585f6fa0c93023ee193500b26"><td class="memSeparator" colspan="2"> </td></tr>
|
|
175
|
+
<tr class="memitem:a51917fa4244cdb46f06ab647b5c2656f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a51917fa4244cdb46f06ab647b5c2656f">getGlobalBlockNode</a> () const</td></tr>
|
|
176
|
+
<tr class="separator:a51917fa4244cdb46f06ab647b5c2656f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
177
177
|
<tr class="inherit_header pub_methods_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td></tr>
|
|
178
178
|
<tr class="memitem:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">GenericGraph</a> ()</td></tr>
|
|
179
179
|
<tr class="memdesc:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">More...</a><br /></td></tr>
|
|
@@ -258,52 +258,52 @@ Protected Member Functions</h2></td></tr>
|
|
|
258
258
|
</table><table class="memberdecls">
|
|
259
259
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
|
260
260
|
Private Member Functions</h2></td></tr>
|
|
261
|
-
<tr class="memitem:
|
|
262
|
-
<tr class="memdesc:
|
|
263
|
-
<tr class="separator:
|
|
264
|
-
<tr class="memitem:
|
|
265
|
-
<tr class="separator:
|
|
266
|
-
<tr class="memitem:
|
|
267
|
-
<tr class="memdesc:
|
|
268
|
-
<tr class="separator:
|
|
269
|
-
<tr class="memitem:
|
|
270
|
-
<tr class="separator:
|
|
271
|
-
<tr class="memitem:
|
|
272
|
-
<tr class="memdesc:
|
|
273
|
-
<tr class="separator:
|
|
274
|
-
<tr class="memitem:
|
|
275
|
-
<tr class="separator:
|
|
276
|
-
<tr class="memitem:
|
|
277
|
-
<tr class="memdesc:
|
|
278
|
-
<tr class="separator:
|
|
279
|
-
<tr class="memitem:
|
|
280
|
-
<tr class="separator:
|
|
281
|
-
<tr class="memitem:
|
|
282
|
-
<tr class="memdesc:
|
|
283
|
-
<tr class="separator:
|
|
284
|
-
<tr class="memitem:
|
|
285
|
-
<tr class="separator:
|
|
261
|
+
<tr class="memitem:a5f29490c8c18873fa80fc6b1c40b68bd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a5f29490c8c18873fa80fc6b1c40b68bd">getIntraBlockICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
262
|
+
<tr class="memdesc:a5f29490c8c18873fa80fc6b1c40b68bd"><td class="mdescLeft"> </td><td class="mdescRight">Get/Add IntraBlock <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>. <a href="#a5f29490c8c18873fa80fc6b1c40b68bd">More...</a><br /></td></tr>
|
|
263
|
+
<tr class="separator:a5f29490c8c18873fa80fc6b1c40b68bd"><td class="memSeparator" colspan="2"> </td></tr>
|
|
264
|
+
<tr class="memitem:a9e1f6fb3e078357ec19a24fcb3bf7537"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a9e1f6fb3e078357ec19a24fcb3bf7537">addIntraBlockICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
265
|
+
<tr class="separator:a9e1f6fb3e078357ec19a24fcb3bf7537"><td class="memSeparator" colspan="2"> </td></tr>
|
|
266
|
+
<tr class="memitem:a11a2c1f54747069b924ee2870163dc05"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a11a2c1f54747069b924ee2870163dc05">getFunEntryICFGNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
267
|
+
<tr class="memdesc:a11a2c1f54747069b924ee2870163dc05"><td class="mdescLeft"> </td><td class="mdescRight">Get/Add a function entry node. <a href="#a11a2c1f54747069b924ee2870163dc05">More...</a><br /></td></tr>
|
|
268
|
+
<tr class="separator:a11a2c1f54747069b924ee2870163dc05"><td class="memSeparator" colspan="2"> </td></tr>
|
|
269
|
+
<tr class="memitem:a56afcc853b9cf9fcab1e1472c64d5036"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a56afcc853b9cf9fcab1e1472c64d5036">addFunEntryICFGNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
270
|
+
<tr class="separator:a56afcc853b9cf9fcab1e1472c64d5036"><td class="memSeparator" colspan="2"> </td></tr>
|
|
271
|
+
<tr class="memitem:a12f78e9ce71a904975932e1784060050"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a12f78e9ce71a904975932e1784060050">getFunExitICFGNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
272
|
+
<tr class="memdesc:a12f78e9ce71a904975932e1784060050"><td class="mdescLeft"> </td><td class="mdescRight">Get/Add a function exit node. <a href="#a12f78e9ce71a904975932e1784060050">More...</a><br /></td></tr>
|
|
273
|
+
<tr class="separator:a12f78e9ce71a904975932e1784060050"><td class="memSeparator" colspan="2"> </td></tr>
|
|
274
|
+
<tr class="memitem:a2c2daaafcdc20d7e800c94a647c2b9da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a2c2daaafcdc20d7e800c94a647c2b9da">addFunExitICFGNode</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
275
|
+
<tr class="separator:a2c2daaafcdc20d7e800c94a647c2b9da"><td class="memSeparator" colspan="2"> </td></tr>
|
|
276
|
+
<tr class="memitem:a9168a7e686797d5e09d6d9aebea963e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a9168a7e686797d5e09d6d9aebea963e3">addCallICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *cs)</td></tr>
|
|
277
|
+
<tr class="memdesc:a9168a7e686797d5e09d6d9aebea963e3"><td class="mdescLeft"> </td><td class="mdescRight">Get/Add a call node. <a href="#a9168a7e686797d5e09d6d9aebea963e3">More...</a><br /></td></tr>
|
|
278
|
+
<tr class="separator:a9168a7e686797d5e09d6d9aebea963e3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
279
|
+
<tr class="memitem:ab10620eaac6b74f7cb18ba0c1211b4f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ab10620eaac6b74f7cb18ba0c1211b4f1">getCallICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *cs)</td></tr>
|
|
280
|
+
<tr class="separator:ab10620eaac6b74f7cb18ba0c1211b4f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
281
|
+
<tr class="memitem:a26ee40d30efc126734b7fb081db5da54"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a26ee40d30efc126734b7fb081db5da54">getRetICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *cs)</td></tr>
|
|
282
|
+
<tr class="memdesc:a26ee40d30efc126734b7fb081db5da54"><td class="mdescLeft"> </td><td class="mdescRight">Get/Add a return node. <a href="#a26ee40d30efc126734b7fb081db5da54">More...</a><br /></td></tr>
|
|
283
|
+
<tr class="separator:a26ee40d30efc126734b7fb081db5da54"><td class="memSeparator" colspan="2"> </td></tr>
|
|
284
|
+
<tr class="memitem:a10a3b111322e551dc781d732e2015261"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a10a3b111322e551dc781d732e2015261">addRetICFGNode</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *cs)</td></tr>
|
|
285
|
+
<tr class="separator:a10a3b111322e551dc781d732e2015261"><td class="memSeparator" colspan="2"> </td></tr>
|
|
286
286
|
</table><table class="memberdecls">
|
|
287
287
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
288
288
|
Private Attributes</h2></td></tr>
|
|
289
|
-
<tr class="memitem:a69076849bd256fb0ca59711a59a7c092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#
|
|
290
|
-
<tr class="memdesc:a69076849bd256fb0ca59711a59a7c092"><td class="mdescLeft"> </td><td class="mdescRight">map a function to its <a class="el" href="
|
|
289
|
+
<tr class="memitem:a69076849bd256fb0ca59711a59a7c092"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#a44a95ca43a7b3148c1aee9ad5da6e9d1">FunToFunEntryNodeMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">FunToFunEntryNodeMap</a></td></tr>
|
|
290
|
+
<tr class="memdesc:a69076849bd256fb0ca59711a59a7c092"><td class="mdescLeft"> </td><td class="mdescRight">map a function to its <a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> <a href="#a69076849bd256fb0ca59711a59a7c092">More...</a><br /></td></tr>
|
|
291
291
|
<tr class="separator:a69076849bd256fb0ca59711a59a7c092"><td class="memSeparator" colspan="2"> </td></tr>
|
|
292
|
-
<tr class="memitem:ab87a90adae3e9db06da7ecc0bd9d920f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#
|
|
293
|
-
<tr class="memdesc:ab87a90adae3e9db06da7ecc0bd9d920f"><td class="mdescLeft"> </td><td class="mdescRight">map a function to its <a class="el" href="
|
|
292
|
+
<tr class="memitem:ab87a90adae3e9db06da7ecc0bd9d920f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#a25f4e5330af9d3fba19ad70520b2ec7f">FunToFunExitNodeMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">FunToFunExitNodeMap</a></td></tr>
|
|
293
|
+
<tr class="memdesc:ab87a90adae3e9db06da7ecc0bd9d920f"><td class="mdescLeft"> </td><td class="mdescRight">map a function to its <a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> <a href="#ab87a90adae3e9db06da7ecc0bd9d920f">More...</a><br /></td></tr>
|
|
294
294
|
<tr class="separator:ab87a90adae3e9db06da7ecc0bd9d920f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
295
|
-
<tr class="memitem:af0434d6ffd247eeaf73b9294e659a3f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#
|
|
296
|
-
<tr class="memdesc:af0434d6ffd247eeaf73b9294e659a3f9"><td class="mdescLeft"> </td><td class="mdescRight">map a callsite to its <a class="el" href="
|
|
295
|
+
<tr class="memitem:af0434d6ffd247eeaf73b9294e659a3f9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#ac603cd3bb9c52c4261bba04e2c8ea193">CSToCallNodeMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">CSToCallNodeMap</a></td></tr>
|
|
296
|
+
<tr class="memdesc:af0434d6ffd247eeaf73b9294e659a3f9"><td class="mdescLeft"> </td><td class="mdescRight">map a callsite to its <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> <a href="#af0434d6ffd247eeaf73b9294e659a3f9">More...</a><br /></td></tr>
|
|
297
297
|
<tr class="separator:af0434d6ffd247eeaf73b9294e659a3f9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
298
|
-
<tr class="memitem:a0e43308038663c10667177238b23ab3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#
|
|
299
|
-
<tr class="memdesc:a0e43308038663c10667177238b23ab3e"><td class="mdescLeft"> </td><td class="mdescRight">map a callsite to its <a class="el" href="
|
|
298
|
+
<tr class="memitem:a0e43308038663c10667177238b23ab3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#a8ca1b5e8478ffefed30d3dc138a67a8e">CSToRetNodeMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">CSToRetNodeMap</a></td></tr>
|
|
299
|
+
<tr class="memdesc:a0e43308038663c10667177238b23ab3e"><td class="mdescLeft"> </td><td class="mdescRight">map a callsite to its <a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> <a href="#a0e43308038663c10667177238b23ab3e">More...</a><br /></td></tr>
|
|
300
300
|
<tr class="separator:a0e43308038663c10667177238b23ab3e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
301
|
-
<tr class="memitem:a23f905d849553d7ad652e9a8f1bfacd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#
|
|
301
|
+
<tr class="memitem:a23f905d849553d7ad652e9a8f1bfacd1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1ICFG.html#ab3e25c26fb0fef0fc41d7ba6a84be0af">InstToBlockNodeMapTy</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a23f905d849553d7ad652e9a8f1bfacd1">InstToBlockNodeMap</a></td></tr>
|
|
302
302
|
<tr class="memdesc:a23f905d849553d7ad652e9a8f1bfacd1"><td class="mdescLeft"> </td><td class="mdescRight">map a basic block to its <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> <a href="#a23f905d849553d7ad652e9a8f1bfacd1">More...</a><br /></td></tr>
|
|
303
303
|
<tr class="separator:a23f905d849553d7ad652e9a8f1bfacd1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
304
|
-
<tr class="memitem:
|
|
305
|
-
<tr class="memdesc:
|
|
306
|
-
<tr class="separator:
|
|
304
|
+
<tr class="memitem:a8e43b27d4484a4acb575e4c1c6c8fd02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a></td></tr>
|
|
305
|
+
<tr class="memdesc:a8e43b27d4484a4acb575e4c1c6c8fd02"><td class="mdescLeft"> </td><td class="mdescRight">unique basic block for all globals <a href="#a8e43b27d4484a4acb575e4c1c6c8fd02">More...</a><br /></td></tr>
|
|
306
|
+
<tr class="separator:a8e43b27d4484a4acb575e4c1c6c8fd02"><td class="memSeparator" colspan="2"> </td></tr>
|
|
307
307
|
</table><table class="memberdecls">
|
|
308
308
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
|
|
309
309
|
Friends</h2></td></tr>
|
|
@@ -337,14 +337,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
337
337
|
|
|
338
338
|
</div>
|
|
339
339
|
</div>
|
|
340
|
-
<a id="
|
|
341
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
340
|
+
<a id="ac603cd3bb9c52c4261bba04e2c8ea193"></a>
|
|
341
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ac603cd3bb9c52c4261bba04e2c8ea193">◆ </a></span>CSToCallNodeMapTy</h2>
|
|
342
342
|
|
|
343
343
|
<div class="memitem">
|
|
344
344
|
<div class="memproto">
|
|
345
345
|
<table class="memname">
|
|
346
346
|
<tr>
|
|
347
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>*, <a class="el" href="
|
|
347
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>*, <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *> <a class="el" href="classSVF_1_1ICFG.html#ac603cd3bb9c52c4261bba04e2c8ea193">SVF::ICFG::CSToCallNodeMapTy</a></td>
|
|
348
348
|
</tr>
|
|
349
349
|
</table>
|
|
350
350
|
</div><div class="memdoc">
|
|
@@ -353,14 +353,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
353
353
|
|
|
354
354
|
</div>
|
|
355
355
|
</div>
|
|
356
|
-
<a id="
|
|
357
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
356
|
+
<a id="a8ca1b5e8478ffefed30d3dc138a67a8e"></a>
|
|
357
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8ca1b5e8478ffefed30d3dc138a67a8e">◆ </a></span>CSToRetNodeMapTy</h2>
|
|
358
358
|
|
|
359
359
|
<div class="memitem">
|
|
360
360
|
<div class="memproto">
|
|
361
361
|
<table class="memname">
|
|
362
362
|
<tr>
|
|
363
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>*, <a class="el" href="
|
|
363
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>*, <a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> *> <a class="el" href="classSVF_1_1ICFG.html#a8ca1b5e8478ffefed30d3dc138a67a8e">SVF::ICFG::CSToRetNodeMapTy</a></td>
|
|
364
364
|
</tr>
|
|
365
365
|
</table>
|
|
366
366
|
</div><div class="memdoc">
|
|
@@ -369,14 +369,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
369
369
|
|
|
370
370
|
</div>
|
|
371
371
|
</div>
|
|
372
|
-
<a id="
|
|
373
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
372
|
+
<a id="a44a95ca43a7b3148c1aee9ad5da6e9d1"></a>
|
|
373
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a44a95ca43a7b3148c1aee9ad5da6e9d1">◆ </a></span>FunToFunEntryNodeMapTy</h2>
|
|
374
374
|
|
|
375
375
|
<div class="memitem">
|
|
376
376
|
<div class="memproto">
|
|
377
377
|
<table class="memname">
|
|
378
378
|
<tr>
|
|
379
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="
|
|
379
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> *> <a class="el" href="classSVF_1_1ICFG.html#a44a95ca43a7b3148c1aee9ad5da6e9d1">SVF::ICFG::FunToFunEntryNodeMapTy</a></td>
|
|
380
380
|
</tr>
|
|
381
381
|
</table>
|
|
382
382
|
</div><div class="memdoc">
|
|
@@ -385,14 +385,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
385
385
|
|
|
386
386
|
</div>
|
|
387
387
|
</div>
|
|
388
|
-
<a id="
|
|
389
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
388
|
+
<a id="a25f4e5330af9d3fba19ad70520b2ec7f"></a>
|
|
389
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a25f4e5330af9d3fba19ad70520b2ec7f">◆ </a></span>FunToFunExitNodeMapTy</h2>
|
|
390
390
|
|
|
391
391
|
<div class="memitem">
|
|
392
392
|
<div class="memproto">
|
|
393
393
|
<table class="memname">
|
|
394
394
|
<tr>
|
|
395
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="
|
|
395
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> *> <a class="el" href="classSVF_1_1ICFG.html#a25f4e5330af9d3fba19ad70520b2ec7f">SVF::ICFG::FunToFunExitNodeMapTy</a></td>
|
|
396
396
|
</tr>
|
|
397
397
|
</table>
|
|
398
398
|
</div><div class="memdoc">
|
|
@@ -433,14 +433,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
433
433
|
|
|
434
434
|
</div>
|
|
435
435
|
</div>
|
|
436
|
-
<a id="
|
|
437
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
436
|
+
<a id="ab3e25c26fb0fef0fc41d7ba6a84be0af"></a>
|
|
437
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ab3e25c26fb0fef0fc41d7ba6a84be0af">◆ </a></span>InstToBlockNodeMapTy</h2>
|
|
438
438
|
|
|
439
439
|
<div class="memitem">
|
|
440
440
|
<div class="memproto">
|
|
441
441
|
<table class="memname">
|
|
442
442
|
<tr>
|
|
443
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>*, <a class="el" href="
|
|
443
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>*, <a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> *> <a class="el" href="classSVF_1_1ICFG.html#ab3e25c26fb0fef0fc41d7ba6a84be0af">SVF::ICFG::InstToBlockNodeMapTy</a></td>
|
|
444
444
|
</tr>
|
|
445
445
|
</table>
|
|
446
446
|
</div><div class="memdoc">
|
|
@@ -487,13 +487,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
487
487
|
</ul>
|
|
488
488
|
|
|
489
489
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00184">184</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
490
|
-
<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  : <a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>(0)</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">"\tCreate ICFG ...\n"</span>));</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="classSVF_1_1ICFG.html#
|
|
490
|
+
<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  : <a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>(0)</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">pasMsg</a>(<span class="stringliteral">"\tCreate ICFG ...\n"</span>));</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a>(<a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>++);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(<a class="code" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a>);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a609eea630a8f88fe9eaba15ce7e48738"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a609eea630a8f88fe9eaba15ce7e48738">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(std::string msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00101">SVFUtil.cpp:101</a></div></div>
|
|
491
491
|
<div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
492
|
-
<div class="ttc" id="
|
|
493
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_a37ec47cd95cf25b18720c4267a9fd40c"><div class="ttname"><a href="classSVF_1_1ICFG.html#a37ec47cd95cf25b18720c4267a9fd40c">SVF::ICFG::globalBlockNode</a></div><div class="ttdeci">GlobalBlockNode * globalBlockNode</div><div class="ttdoc">unique basic block for all globals </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00072">ICFG.h:72</a></div></div>
|
|
492
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a8e43b27d4484a4acb575e4c1c6c8fd02"><div class="ttname"><a href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">SVF::ICFG::globalBlockNode</a></div><div class="ttdeci">GlobalICFGNode * globalBlockNode</div><div class="ttdoc">unique basic block for all globals </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00072">ICFG.h:72</a></div></div>
|
|
494
493
|
<div class="ttc" id="classSVF_1_1ICFG_html_a15816a82d8c33a066009440dce6ee973"><div class="ttname"><a href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">SVF::ICFG::addICFGNode</a></div><div class="ttdeci">virtual void addICFGNode(ICFGNode *node)</div><div class="ttdoc">Add a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00157">ICFG.h:157</a></div></div>
|
|
495
494
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
|
|
496
495
|
<div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00154">SVFBasicTypes.h:154</a></div></div>
|
|
496
|
+
<div class="ttc" id="classSVF_1_1GlobalICFGNode_html"><div class="ttname"><a href="classSVF_1_1GlobalICFGNode.html">SVF::GlobalICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00142">ICFGNode.h:142</a></div></div>
|
|
497
497
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
|
|
498
498
|
</div><!-- fragment -->
|
|
499
499
|
</div>
|
|
@@ -579,8 +579,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
579
579
|
</div><!-- fragment -->
|
|
580
580
|
</div>
|
|
581
581
|
</div>
|
|
582
|
-
<a id="
|
|
583
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
582
|
+
<a id="a9168a7e686797d5e09d6d9aebea963e3"></a>
|
|
583
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a9168a7e686797d5e09d6d9aebea963e3">◆ </a></span>addCallICFGNode()</h2>
|
|
584
584
|
|
|
585
585
|
<div class="memitem">
|
|
586
586
|
<div class="memproto">
|
|
@@ -589,7 +589,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
589
589
|
<td class="mlabels-left">
|
|
590
590
|
<table class="memname">
|
|
591
591
|
<tr>
|
|
592
|
-
<td class="memname"><a class="el" href="
|
|
592
|
+
<td class="memname"><a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* SVF::ICFG::addCallICFGNode </td>
|
|
593
593
|
<td>(</td>
|
|
594
594
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
595
595
|
<td class="paramname"><em>cs</em></td><td>)</td>
|
|
@@ -606,7 +606,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
606
606
|
<p>Get/Add a call node. </p>
|
|
607
607
|
|
|
608
608
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00235">235</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
609
|
-
<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> 
|
|
609
|
+
<div class="fragment"><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  CallICFGNode* sNode = <span class="keyword">new</span> CallICFGNode(<a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>++, cs);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(sNode);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">CSToCallNodeMap</a>[cs] = sNode;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">return</span> sNode;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_af0434d6ffd247eeaf73b9294e659a3f9"><div class="ttname"><a href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">SVF::ICFG::CSToCallNodeMap</a></div><div class="ttdeci">CSToCallNodeMapTy CSToCallNodeMap</div><div class="ttdoc">map a callsite to its CallICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00069">ICFG.h:69</a></div></div>
|
|
610
610
|
<div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
611
611
|
<div class="ttc" id="classSVF_1_1ICFG_html_a15816a82d8c33a066009440dce6ee973"><div class="ttname"><a href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">SVF::ICFG::addICFGNode</a></div><div class="ttdeci">virtual void addICFGNode(ICFGNode *node)</div><div class="ttdoc">Add a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00157">ICFG.h:157</a></div></div>
|
|
612
612
|
</div><!-- fragment -->
|
|
@@ -671,8 +671,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
671
671
|
</div><!-- fragment -->
|
|
672
672
|
</div>
|
|
673
673
|
</div>
|
|
674
|
-
<a id="
|
|
675
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
674
|
+
<a id="a56afcc853b9cf9fcab1e1472c64d5036"></a>
|
|
675
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a56afcc853b9cf9fcab1e1472c64d5036">◆ </a></span>addFunEntryICFGNode()</h2>
|
|
676
676
|
|
|
677
677
|
<div class="memitem">
|
|
678
678
|
<div class="memproto">
|
|
@@ -681,7 +681,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
681
681
|
<td class="mlabels-left">
|
|
682
682
|
<table class="memname">
|
|
683
683
|
<tr>
|
|
684
|
-
<td class="memname"><a class="el" href="
|
|
684
|
+
<td class="memname"><a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* SVF::ICFG::addFunEntryICFGNode </td>
|
|
685
685
|
<td>(</td>
|
|
686
686
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
687
687
|
<td class="paramname"><em>fun</em></td><td>)</td>
|
|
@@ -696,14 +696,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
696
696
|
</div><div class="memdoc">
|
|
697
697
|
|
|
698
698
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00210">210</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
699
|
-
<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 
|
|
700
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_a69076849bd256fb0ca59711a59a7c092"><div class="ttname"><a href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">SVF::ICFG::FunToFunEntryNodeMap</a></div><div class="ttdeci">FunToFunEntryNodeMapTy FunToFunEntryNodeMap</div><div class="ttdoc">map a function to its
|
|
699
|
+
<div class="fragment"><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  FunEntryICFGNode* sNode = <span class="keyword">new</span> FunEntryICFGNode(<a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>++,fun);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(sNode);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">FunToFunEntryNodeMap</a>[fun] = sNode;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keywordflow">return</span> sNode;</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
700
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a69076849bd256fb0ca59711a59a7c092"><div class="ttname"><a href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">SVF::ICFG::FunToFunEntryNodeMap</a></div><div class="ttdeci">FunToFunEntryNodeMapTy FunToFunEntryNodeMap</div><div class="ttdoc">map a function to its FunExitICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00067">ICFG.h:67</a></div></div>
|
|
701
701
|
<div class="ttc" id="classSVF_1_1ICFG_html_a15816a82d8c33a066009440dce6ee973"><div class="ttname"><a href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">SVF::ICFG::addICFGNode</a></div><div class="ttdeci">virtual void addICFGNode(ICFGNode *node)</div><div class="ttdoc">Add a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00157">ICFG.h:157</a></div></div>
|
|
702
702
|
</div><!-- fragment -->
|
|
703
703
|
</div>
|
|
704
704
|
</div>
|
|
705
|
-
<a id="
|
|
706
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
705
|
+
<a id="a2c2daaafcdc20d7e800c94a647c2b9da"></a>
|
|
706
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2c2daaafcdc20d7e800c94a647c2b9da">◆ </a></span>addFunExitICFGNode()</h2>
|
|
707
707
|
|
|
708
708
|
<div class="memitem">
|
|
709
709
|
<div class="memproto">
|
|
@@ -712,7 +712,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
712
712
|
<td class="mlabels-left">
|
|
713
713
|
<table class="memname">
|
|
714
714
|
<tr>
|
|
715
|
-
<td class="memname"><a class="el" href="
|
|
715
|
+
<td class="memname"><a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* SVF::ICFG::addFunExitICFGNode </td>
|
|
716
716
|
<td>(</td>
|
|
717
717
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
718
718
|
<td class="paramname"><em>fun</em></td><td>)</td>
|
|
@@ -727,9 +727,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
727
727
|
</div><div class="memdoc">
|
|
728
728
|
|
|
729
729
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00226">226</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
730
|
-
<div class="fragment"><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> 
|
|
730
|
+
<div class="fragment"><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>  FunExitICFGNode* sNode = <span class="keyword">new</span> FunExitICFGNode(<a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>++, fun);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(sNode);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">FunToFunExitNodeMap</a>[fun] = sNode;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> sNode;</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
731
731
|
<div class="ttc" id="classSVF_1_1ICFG_html_a15816a82d8c33a066009440dce6ee973"><div class="ttname"><a href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">SVF::ICFG::addICFGNode</a></div><div class="ttdeci">virtual void addICFGNode(ICFGNode *node)</div><div class="ttdoc">Add a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00157">ICFG.h:157</a></div></div>
|
|
732
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_ab87a90adae3e9db06da7ecc0bd9d920f"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">SVF::ICFG::FunToFunExitNodeMap</a></div><div class="ttdeci">FunToFunExitNodeMapTy FunToFunExitNodeMap</div><div class="ttdoc">map a function to its
|
|
732
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_ab87a90adae3e9db06da7ecc0bd9d920f"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">SVF::ICFG::FunToFunExitNodeMap</a></div><div class="ttdeci">FunToFunExitNodeMapTy FunToFunExitNodeMap</div><div class="ttdoc">map a function to its FunEntryICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00068">ICFG.h:68</a></div></div>
|
|
733
733
|
</div><!-- fragment -->
|
|
734
734
|
</div>
|
|
735
735
|
</div>
|
|
@@ -795,8 +795,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
795
795
|
</div><!-- fragment -->
|
|
796
796
|
</div>
|
|
797
797
|
</div>
|
|
798
|
-
<a id="
|
|
799
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
798
|
+
<a id="a9e1f6fb3e078357ec19a24fcb3bf7537"></a>
|
|
799
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a9e1f6fb3e078357ec19a24fcb3bf7537">◆ </a></span>addIntraBlockICFGNode()</h2>
|
|
800
800
|
|
|
801
801
|
<div class="memitem">
|
|
802
802
|
<div class="memproto">
|
|
@@ -805,7 +805,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
805
805
|
<td class="mlabels-left">
|
|
806
806
|
<table class="memname">
|
|
807
807
|
<tr>
|
|
808
|
-
<td class="memname"><a class="el" href="
|
|
808
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* SVF::ICFG::addIntraBlockICFGNode </td>
|
|
809
809
|
<td>(</td>
|
|
810
810
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
811
811
|
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
@@ -820,7 +820,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
820
820
|
</div><div class="memdoc">
|
|
821
821
|
|
|
822
822
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00194">194</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
823
|
-
<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> 
|
|
823
|
+
<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>  IntraICFGNode* sNode = <span class="keyword">new</span> IntraICFGNode(<a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>++,inst);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(sNode);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1ICFG.html#a23f905d849553d7ad652e9a8f1bfacd1">InstToBlockNodeMap</a>[inst] = sNode;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">return</span> sNode;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
824
824
|
<div class="ttc" id="classSVF_1_1ICFG_html_a23f905d849553d7ad652e9a8f1bfacd1"><div class="ttname"><a href="classSVF_1_1ICFG.html#a23f905d849553d7ad652e9a8f1bfacd1">SVF::ICFG::InstToBlockNodeMap</a></div><div class="ttdeci">InstToBlockNodeMapTy InstToBlockNodeMap</div><div class="ttdoc">map a basic block to its ICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00071">ICFG.h:71</a></div></div>
|
|
825
825
|
<div class="ttc" id="classSVF_1_1ICFG_html_a15816a82d8c33a066009440dce6ee973"><div class="ttname"><a href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">SVF::ICFG::addICFGNode</a></div><div class="ttdeci">virtual void addICFGNode(ICFGNode *node)</div><div class="ttdoc">Add a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00157">ICFG.h:157</a></div></div>
|
|
826
826
|
</div><!-- fragment -->
|
|
@@ -925,8 +925,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
925
925
|
</div><!-- fragment -->
|
|
926
926
|
</div>
|
|
927
927
|
</div>
|
|
928
|
-
<a id="
|
|
929
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
928
|
+
<a id="a10a3b111322e551dc781d732e2015261"></a>
|
|
929
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a10a3b111322e551dc781d732e2015261">◆ </a></span>addRetICFGNode()</h2>
|
|
930
930
|
|
|
931
931
|
<div class="memitem">
|
|
932
932
|
<div class="memproto">
|
|
@@ -935,7 +935,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
935
935
|
<td class="mlabels-left">
|
|
936
936
|
<table class="memname">
|
|
937
937
|
<tr>
|
|
938
|
-
<td class="memname"><a class="el" href="
|
|
938
|
+
<td class="memname"><a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* SVF::ICFG::addRetICFGNode </td>
|
|
939
939
|
<td>(</td>
|
|
940
940
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
941
941
|
<td class="paramname"><em>cs</em></td><td>)</td>
|
|
@@ -950,10 +950,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
950
950
|
</div><div class="memdoc">
|
|
951
951
|
|
|
952
952
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00258">258</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
953
|
-
<div class="fragment"><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> 
|
|
954
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
953
|
+
<div class="fragment"><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>  CallICFGNode* callBlockNode = <a class="code" href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">getCallBlockNode</a>(cs);</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  RetICFGNode* sNode = <span class="keyword">new</span> RetICFGNode(<a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>++, cs, callBlockNode);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  callBlockNode->setRetICFGNode(sNode);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(sNode);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">CSToRetNodeMap</a>[cs] = sNode;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> sNode;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a5df6061b65d021cd73c66592ec79f052"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">SVF::ICFG::totalICFGNode</a></div><div class="ttdeci">NodeID totalICFGNode</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00064">ICFG.h:64</a></div></div>
|
|
955
954
|
<div class="ttc" id="classSVF_1_1ICFG_html_a15816a82d8c33a066009440dce6ee973"><div class="ttname"><a href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">SVF::ICFG::addICFGNode</a></div><div class="ttdeci">virtual void addICFGNode(ICFGNode *node)</div><div class="ttdoc">Add a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00157">ICFG.h:157</a></div></div>
|
|
956
|
-
<div class="ttc" id="
|
|
955
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a483e92e076a426ec8f177eab3b971723"><div class="ttname"><a href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">SVF::ICFG::getCallBlockNode</a></div><div class="ttdeci">CallICFGNode * getCallBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00209">ICFG.cpp:209</a></div></div>
|
|
956
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a0e43308038663c10667177238b23ab3e"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">SVF::ICFG::CSToRetNodeMap</a></div><div class="ttdeci">CSToRetNodeMapTy CSToRetNodeMap</div><div class="ttdoc">map a callsite to its RetICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00070">ICFG.h:70</a></div></div>
|
|
957
957
|
</div><!-- fragment -->
|
|
958
958
|
</div>
|
|
959
959
|
</div>
|
|
@@ -1053,23 +1053,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1053
1053
|
<p>Get a basic block <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> TODO:: need to fix the assertions </p>
|
|
1054
1054
|
|
|
1055
1055
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00193">193</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1056
|
-
<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst))</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  node = <a class="code" href="classSVF_1_1ICFG.html#
|
|
1057
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_a7d10e8a815c836a070d35850f817a18c"><div class="ttname"><a href="classSVF_1_1ICFG.html#a7d10e8a815c836a070d35850f817a18c">SVF::ICFG::getCallBlockNode</a></div><div class="ttdeci">CallBlockNode * getCallBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00209">ICFG.cpp:209</a></div></div>
|
|
1056
|
+
<div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> {</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst))</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  node = <a class="code" href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">getCallBlockNode</a>(inst);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVFUtil::isIntrinsicInst</a>(inst))</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  node = <a class="code" href="classSVF_1_1ICFG.html#ad0ad7f96fe2b8f772e7d667d5ba3e9a3">getIntraBlockNode</a>(inst);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment">// assert (false && "associating an intrinsic instruction with an ICFGNode!");</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  node = <a class="code" href="classSVF_1_1ICFG.html#ad0ad7f96fe2b8f772e7d667d5ba3e9a3">getIntraBlockNode</a>(inst);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a> (node!=<span class="keyword">nullptr</span> && <span class="stringliteral">"no ICFGNode for this instruction?"</span>);</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">return</span> node;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab7f58caf27c30a1d414e06f60ca84d80"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const Instruction *inst)</div><div class="ttdoc">Return true if it is an intrinsic instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00180">SVFUtil.h:180</a></div></div>
|
|
1058
1057
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1059
1058
|
<div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
1060
|
-
<div class="ttc" id="
|
|
1059
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_ad0ad7f96fe2b8f772e7d667d5ba3e9a3"><div class="ttname"><a href="classSVF_1_1ICFG.html#ad0ad7f96fe2b8f772e7d667d5ba3e9a3">SVF::ICFG::getIntraBlockNode</a></div><div class="ttdeci">IntraICFGNode * getIntraBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00233">ICFG.cpp:233</a></div></div>
|
|
1060
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a483e92e076a426ec8f177eab3b971723"><div class="ttname"><a href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">SVF::ICFG::getCallBlockNode</a></div><div class="ttdeci">CallICFGNode * getCallBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00209">ICFG.cpp:209</a></div></div>
|
|
1061
1061
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8d8216a92140d982303f83ea424ddc91"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls...</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00206">SVFUtil.h:206</a></div></div>
|
|
1062
1062
|
</div><!-- fragment -->
|
|
1063
1063
|
</div>
|
|
1064
1064
|
</div>
|
|
1065
|
-
<a id="
|
|
1066
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1065
|
+
<a id="a483e92e076a426ec8f177eab3b971723"></a>
|
|
1066
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a483e92e076a426ec8f177eab3b971723">◆ </a></span>getCallBlockNode()</h2>
|
|
1067
1067
|
|
|
1068
1068
|
<div class="memitem">
|
|
1069
1069
|
<div class="memproto">
|
|
1070
1070
|
<table class="memname">
|
|
1071
1071
|
<tr>
|
|
1072
|
-
<td class="memname"><a class="el" href="
|
|
1072
|
+
<td class="memname"><a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> * ICFG::getCallBlockNode </td>
|
|
1073
1073
|
<td>(</td>
|
|
1074
1074
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
1075
1075
|
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
@@ -1079,18 +1079,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1079
1079
|
</div><div class="memdoc">
|
|
1080
1080
|
|
|
1081
1081
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00209">209</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1082
|
-
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst) ==<span class="keyword">false</span>)</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << *inst << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst) && <span class="stringliteral">"not a call instruction?"</span>);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst) && <span class="stringliteral">"associating an intrinsic debug instruction with an ICFGNode!"</span>);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="
|
|
1082
|
+
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst) ==<span class="keyword">false</span>)</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">outs</a>() << *inst << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst) && <span class="stringliteral">"not a call instruction?"</span>);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst) && <span class="stringliteral">"associating an intrinsic debug instruction with an ICFGNode!"</span>);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#ab10620eaac6b74f7cb18ba0c1211b4f1">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  node = <a class="code" href="classSVF_1_1ICFG.html#a9168a7e686797d5e09d6d9aebea963e3">addCallICFGNode</a>(inst);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a> (node!=<span class="keyword">nullptr</span> && <span class="stringliteral">"no CallICFGNode for this instruction?"</span>);</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">return</span> node;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a2e08ce822223842fa6a73fd659b1a526"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00193">SVFUtil.h:193</a></div></div>
|
|
1083
1083
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1084
|
-
<div class="ttc" id="
|
|
1084
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a9168a7e686797d5e09d6d9aebea963e3"><div class="ttname"><a href="classSVF_1_1ICFG.html#a9168a7e686797d5e09d6d9aebea963e3">SVF::ICFG::addCallICFGNode</a></div><div class="ttdeci">CallICFGNode * addCallICFGNode(const Instruction *cs)</div><div class="ttdoc">Get/Add a call node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00235">ICFG.h:235</a></div></div>
|
|
1085
1085
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a85ab6b592fefc45a0674d3295e01638f"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a85ab6b592fefc45a0674d3295e01638f">SVF::SVFUtil::outs</a></div><div class="ttdeci">raw_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>
|
|
1086
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
|
|
1087
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_ab10620eaac6b74f7cb18ba0c1211b4f1"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab10620eaac6b74f7cb18ba0c1211b4f1">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const Instruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00242">ICFG.h:242</a></div></div>
|
|
1086
1088
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8d8216a92140d982303f83ea424ddc91"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls...</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00206">SVFUtil.h:206</a></div></div>
|
|
1087
|
-
<div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
|
|
1088
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_ac069357c3f5140fcb0d6163c944638fd"><div class="ttname"><a href="classSVF_1_1ICFG.html#ac069357c3f5140fcb0d6163c944638fd">SVF::ICFG::addCallICFGNode</a></div><div class="ttdeci">CallBlockNode * addCallICFGNode(const Instruction *cs)</div><div class="ttdoc">Get/Add a call node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00235">ICFG.h:235</a></div></div>
|
|
1089
1089
|
</div><!-- fragment -->
|
|
1090
1090
|
</div>
|
|
1091
1091
|
</div>
|
|
1092
|
-
<a id="
|
|
1093
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1092
|
+
<a id="ab10620eaac6b74f7cb18ba0c1211b4f1"></a>
|
|
1093
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ab10620eaac6b74f7cb18ba0c1211b4f1">◆ </a></span>getCallICFGNode()</h2>
|
|
1094
1094
|
|
|
1095
1095
|
<div class="memitem">
|
|
1096
1096
|
<div class="memproto">
|
|
@@ -1099,7 +1099,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1099
1099
|
<td class="mlabels-left">
|
|
1100
1100
|
<table class="memname">
|
|
1101
1101
|
<tr>
|
|
1102
|
-
<td class="memname"><a class="el" href="
|
|
1102
|
+
<td class="memname"><a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* SVF::ICFG::getCallICFGNode </td>
|
|
1103
1103
|
<td>(</td>
|
|
1104
1104
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
1105
1105
|
<td class="paramname"><em>cs</em></td><td>)</td>
|
|
@@ -1114,18 +1114,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1114
1114
|
</div><div class="memdoc">
|
|
1115
1115
|
|
|
1116
1116
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00242">242</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1117
|
-
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  CSToCallNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">CSToCallNodeMap</a>.find(cs);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">CSToCallNodeMap</a>.end())</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_af0434d6ffd247eeaf73b9294e659a3f9"><div class="ttname"><a href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">SVF::ICFG::CSToCallNodeMap</a></div><div class="ttdeci">CSToCallNodeMapTy CSToCallNodeMap</div><div class="ttdoc">map a callsite to its
|
|
1117
|
+
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  CSToCallNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">CSToCallNodeMap</a>.find(cs);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">CSToCallNodeMap</a>.end())</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_af0434d6ffd247eeaf73b9294e659a3f9"><div class="ttname"><a href="classSVF_1_1ICFG.html#af0434d6ffd247eeaf73b9294e659a3f9">SVF::ICFG::CSToCallNodeMap</a></div><div class="ttdeci">CSToCallNodeMapTy CSToCallNodeMap</div><div class="ttdoc">map a callsite to its CallICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00069">ICFG.h:69</a></div></div>
|
|
1118
1118
|
</div><!-- fragment -->
|
|
1119
1119
|
</div>
|
|
1120
1120
|
</div>
|
|
1121
|
-
<a id="
|
|
1122
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1121
|
+
<a id="a2b32cfb0b4b3e420aa8e67fc6d4f1025"></a>
|
|
1122
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a2b32cfb0b4b3e420aa8e67fc6d4f1025">◆ </a></span>getFunEntryBlockNode()</h2>
|
|
1123
1123
|
|
|
1124
1124
|
<div class="memitem">
|
|
1125
1125
|
<div class="memproto">
|
|
1126
1126
|
<table class="memname">
|
|
1127
1127
|
<tr>
|
|
1128
|
-
<td class="memname"><a class="el" href="
|
|
1128
|
+
<td class="memname"><a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> * ICFG::getFunEntryBlockNode </td>
|
|
1129
1129
|
<td>(</td>
|
|
1130
1130
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
1131
1131
|
<td class="paramname"><em>fun</em></td><td>)</td>
|
|
@@ -1137,14 +1137,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1137
1137
|
<p>Add a function entry node. </p>
|
|
1138
1138
|
|
|
1139
1139
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00242">242</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1140
|
-
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="
|
|
1141
|
-
<div class="ttc" id="
|
|
1142
|
-
<div class="ttc" id="
|
|
1140
|
+
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> {</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* b = <a class="code" href="classSVF_1_1ICFG.html#a11a2c1f54747069b924ee2870163dc05">getFunEntryICFGNode</a>(fun);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">if</span> (b == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a56afcc853b9cf9fcab1e1472c64d5036">addFunEntryICFGNode</a>(fun);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">return</span> b;</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> }</div><div class="ttc" id="classSVF_1_1FunEntryICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html">SVF::FunEntryICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00251">ICFGNode.h:251</a></div></div>
|
|
1141
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a56afcc853b9cf9fcab1e1472c64d5036"><div class="ttname"><a href="classSVF_1_1ICFG.html#a56afcc853b9cf9fcab1e1472c64d5036">SVF::ICFG::addFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * addFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00210">ICFG.h:210</a></div></div>
|
|
1142
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a11a2c1f54747069b924ee2870163dc05"><div class="ttname"><a href="classSVF_1_1ICFG.html#a11a2c1f54747069b924ee2870163dc05">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Get/Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00203">ICFG.h:203</a></div></div>
|
|
1143
1143
|
</div><!-- fragment -->
|
|
1144
1144
|
</div>
|
|
1145
1145
|
</div>
|
|
1146
|
-
<a id="
|
|
1147
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1146
|
+
<a id="a11a2c1f54747069b924ee2870163dc05"></a>
|
|
1147
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a11a2c1f54747069b924ee2870163dc05">◆ </a></span>getFunEntryICFGNode()</h2>
|
|
1148
1148
|
|
|
1149
1149
|
<div class="memitem">
|
|
1150
1150
|
<div class="memproto">
|
|
@@ -1153,7 +1153,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1153
1153
|
<td class="mlabels-left">
|
|
1154
1154
|
<table class="memname">
|
|
1155
1155
|
<tr>
|
|
1156
|
-
<td class="memname"><a class="el" href="
|
|
1156
|
+
<td class="memname"><a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* SVF::ICFG::getFunEntryICFGNode </td>
|
|
1157
1157
|
<td>(</td>
|
|
1158
1158
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
1159
1159
|
<td class="paramname"><em>fun</em></td><td>)</td>
|
|
@@ -1170,18 +1170,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1170
1170
|
<p>Get/Add a function entry node. </p>
|
|
1171
1171
|
|
|
1172
1172
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00203">203</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1173
|
-
<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  FunToFunEntryNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">FunToFunEntryNodeMap</a>.find(fun);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">FunToFunEntryNodeMap</a>.end())</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a69076849bd256fb0ca59711a59a7c092"><div class="ttname"><a href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">SVF::ICFG::FunToFunEntryNodeMap</a></div><div class="ttdeci">FunToFunEntryNodeMapTy FunToFunEntryNodeMap</div><div class="ttdoc">map a function to its
|
|
1173
|
+
<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  FunToFunEntryNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">FunToFunEntryNodeMap</a>.find(fun);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">FunToFunEntryNodeMap</a>.end())</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a69076849bd256fb0ca59711a59a7c092"><div class="ttname"><a href="classSVF_1_1ICFG.html#a69076849bd256fb0ca59711a59a7c092">SVF::ICFG::FunToFunEntryNodeMap</a></div><div class="ttdeci">FunToFunEntryNodeMapTy FunToFunEntryNodeMap</div><div class="ttdoc">map a function to its FunExitICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00067">ICFG.h:67</a></div></div>
|
|
1174
1174
|
</div><!-- fragment -->
|
|
1175
1175
|
</div>
|
|
1176
1176
|
</div>
|
|
1177
|
-
<a id="
|
|
1178
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1177
|
+
<a id="a8f131fd585f6fa0c93023ee193500b26"></a>
|
|
1178
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8f131fd585f6fa0c93023ee193500b26">◆ </a></span>getFunExitBlockNode()</h2>
|
|
1179
1179
|
|
|
1180
1180
|
<div class="memitem">
|
|
1181
1181
|
<div class="memproto">
|
|
1182
1182
|
<table class="memname">
|
|
1183
1183
|
<tr>
|
|
1184
|
-
<td class="memname"><a class="el" href="
|
|
1184
|
+
<td class="memname"><a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> * ICFG::getFunExitBlockNode </td>
|
|
1185
1185
|
<td>(</td>
|
|
1186
1186
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
1187
1187
|
<td class="paramname"><em>fun</em></td><td>)</td>
|
|
@@ -1193,14 +1193,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1193
1193
|
<p>Add a function exit node. </p>
|
|
1194
1194
|
|
|
1195
1195
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00251">251</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1196
|
-
<div class="fragment"><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>  <a class="code" href="
|
|
1197
|
-
<div class="ttc" id="
|
|
1198
|
-
<div class="ttc" id="
|
|
1196
|
+
<div class="fragment"><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>  <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* b = <a class="code" href="classSVF_1_1ICFG.html#a12f78e9ce71a904975932e1784060050">getFunExitICFGNode</a>(fun);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">if</span> (b == <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a2c2daaafcdc20d7e800c94a647c2b9da">addFunExitICFGNode</a>(fun);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> b;</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> }</div><div class="ttc" id="classSVF_1_1ICFG_html_a12f78e9ce71a904975932e1784060050"><div class="ttname"><a href="classSVF_1_1ICFG.html#a12f78e9ce71a904975932e1784060050">SVF::ICFG::getFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * getFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Get/Add a function exit node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00219">ICFG.h:219</a></div></div>
|
|
1197
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a2c2daaafcdc20d7e800c94a647c2b9da"><div class="ttname"><a href="classSVF_1_1ICFG.html#a2c2daaafcdc20d7e800c94a647c2b9da">SVF::ICFG::addFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * addFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00226">ICFG.h:226</a></div></div>
|
|
1198
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
|
|
1199
1199
|
</div><!-- fragment -->
|
|
1200
1200
|
</div>
|
|
1201
1201
|
</div>
|
|
1202
|
-
<a id="
|
|
1203
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1202
|
+
<a id="a12f78e9ce71a904975932e1784060050"></a>
|
|
1203
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a12f78e9ce71a904975932e1784060050">◆ </a></span>getFunExitICFGNode()</h2>
|
|
1204
1204
|
|
|
1205
1205
|
<div class="memitem">
|
|
1206
1206
|
<div class="memproto">
|
|
@@ -1209,7 +1209,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1209
1209
|
<td class="mlabels-left">
|
|
1210
1210
|
<table class="memname">
|
|
1211
1211
|
<tr>
|
|
1212
|
-
<td class="memname"><a class="el" href="
|
|
1212
|
+
<td class="memname"><a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* SVF::ICFG::getFunExitICFGNode </td>
|
|
1213
1213
|
<td>(</td>
|
|
1214
1214
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
1215
1215
|
<td class="paramname"><em>fun</em></td><td>)</td>
|
|
@@ -1226,12 +1226,12 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1226
1226
|
<p>Get/Add a function exit node. </p>
|
|
1227
1227
|
|
|
1228
1228
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00219">219</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1229
|
-
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  FunToFunExitNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">FunToFunExitNodeMap</a>.find(fun);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">FunToFunExitNodeMap</a>.end())</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_ab87a90adae3e9db06da7ecc0bd9d920f"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">SVF::ICFG::FunToFunExitNodeMap</a></div><div class="ttdeci">FunToFunExitNodeMapTy FunToFunExitNodeMap</div><div class="ttdoc">map a function to its
|
|
1229
|
+
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  {</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  FunToFunExitNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">FunToFunExitNodeMap</a>.find(fun);</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">FunToFunExitNodeMap</a>.end())</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_ab87a90adae3e9db06da7ecc0bd9d920f"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab87a90adae3e9db06da7ecc0bd9d920f">SVF::ICFG::FunToFunExitNodeMap</a></div><div class="ttdeci">FunToFunExitNodeMapTy FunToFunExitNodeMap</div><div class="ttdoc">map a function to its FunEntryICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00068">ICFG.h:68</a></div></div>
|
|
1230
1230
|
</div><!-- fragment -->
|
|
1231
1231
|
</div>
|
|
1232
1232
|
</div>
|
|
1233
|
-
<a id="
|
|
1234
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1233
|
+
<a id="a51917fa4244cdb46f06ab647b5c2656f"></a>
|
|
1234
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a51917fa4244cdb46f06ab647b5c2656f">◆ </a></span>getGlobalBlockNode()</h2>
|
|
1235
1235
|
|
|
1236
1236
|
<div class="memitem">
|
|
1237
1237
|
<div class="memproto">
|
|
@@ -1240,7 +1240,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1240
1240
|
<td class="mlabels-left">
|
|
1241
1241
|
<table class="memname">
|
|
1242
1242
|
<tr>
|
|
1243
|
-
<td class="memname"><a class="el" href="
|
|
1243
|
+
<td class="memname"><a class="el" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a>* SVF::ICFG::getGlobalBlockNode </td>
|
|
1244
1244
|
<td>(</td>
|
|
1245
1245
|
<td class="paramname"></td><td>)</td>
|
|
1246
1246
|
<td> const</td>
|
|
@@ -1254,7 +1254,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1254
1254
|
</div><div class="memdoc">
|
|
1255
1255
|
|
|
1256
1256
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00178">178</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1257
|
-
<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#
|
|
1257
|
+
<div class="fragment"><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  {</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a>;</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a8e43b27d4484a4acb575e4c1c6c8fd02"><div class="ttname"><a href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">SVF::ICFG::globalBlockNode</a></div><div class="ttdeci">GlobalICFGNode * globalBlockNode</div><div class="ttdoc">unique basic block for all globals </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00072">ICFG.h:72</a></div></div>
|
|
1258
1258
|
</div><!-- fragment -->
|
|
1259
1259
|
</div>
|
|
1260
1260
|
</div>
|
|
@@ -1334,8 +1334,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1334
1334
|
</div><!-- fragment -->
|
|
1335
1335
|
</div>
|
|
1336
1336
|
</div>
|
|
1337
|
-
<a id="
|
|
1338
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1337
|
+
<a id="a5f29490c8c18873fa80fc6b1c40b68bd"></a>
|
|
1338
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5f29490c8c18873fa80fc6b1c40b68bd">◆ </a></span>getIntraBlockICFGNode()</h2>
|
|
1339
1339
|
|
|
1340
1340
|
<div class="memitem">
|
|
1341
1341
|
<div class="memproto">
|
|
@@ -1344,7 +1344,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1344
1344
|
<td class="mlabels-left">
|
|
1345
1345
|
<table class="memname">
|
|
1346
1346
|
<tr>
|
|
1347
|
-
<td class="memname"><a class="el" href="
|
|
1347
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* SVF::ICFG::getIntraBlockICFGNode </td>
|
|
1348
1348
|
<td>(</td>
|
|
1349
1349
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
1350
1350
|
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
@@ -1365,14 +1365,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1365
1365
|
</div><!-- fragment -->
|
|
1366
1366
|
</div>
|
|
1367
1367
|
</div>
|
|
1368
|
-
<a id="
|
|
1369
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1368
|
+
<a id="ad0ad7f96fe2b8f772e7d667d5ba3e9a3"></a>
|
|
1369
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ad0ad7f96fe2b8f772e7d667d5ba3e9a3">◆ </a></span>getIntraBlockNode()</h2>
|
|
1370
1370
|
|
|
1371
1371
|
<div class="memitem">
|
|
1372
1372
|
<div class="memproto">
|
|
1373
1373
|
<table class="memname">
|
|
1374
1374
|
<tr>
|
|
1375
|
-
<td class="memname"><a class="el" href="
|
|
1375
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a> * ICFG::getIntraBlockNode </td>
|
|
1376
1376
|
<td>(</td>
|
|
1377
1377
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
1378
1378
|
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
@@ -1382,20 +1382,20 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1382
1382
|
</div><div class="memdoc">
|
|
1383
1383
|
|
|
1384
1384
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00233">233</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1385
|
-
<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="
|
|
1386
|
-
<div class="ttc" id="
|
|
1387
|
-
<div class="ttc" id="
|
|
1385
|
+
<div class="fragment"><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a5f29490c8c18873fa80fc6b1c40b68bd">getIntraBlockICFGNode</a>(inst);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  node = <a class="code" href="classSVF_1_1ICFG.html#a9e1f6fb3e078357ec19a24fcb3bf7537">addIntraBlockICFGNode</a>(inst);</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">return</span> node;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div><div class="ttc" id="classSVF_1_1ICFG_html_a9e1f6fb3e078357ec19a24fcb3bf7537"><div class="ttname"><a href="classSVF_1_1ICFG.html#a9e1f6fb3e078357ec19a24fcb3bf7537">SVF::ICFG::addIntraBlockICFGNode</a></div><div class="ttdeci">IntraICFGNode * addIntraBlockICFGNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00194">ICFG.h:194</a></div></div>
|
|
1386
|
+
<div class="ttc" id="classSVF_1_1IntraICFGNode_html"><div class="ttname"><a href="classSVF_1_1IntraICFGNode.html">SVF::IntraICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00175">ICFGNode.h:175</a></div></div>
|
|
1387
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a5f29490c8c18873fa80fc6b1c40b68bd"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f29490c8c18873fa80fc6b1c40b68bd">SVF::ICFG::getIntraBlockICFGNode</a></div><div class="ttdeci">IntraICFGNode * getIntraBlockICFGNode(const Instruction *inst)</div><div class="ttdoc">Get/Add IntraBlock ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00187">ICFG.h:187</a></div></div>
|
|
1388
1388
|
</div><!-- fragment -->
|
|
1389
1389
|
</div>
|
|
1390
1390
|
</div>
|
|
1391
|
-
<a id="
|
|
1392
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1391
|
+
<a id="a392e5ea7c356763a988407f91343f034"></a>
|
|
1392
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a392e5ea7c356763a988407f91343f034">◆ </a></span>getRetBlockNode()</h2>
|
|
1393
1393
|
|
|
1394
1394
|
<div class="memitem">
|
|
1395
1395
|
<div class="memproto">
|
|
1396
1396
|
<table class="memname">
|
|
1397
1397
|
<tr>
|
|
1398
|
-
<td class="memname"><a class="el" href="
|
|
1398
|
+
<td class="memname"><a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> * ICFG::getRetBlockNode </td>
|
|
1399
1399
|
<td>(</td>
|
|
1400
1400
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
1401
1401
|
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
@@ -1405,17 +1405,17 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1405
1405
|
</div><div class="memdoc">
|
|
1406
1406
|
|
|
1407
1407
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00222">222</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1408
|
-
<div class="fragment"><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="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst) && <span class="stringliteral">"not a call instruction?"</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst) && <span class="stringliteral">"associating an intrinsic debug instruction with an ICFGNode!"</span>);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="
|
|
1408
|
+
<div class="fragment"><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="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst) && <span class="stringliteral">"not a call instruction?"</span>);</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst) && <span class="stringliteral">"associating an intrinsic debug instruction with an ICFGNode!"</span>);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a26ee40d30efc126734b7fb081db5da54">getRetICFGNode</a>(inst);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  node = <a class="code" href="classSVF_1_1ICFG.html#a10a3b111322e551dc781d732e2015261">addRetICFGNode</a>(inst);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a> (node!=<span class="keyword">nullptr</span> && <span class="stringliteral">"no RetICFGNode for this instruction?"</span>);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">return</span> node;</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a2e08ce822223842fa6a73fd659b1a526"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00193">SVFUtil.h:193</a></div></div>
|
|
1409
1409
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1410
|
-
<div class="ttc" id="
|
|
1411
|
-
<div class="ttc" id="
|
|
1412
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_a45891a968511d4779288a1a0aa089619"><div class="ttname"><a href="classSVF_1_1ICFG.html#a45891a968511d4779288a1a0aa089619">SVF::ICFG::addRetICFGNode</a></div><div class="ttdeci">RetBlockNode * addRetICFGNode(const Instruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00258">ICFG.h:258</a></div></div>
|
|
1410
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a10a3b111322e551dc781d732e2015261"><div class="ttname"><a href="classSVF_1_1ICFG.html#a10a3b111322e551dc781d732e2015261">SVF::ICFG::addRetICFGNode</a></div><div class="ttdeci">RetICFGNode * addRetICFGNode(const Instruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00258">ICFG.h:258</a></div></div>
|
|
1411
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00459">ICFGNode.h:459</a></div></div>
|
|
1413
1412
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8d8216a92140d982303f83ea424ddc91"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls...</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00206">SVFUtil.h:206</a></div></div>
|
|
1413
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a26ee40d30efc126734b7fb081db5da54"><div class="ttname"><a href="classSVF_1_1ICFG.html#a26ee40d30efc126734b7fb081db5da54">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const Instruction *cs)</div><div class="ttdoc">Get/Add a return node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00251">ICFG.h:251</a></div></div>
|
|
1414
1414
|
</div><!-- fragment -->
|
|
1415
1415
|
</div>
|
|
1416
1416
|
</div>
|
|
1417
|
-
<a id="
|
|
1418
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1417
|
+
<a id="a26ee40d30efc126734b7fb081db5da54"></a>
|
|
1418
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a26ee40d30efc126734b7fb081db5da54">◆ </a></span>getRetICFGNode()</h2>
|
|
1419
1419
|
|
|
1420
1420
|
<div class="memitem">
|
|
1421
1421
|
<div class="memproto">
|
|
@@ -1424,7 +1424,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1424
1424
|
<td class="mlabels-left">
|
|
1425
1425
|
<table class="memname">
|
|
1426
1426
|
<tr>
|
|
1427
|
-
<td class="memname"><a class="el" href="
|
|
1427
|
+
<td class="memname"><a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* SVF::ICFG::getRetICFGNode </td>
|
|
1428
1428
|
<td>(</td>
|
|
1429
1429
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
1430
1430
|
<td class="paramname"><em>cs</em></td><td>)</td>
|
|
@@ -1441,7 +1441,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1441
1441
|
<p>Get/Add a return node. </p>
|
|
1442
1442
|
|
|
1443
1443
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00251">251</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1444
|
-
<div class="fragment"><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>  CSToRetNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">CSToRetNodeMap</a>.find(cs);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">CSToRetNodeMap</a>.end())</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a0e43308038663c10667177238b23ab3e"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">SVF::ICFG::CSToRetNodeMap</a></div><div class="ttdeci">CSToRetNodeMapTy CSToRetNodeMap</div><div class="ttdoc">map a callsite to its
|
|
1444
|
+
<div class="fragment"><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>  CSToRetNodeMapTy::const_iterator it = <a class="code" href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">CSToRetNodeMap</a>.find(cs);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">if</span> (it == <a class="code" href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">CSToRetNodeMap</a>.end())</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div><div class="ttc" id="classSVF_1_1ICFG_html_a0e43308038663c10667177238b23ab3e"><div class="ttname"><a href="classSVF_1_1ICFG.html#a0e43308038663c10667177238b23ab3e">SVF::ICFG::CSToRetNodeMap</a></div><div class="ttdeci">CSToRetNodeMapTy CSToRetNodeMap</div><div class="ttdoc">map a callsite to its RetICFGNode </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00070">ICFG.h:70</a></div></div>
|
|
1445
1445
|
</div><!-- fragment -->
|
|
1446
1446
|
</div>
|
|
1447
1447
|
</div>
|
|
@@ -1680,25 +1680,32 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1680
1680
|
|
|
1681
1681
|
<p>update <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> for indirect calls </p>
|
|
1682
1682
|
<p>Update <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> for indirect calls </p>
|
|
1683
|
+
<p>if this is an external function (no function body), connect calleeEntryNode to calleeExitNode</p>
|
|
1684
|
+
<p>Remove callBlockNode to retBlockNode intraICFGEdge since we found at least one inter procedural edge </p>
|
|
1683
1685
|
|
|
1684
1686
|
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00426">426</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1685
|
-
<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> {</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  PTACallGraph::CallEdgeMap::const_iterator iter = callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().begin();</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  PTACallGraph::CallEdgeMap::const_iterator eiter = callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().end();</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">for</span> (; iter != eiter; iter++)</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keyword">const</span> <a class="code" href="
|
|
1686
|
-
<div class="ttc" id="
|
|
1687
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_a7d10e8a815c836a070d35850f817a18c"><div class="ttname"><a href="classSVF_1_1ICFG.html#a7d10e8a815c836a070d35850f817a18c">SVF::ICFG::getCallBlockNode</a></div><div class="ttdeci">CallBlockNode * getCallBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00209">ICFG.cpp:209</a></div></div>
|
|
1687
|
+
<div class="fragment"><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> {</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  PTACallGraph::CallEdgeMap::const_iterator iter = callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().begin();</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  PTACallGraph::CallEdgeMap::const_iterator eiter = callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().end();</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">for</span> (; iter != eiter; iter++)</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  {</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlock = iter->first;</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* cs = callBlock-><a class="code" href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">getCallSite</a>();</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(callBlock-><a class="code" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">isIndirectCall</a>() && <span class="stringliteral">"this is not an indirect call?"</span>);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> & functions = iter->second;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">for</span> (PTACallGraph::FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *func_iter;</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">getCallBlockNode</a>(cs);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = <a class="code" href="classSVF_1_1ICFG.html#a392e5ea7c356763a988407f91343f034">getRetBlockNode</a>(cs);</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* calleeEntryNode = <a class="code" href="classSVF_1_1ICFG.html#a11a2c1f54747069b924ee2870163dc05">getFunEntryICFGNode</a>(callee);</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* calleeExitNode = <a class="code" href="classSVF_1_1ICFG.html#a12f78e9ce71a904975932e1784060050">getFunExitICFGNode</a>(callee);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <a class="code" href="classSVF_1_1ICFG.html#abde033687317d47909ee45db7501723f">addCallEdge</a>(callBlockNode, calleeEntryNode, cs);</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <a class="code" href="classSVF_1_1ICFG.html#a4a44849b596c89ab14d2e5f18366e848">addRetEdge</a>(calleeExitNode, retBlockNode, cs);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> </div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(callee))</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">addIntraEdge</a>(calleeEntryNode, calleeExitNode); </div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(callBlockNode,retBlockNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>))</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <a class="code" href="classSVF_1_1ICFG.html#a534625b10673efe5b0f344bfebf9b3cf">removeICFGEdge</a>(edge);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  }</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  }</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span> }</div><div class="ttc" id="classSVF_1_1ICFG_html_abde033687317d47909ee45db7501723f"><div class="ttname"><a href="classSVF_1_1ICFG.html#abde033687317d47909ee45db7501723f">SVF::ICFG::addCallEdge</a></div><div class="ttdeci">ICFGEdge * addCallEdge(ICFGNode *srcNode, ICFGNode *dstNode, const Instruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00375">ICFG.cpp:375</a></div></div>
|
|
1688
|
+
<div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00042">ICFGEdge.h:42</a></div></div>
|
|
1688
1689
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_ad49fa2a288945f6910deb11acdf6a42d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">SVF::PTACallGraph::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap & getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00280">PTACallGraph.h:280</a></div></div>
|
|
1689
1690
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1691
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a392e5ea7c356763a988407f91343f034"><div class="ttname"><a href="classSVF_1_1ICFG.html#a392e5ea7c356763a988407f91343f034">SVF::ICFG::getRetBlockNode</a></div><div class="ttdeci">RetICFGNode * getRetBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00222">ICFG.cpp:222</a></div></div>
|
|
1690
1692
|
<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>
|
|
1691
1693
|
<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="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
|
|
1692
|
-
<div class="ttc" id="
|
|
1694
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a12f78e9ce71a904975932e1784060050"><div class="ttname"><a href="classSVF_1_1ICFG.html#a12f78e9ce71a904975932e1784060050">SVF::ICFG::getFunExitICFGNode</a></div><div class="ttdeci">FunExitICFGNode * getFunExitICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Get/Add a function exit node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00219">ICFG.h:219</a></div></div>
|
|
1695
|
+
<div class="ttc" id="classSVF_1_1RetICFGNode_html"><div class="ttname"><a href="classSVF_1_1RetICFGNode.html">SVF::RetICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00459">ICFGNode.h:459</a></div></div>
|
|
1696
|
+
<div class="ttc" id="classSVF_1_1FunEntryICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunEntryICFGNode.html">SVF::FunEntryICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00251">ICFGNode.h:251</a></div></div>
|
|
1697
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a534625b10673efe5b0f344bfebf9b3cf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a534625b10673efe5b0f344bfebf9b3cf">SVF::ICFG::removeICFGEdge</a></div><div class="ttdeci">void removeICFGEdge(ICFGEdge *edge)</div><div class="ttdoc">Remove a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00116">ICFG.h:116</a></div></div>
|
|
1693
1698
|
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
|
|
1694
|
-
<div class="ttc" id="
|
|
1699
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_aa11226a2e4fa6a7b1d78006cc8ca0518"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">SVF::CallICFGNode::isIndirectCall</a></div><div class="ttdeci">bool isIndirectCall() const</div><div class="ttdoc">Return true if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00412">ICFGNode.h:412</a></div></div>
|
|
1695
1700
|
<div class="ttc" id="classSVF_1_1ICFG_html_a4a44849b596c89ab14d2e5f18366e848"><div class="ttname"><a href="classSVF_1_1ICFG.html#a4a44849b596c89ab14d2e5f18366e848">SVF::ICFG::addRetEdge</a></div><div class="ttdeci">ICFGEdge * addRetEdge(ICFGNode *srcNode, ICFGNode *dstNode, const Instruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00392">ICFG.cpp:392</a></div></div>
|
|
1696
|
-
<div class="ttc" id="
|
|
1697
|
-
<div class="ttc" id="
|
|
1698
|
-
<div class="ttc" id="
|
|
1699
|
-
<div class="ttc" id="
|
|
1700
|
-
<div class="ttc" id="
|
|
1701
|
-
<div class="ttc" id="
|
|
1701
|
+
<div class="ttc" id="classSVF_1_1ICFGEdge_html_a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">SVF::ICFGEdge::IntraCF</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00051">ICFGEdge.h:51</a></div></div>
|
|
1702
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a674753d5ca0fbe28674acb25291f2bcf"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a674753d5ca0fbe28674acb25291f2bcf">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
|
|
1703
|
+
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
|
|
1704
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_aa662baae5682ef6ec5084fa4147c9709"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">SVF::ICFG::hasIntraICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasIntraICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdoc">Whether we has a SVFG edge. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00263">ICFG.cpp:263</a></div></div>
|
|
1705
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a483e92e076a426ec8f177eab3b971723"><div class="ttname"><a href="classSVF_1_1ICFG.html#a483e92e076a426ec8f177eab3b971723">SVF::ICFG::getCallBlockNode</a></div><div class="ttdeci">CallICFGNode * getCallBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00209">ICFG.cpp:209</a></div></div>
|
|
1706
|
+
<div class="ttc" id="classSVF_1_1FunExitICFGNode_html"><div class="ttname"><a href="classSVF_1_1FunExitICFGNode.html">SVF::FunExitICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00308">ICFGNode.h:308</a></div></div>
|
|
1707
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_adafd8bbb91507a9a78a3f16305812afc"><div class="ttname"><a href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">SVF::ICFG::addIntraEdge</a></div><div class="ttdeci">ICFGEdge * addIntraEdge(ICFGNode *srcNode, ICFGNode *dstNode)</div><div class="ttdoc">Add control-flow edges for top level pointers. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00337">ICFG.cpp:337</a></div></div>
|
|
1708
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a11a2c1f54747069b924ee2870163dc05"><div class="ttname"><a href="classSVF_1_1ICFG.html#a11a2c1f54747069b924ee2870163dc05">SVF::ICFG::getFunEntryICFGNode</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryICFGNode(const SVFFunction *fun)</div><div class="ttdoc">Get/Add a function entry node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00203">ICFG.h:203</a></div></div>
|
|
1702
1709
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00063">LLVMUtil.h:63</a></div></div>
|
|
1703
1710
|
</div><!-- fragment -->
|
|
1704
1711
|
</div>
|
|
@@ -1761,7 +1768,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1761
1768
|
<td class="mlabels-left">
|
|
1762
1769
|
<table class="memname">
|
|
1763
1770
|
<tr>
|
|
1764
|
-
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#
|
|
1771
|
+
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#ac603cd3bb9c52c4261bba04e2c8ea193">CSToCallNodeMapTy</a> SVF::ICFG::CSToCallNodeMap</td>
|
|
1765
1772
|
</tr>
|
|
1766
1773
|
</table>
|
|
1767
1774
|
</td>
|
|
@@ -1771,7 +1778,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1771
1778
|
</table>
|
|
1772
1779
|
</div><div class="memdoc">
|
|
1773
1780
|
|
|
1774
|
-
<p>map a callsite to its <a class="el" href="
|
|
1781
|
+
<p>map a callsite to its <a class="el" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> </p>
|
|
1775
1782
|
|
|
1776
1783
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00069">69</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1777
1784
|
|
|
@@ -1787,7 +1794,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1787
1794
|
<td class="mlabels-left">
|
|
1788
1795
|
<table class="memname">
|
|
1789
1796
|
<tr>
|
|
1790
|
-
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#
|
|
1797
|
+
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#a8ca1b5e8478ffefed30d3dc138a67a8e">CSToRetNodeMapTy</a> SVF::ICFG::CSToRetNodeMap</td>
|
|
1791
1798
|
</tr>
|
|
1792
1799
|
</table>
|
|
1793
1800
|
</td>
|
|
@@ -1797,7 +1804,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1797
1804
|
</table>
|
|
1798
1805
|
</div><div class="memdoc">
|
|
1799
1806
|
|
|
1800
|
-
<p>map a callsite to its <a class="el" href="
|
|
1807
|
+
<p>map a callsite to its <a class="el" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a> </p>
|
|
1801
1808
|
|
|
1802
1809
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00070">70</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1803
1810
|
|
|
@@ -1813,7 +1820,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1813
1820
|
<td class="mlabels-left">
|
|
1814
1821
|
<table class="memname">
|
|
1815
1822
|
<tr>
|
|
1816
|
-
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#
|
|
1823
|
+
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#a44a95ca43a7b3148c1aee9ad5da6e9d1">FunToFunEntryNodeMapTy</a> SVF::ICFG::FunToFunEntryNodeMap</td>
|
|
1817
1824
|
</tr>
|
|
1818
1825
|
</table>
|
|
1819
1826
|
</td>
|
|
@@ -1823,7 +1830,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1823
1830
|
</table>
|
|
1824
1831
|
</div><div class="memdoc">
|
|
1825
1832
|
|
|
1826
|
-
<p>map a function to its <a class="el" href="
|
|
1833
|
+
<p>map a function to its <a class="el" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a> </p>
|
|
1827
1834
|
|
|
1828
1835
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00067">67</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1829
1836
|
|
|
@@ -1839,7 +1846,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1839
1846
|
<td class="mlabels-left">
|
|
1840
1847
|
<table class="memname">
|
|
1841
1848
|
<tr>
|
|
1842
|
-
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#
|
|
1849
|
+
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#a25f4e5330af9d3fba19ad70520b2ec7f">FunToFunExitNodeMapTy</a> SVF::ICFG::FunToFunExitNodeMap</td>
|
|
1843
1850
|
</tr>
|
|
1844
1851
|
</table>
|
|
1845
1852
|
</td>
|
|
@@ -1849,14 +1856,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1849
1856
|
</table>
|
|
1850
1857
|
</div><div class="memdoc">
|
|
1851
1858
|
|
|
1852
|
-
<p>map a function to its <a class="el" href="
|
|
1859
|
+
<p>map a function to its <a class="el" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a> </p>
|
|
1853
1860
|
|
|
1854
1861
|
<p class="definition">Definition at line <a class="el" href="ICFG_8h_source.html#l00068">68</a> of file <a class="el" href="ICFG_8h_source.html">ICFG.h</a>.</p>
|
|
1855
1862
|
|
|
1856
1863
|
</div>
|
|
1857
1864
|
</div>
|
|
1858
|
-
<a id="
|
|
1859
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1865
|
+
<a id="a8e43b27d4484a4acb575e4c1c6c8fd02"></a>
|
|
1866
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8e43b27d4484a4acb575e4c1c6c8fd02">◆ </a></span>globalBlockNode</h2>
|
|
1860
1867
|
|
|
1861
1868
|
<div class="memitem">
|
|
1862
1869
|
<div class="memproto">
|
|
@@ -1865,7 +1872,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1865
1872
|
<td class="mlabels-left">
|
|
1866
1873
|
<table class="memname">
|
|
1867
1874
|
<tr>
|
|
1868
|
-
<td class="memname"><a class="el" href="
|
|
1875
|
+
<td class="memname"><a class="el" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a>* SVF::ICFG::globalBlockNode</td>
|
|
1869
1876
|
</tr>
|
|
1870
1877
|
</table>
|
|
1871
1878
|
</td>
|
|
@@ -1891,7 +1898,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1891
1898
|
<td class="mlabels-left">
|
|
1892
1899
|
<table class="memname">
|
|
1893
1900
|
<tr>
|
|
1894
|
-
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#
|
|
1901
|
+
<td class="memname"><a class="el" href="classSVF_1_1ICFG.html#ab3e25c26fb0fef0fc41d7ba6a84be0af">InstToBlockNodeMapTy</a> SVF::ICFG::InstToBlockNodeMap</td>
|
|
1895
1902
|
</tr>
|
|
1896
1903
|
</table>
|
|
1897
1904
|
</td>
|