svf-tools 1.0.809 → 1.0.810
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/AccessPath_8cpp_source.html +2 -2
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +4 -4
- package/SVF-doxygen/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +6 -6
- package/SVF-doxygen/html/CFLAlias_8h_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +13 -13
- package/SVF-doxygen/html/CHG_8cpp.html +4 -4
- package/SVF-doxygen/html/CHG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/CallGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CxtStmt_8h_source.html +2 -2
- package/SVF-doxygen/html/DCHG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/ICFGBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/ICFGNode_8h_source.html +12 -12
- package/SVF-doxygen/html/ICFG_8cpp_source.html +550 -543
- package/SVF-doxygen/html/ICFG_8h_source.html +19 -19
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +1160 -1147
- package/SVF-doxygen/html/LLVMModule_8h_source.html +29 -29
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +1160 -1150
- package/SVF-doxygen/html/LLVMUtil_8h.html +3 -0
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +350 -347
- package/SVF-doxygen/html/LeakChecker_8cpp_source.html +3 -3
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +14 -14
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/MHP_8cpp_source.html +12 -12
- package/SVF-doxygen/html/MHP_8h_source.html +3 -3
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +10 -10
- package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +20 -20
- package/SVF-doxygen/html/MemSSA_8h_source.html +1 -1
- package/SVF-doxygen/html/PCG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/PCG_8h_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +14 -14
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFBugReport_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +17 -17
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +15 -15
- package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/SVFG_8h_source.html +4 -4
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +23 -23
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +8 -8
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFModule_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFUtil_8cpp_source.html +6 -6
- package/SVF-doxygen/html/SVFUtil_8h_source.html +6 -6
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +126 -117
- package/SVF-doxygen/html/SVFValue_8h_source.html +1010 -1002
- package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +14 -14
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +5 -5
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +4 -4
- package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
- package/SVF-doxygen/html/TCT_8cpp_source.html +14 -14
- package/SVF-doxygen/html/TCT_8h_source.html +7 -7
- package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +7 -7
- package/SVF-doxygen/html/ThreadAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +4 -4
- package/SVF-doxygen/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/VFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/VFG_8h_source.html +4 -4
- package/SVF-doxygen/html/WPAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1CHGraph.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +9 -9
- package/SVF-doxygen/html/classSVF_1_1CallCHI.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CallICFGNode.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1CallMU.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallSite.html +95 -95
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ExtAPI.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1FunEntryICFGNode.html +16 -16
- package/SVF-doxygen/html/classSVF_1_1FunExitICFGNode.html +28 -20
- package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GlobalICFGNode.html +9 -9
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +271 -271
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1ICFGEdge.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1ICFGNode.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +1075 -1061
- package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1MHP.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1MHPValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +10 -10
- package/SVF-doxygen/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAStat.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PCG.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RaceValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +9 -9
- package/SVF-doxygen/html/classSVF_1_1RetICFGNode.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFArgument.html +30 -30
- package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock-members.html +18 -17
- package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +162 -136
- package/SVF-doxygen/html/classSVF_1_1SVFBlackHoleValue.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1SVFBugEvent.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFCallInst.html +67 -67
- package/SVF-doxygen/html/classSVF_1_1SVFConstant.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1SVFConstantData.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFConstantFP.html +21 -21
- package/SVF-doxygen/html/classSVF_1_1SVFConstantInt.html +27 -27
- package/SVF-doxygen/html/classSVF_1_1SVFConstantNullPtr.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1SVFFunction-members.html +52 -50
- package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +236 -176
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFGlobalValue.html +33 -33
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +39 -39
- package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +57 -57
- package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFMetadataAsValue.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFOtherValue.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFVirtualCallInst.html +53 -53
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1TCT.html +15 -15
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VFG.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1WPAPass.html +2 -2
- package/SVF-doxygen/html/functions_b.html +3 -3
- package/SVF-doxygen/html/functions_e.html +3 -0
- package/SVF-doxygen/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_func_s.html +22 -19
- package/SVF-doxygen/html/functions_i.html +1 -1
- package/SVF-doxygen/html/functions_l.html +3 -3
- package/SVF-doxygen/html/functions_o.html +15 -15
- package/SVF-doxygen/html/functions_p.html +9 -9
- package/SVF-doxygen/html/functions_r.html +4 -6
- package/SVF-doxygen/html/functions_rela_s.html +3 -0
- package/SVF-doxygen/html/functions_s.html +26 -20
- package/SVF-doxygen/html/functions_t.html +4 -4
- package/SVF-doxygen/html/functions_v.html +3 -3
- package/SVF-doxygen/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/namespaceSVF.html +5 -5
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1199 -1165
- package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +5 -5
- package/SVF-doxygen/html/namespacemembers_b.html +4 -1
- package/SVF-doxygen/html/namespacemembers_func_b.html +4 -1
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +222 -222
- package/SVF-doxygen/html/search/all_12.js +544 -543
- package/SVF-doxygen/html/search/all_13.js +191 -191
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +169 -169
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_2.js +139 -138
- package/SVF-doxygen/html/search/all_3.js +642 -642
- package/SVF-doxygen/html/search/all_4.js +233 -233
- package/SVF-doxygen/html/search/all_5.js +119 -118
- package/SVF-doxygen/html/search/all_6.js +225 -225
- package/SVF-doxygen/html/search/all_7.js +1041 -1041
- package/SVF-doxygen/html/search/all_8.js +196 -196
- package/SVF-doxygen/html/search/all_9.js +613 -613
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +116 -116
- package/SVF-doxygen/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +80 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +21 -21
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +55 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/search/functions_1.js +360 -360
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +138 -138
- package/SVF-doxygen/html/search/functions_12.js +279 -278
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +87 -86
- package/SVF-doxygen/html/search/functions_3.js +257 -257
- package/SVF-doxygen/html/search/functions_4.js +75 -75
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +59 -59
- package/SVF-doxygen/html/search/functions_7.js +852 -852
- package/SVF-doxygen/html/search/functions_8.js +148 -148
- package/SVF-doxygen/html/search/functions_9.js +429 -429
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +26 -26
- package/SVF-doxygen/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/search/related_d.js +12 -11
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +61 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +34 -34
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +55 -55
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +44 -44
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/search/variables_5.js +37 -36
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +82 -82
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +7 -7
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +2 -2
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +2 -2
- package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/package.json +1 -1
- package/svf/include/SVFIR/SVFValue.h +13 -2
- package/svf/lib/Graphs/ICFG.cpp +10 -4
- package/svf/lib/SVFIR/SVFValue.cpp +8 -1
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +3 -0
- package/svf-llvm/lib/LLVMModule.cpp +11 -0
- package/svf-llvm/lib/LLVMUtil.cpp +17 -5
|
@@ -544,10 +544,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
544
544
|
<li>Build <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> 1) build <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> nodes statements for top level pointers (PAGEdges) 2) connect <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edges between two statements (PAGEdges) </li>
|
|
545
545
|
</ul>
|
|
546
546
|
|
|
547
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
548
|
-
<div class="fragment"><div class="line"><a name="
|
|
549
|
-
<div class="line"><a name="
|
|
550
|
-
<div class="line"><a name="
|
|
547
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00202">202</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
548
|
+
<div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  : <a class="code" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a>(0), <a class="code" href="classSVF_1_1ICFG.html#a8e43b27d4484a4acb575e4c1c6c8fd02">globalBlockNode</a>(<span class="keyword">nullptr</span>)</div>
|
|
549
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> {</div>
|
|
550
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> }</div>
|
|
551
551
|
</div><!-- fragment -->
|
|
552
552
|
</div>
|
|
553
553
|
</div>
|
|
@@ -576,23 +576,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
576
576
|
|
|
577
577
|
<p>Destructor. </p>
|
|
578
578
|
|
|
579
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
580
|
-
<div class="fragment"><div class="line"><a name="
|
|
581
|
-
<div class="line"><a name="
|
|
582
|
-
<div class="line"><a name="
|
|
583
|
-
<div class="line"><a name="
|
|
584
|
-
<div class="line"><a name="
|
|
585
|
-
<div class="line"><a name="
|
|
586
|
-
<div class="line"><a name="
|
|
587
|
-
<div class="line"><a name="
|
|
588
|
-
<div class="line"><a name="
|
|
589
|
-
<div class="line"><a name="
|
|
590
|
-
<div class="line"><a name="
|
|
591
|
-
<div class="line"><a name="
|
|
592
|
-
<div class="line"><a name="
|
|
593
|
-
<div class="line"><a name="
|
|
594
|
-
<div class="line"><a name="
|
|
595
|
-
<div class="line"><a name="
|
|
579
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00206">206</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
580
|
+
<div class="fragment"><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> {</div>
|
|
581
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const SVFLoop*></a> loops;</div>
|
|
582
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &it: <a class="code" href="classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54">icfgNodeToSVFLoopVec</a>)</div>
|
|
583
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div>
|
|
584
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &loop: it.second)</div>
|
|
585
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  {</div>
|
|
586
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  loops.insert(loop);</div>
|
|
587
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div>
|
|
588
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div>
|
|
589
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  </div>
|
|
590
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &it: loops)</div>
|
|
591
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div>
|
|
592
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keyword">delete</span> it;</div>
|
|
593
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div>
|
|
594
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <a class="code" href="classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54">icfgNodeToSVFLoopVec</a>.clear();</div>
|
|
595
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div>
|
|
596
596
|
</div><!-- fragment -->
|
|
597
597
|
</div>
|
|
598
598
|
</div>
|
|
@@ -674,20 +674,20 @@ Additional Inherited Members</h2></td></tr>
|
|
|
674
674
|
</div><div class="memdoc">
|
|
675
675
|
<p>Add interprocedural call edges between two nodes </p>
|
|
676
676
|
|
|
677
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
678
|
-
<div class="fragment"><div class="line"><a name="
|
|
679
|
-
<div class="line"><a name="
|
|
680
|
-
<div class="line"><a name="
|
|
681
|
-
<div class="line"><a name="
|
|
682
|
-
<div class="line"><a name="
|
|
683
|
-
<div class="line"><a name="
|
|
684
|
-
<div class="line"><a name="
|
|
685
|
-
<div class="line"><a name="
|
|
686
|
-
<div class="line"><a name="
|
|
687
|
-
<div class="line"><a name="
|
|
688
|
-
<div class="line"><a name="
|
|
689
|
-
<div class="line"><a name="
|
|
690
|
-
<div class="line"><a name="
|
|
677
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00410">410</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
678
|
+
<div class="fragment"><div class="line"><a name="l00411"></a><span class="lineno"> 411</span> {</div>
|
|
679
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(srcNode,dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e">ICFGEdge::CallCF</a>);</div>
|
|
680
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
|
|
681
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  {</div>
|
|
682
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  assert(edge-><a class="code" href="classSVF_1_1ICFGEdge.html#a2ecc0bc3bb3655bf3db3adb732747b49">isCallCFGEdge</a>() && <span class="stringliteral">"this should be a call CFG edge!"</span>);</div>
|
|
683
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
684
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  }</div>
|
|
685
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  <span class="keywordflow">else</span></div>
|
|
686
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  {</div>
|
|
687
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>* callEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1CallCFGEdge.html">CallCFGEdge</a>(srcNode,dstNode,cs);</div>
|
|
688
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(callEdge) ? callEdge : <span class="keyword">nullptr</span>);</div>
|
|
689
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  }</div>
|
|
690
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> }</div>
|
|
691
691
|
</div><!-- fragment -->
|
|
692
692
|
</div>
|
|
693
693
|
</div>
|
|
@@ -738,23 +738,23 @@ Additional Inherited Members</h2></td></tr>
|
|
|
738
738
|
</div><div class="memdoc">
|
|
739
739
|
<p>Add conditional intraprocedural edges between two nodes </p>
|
|
740
740
|
|
|
741
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
742
|
-
<div class="fragment"><div class="line"><a name="
|
|
743
|
-
<div class="line"><a name="
|
|
744
|
-
<div class="line"><a name="
|
|
745
|
-
<div class="line"><a name="
|
|
746
|
-
<div class="line"><a name="
|
|
747
|
-
<div class="line"><a name="
|
|
748
|
-
<div class="line"><a name="
|
|
749
|
-
<div class="line"><a name="
|
|
750
|
-
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }</div>
|
|
751
|
-
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">else</span></div>
|
|
752
|
-
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  {</div>
|
|
753
|
-
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
|
|
754
|
-
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  intraEdge-><a class="code" href="classSVF_1_1IntraCFGEdge.html#ad7b35b7c9abb07122eaa8517dae56508">setBranchCondition</a>(condition,branchCondVal);</div>
|
|
755
|
-
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
|
|
741
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00388">388</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
742
|
+
<div class="fragment"><div class="line"><a name="l00389"></a><span class="lineno"> 389</span> {</div>
|
|
743
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  </div>
|
|
744
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(srcNode, dstNode);</div>
|
|
745
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>);</div>
|
|
746
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
|
|
747
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  {</div>
|
|
748
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  assert(edge-><a class="code" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() && <span class="stringliteral">"this should be an intra CFG edge!"</span>);</div>
|
|
749
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
756
750
|
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  }</div>
|
|
757
|
-
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> 
|
|
751
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">else</span></div>
|
|
752
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  {</div>
|
|
753
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
|
|
754
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  intraEdge-><a class="code" href="classSVF_1_1IntraCFGEdge.html#ad7b35b7c9abb07122eaa8517dae56508">setBranchCondition</a>(condition,branchCondVal);</div>
|
|
755
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
|
|
756
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div>
|
|
757
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
|
|
758
758
|
</div><!-- fragment -->
|
|
759
759
|
</div>
|
|
760
760
|
</div>
|
|
@@ -998,21 +998,21 @@ Additional Inherited Members</h2></td></tr>
|
|
|
998
998
|
<p>Add control-flow edges for top level pointers. </p>
|
|
999
999
|
<p>Add intraprocedural edges between two nodes </p>
|
|
1000
1000
|
|
|
1001
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1002
|
-
<div class="fragment"><div class="line"><a name="
|
|
1003
|
-
<div class="line"><a name="
|
|
1004
|
-
<div class="line"><a name="
|
|
1005
|
-
<div class="line"><a name="
|
|
1006
|
-
<div class="line"><a name="
|
|
1007
|
-
<div class="line"><a name="
|
|
1008
|
-
<div class="line"><a name="
|
|
1009
|
-
<div class="line"><a name="
|
|
1010
|
-
<div class="line"><a name="
|
|
1011
|
-
<div class="line"><a name="
|
|
1012
|
-
<div class="line"><a name="
|
|
1013
|
-
<div class="line"><a name="
|
|
1014
|
-
<div class="line"><a name="
|
|
1015
|
-
<div class="line"><a name="
|
|
1001
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00369">369</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1002
|
+
<div class="fragment"><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> {</div>
|
|
1003
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <a class="code" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(srcNode, dstNode);</div>
|
|
1004
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429acb8fba7c61b08ec952f1b65643d7a84b">ICFGEdge::IntraCF</a>);</div>
|
|
1005
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
|
|
1006
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div>
|
|
1007
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  assert(edge-><a class="code" href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">isIntraCFGEdge</a>() && <span class="stringliteral">"this should be an intra CFG edge!"</span>);</div>
|
|
1008
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
1009
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  }</div>
|
|
1010
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">else</span></div>
|
|
1011
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  {</div>
|
|
1012
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>* intraEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1IntraCFGEdge.html">IntraCFGEdge</a>(srcNode,dstNode);</div>
|
|
1013
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(intraEdge) ? intraEdge : <span class="keyword">nullptr</span>);</div>
|
|
1014
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div>
|
|
1015
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div>
|
|
1016
1016
|
</div><!-- fragment -->
|
|
1017
1017
|
</div>
|
|
1018
1018
|
</div>
|
|
@@ -1136,20 +1136,20 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1136
1136
|
</div><div class="memdoc">
|
|
1137
1137
|
<p>Add interprocedural return edges between two nodes </p>
|
|
1138
1138
|
|
|
1139
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1140
|
-
<div class="fragment"><div class="line"><a name="
|
|
1141
|
-
<div class="line"><a name="
|
|
1142
|
-
<div class="line"><a name="
|
|
1143
|
-
<div class="line"><a name="
|
|
1144
|
-
<div class="line"><a name="
|
|
1145
|
-
<div class="line"><a name="
|
|
1146
|
-
<div class="line"><a name="
|
|
1147
|
-
<div class="line"><a name="
|
|
1148
|
-
<div class="line"><a name="
|
|
1149
|
-
<div class="line"><a name="
|
|
1150
|
-
<div class="line"><a name="
|
|
1151
|
-
<div class="line"><a name="
|
|
1152
|
-
<div class="line"><a name="
|
|
1139
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00428">428</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1140
|
+
<div class="fragment"><div class="line"><a name="l00429"></a><span class="lineno"> 429</span> {</div>
|
|
1141
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = <a class="code" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(srcNode, dstNode, <a class="code" href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429ad2370a77f6cc112b8c26efbcc36bf541">ICFGEdge::RetCF</a>);</div>
|
|
1142
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">if</span> (edge != <span class="keyword">nullptr</span>)</div>
|
|
1143
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  {</div>
|
|
1144
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  assert(edge-><a class="code" href="classSVF_1_1ICFGEdge.html#ae3e7a6596de9fd3a25a28242a06ddd80">isRetCFGEdge</a>() && <span class="stringliteral">"this should be a return CFG edge!"</span>);</div>
|
|
1145
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
1146
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div>
|
|
1147
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">else</span></div>
|
|
1148
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div>
|
|
1149
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>* retEdge = <span class="keyword">new</span> <a class="code" href="classSVF_1_1RetCFGEdge.html">RetCFGEdge</a>(srcNode,dstNode,cs);</div>
|
|
1150
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(retEdge) ? retEdge : <span class="keyword">nullptr</span>);</div>
|
|
1151
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  }</div>
|
|
1152
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> }</div>
|
|
1153
1153
|
</div><!-- fragment -->
|
|
1154
1154
|
</div>
|
|
1155
1155
|
</div>
|
|
@@ -1230,10 +1230,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1230
1230
|
<p>Dump graph into dot file. </p>
|
|
1231
1231
|
<p>Dump <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> </p>
|
|
1232
1232
|
|
|
1233
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1234
|
-
<div class="fragment"><div class="line"><a name="
|
|
1235
|
-
<div class="line"><a name="
|
|
1236
|
-
<div class="line"><a name="
|
|
1233
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00447">447</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1234
|
+
<div class="fragment"><div class="line"><a name="l00448"></a><span class="lineno"> 448</span> {</div>
|
|
1235
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">GraphPrinter::WriteGraphToFile</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>(), file, <span class="keyword">this</span>, simple);</div>
|
|
1236
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> }</div>
|
|
1237
1237
|
</div><!-- fragment -->
|
|
1238
1238
|
</div>
|
|
1239
1239
|
</div>
|
|
@@ -1287,18 +1287,18 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1287
1287
|
</table>
|
|
1288
1288
|
</div><div class="memdoc">
|
|
1289
1289
|
|
|
1290
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1291
|
-
<div class="fragment"><div class="line"><a name="
|
|
1292
|
-
<div class="line"><a name="
|
|
1293
|
-
<div class="line"><a name="
|
|
1294
|
-
<div class="line"><a name="
|
|
1295
|
-
<div class="line"><a name="
|
|
1296
|
-
<div class="line"><a name="
|
|
1297
|
-
<div class="line"><a name="
|
|
1298
|
-
<div class="line"><a name="
|
|
1299
|
-
<div class="line"><a name="
|
|
1300
|
-
<div class="line"><a name="
|
|
1301
|
-
<div class="line"><a name="
|
|
1290
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00241">241</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1291
|
+
<div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div>
|
|
1292
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) ==<span class="keyword">false</span>)</div>
|
|
1293
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << inst-><a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
1294
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) && <span class="stringliteral">"not a call instruction?"</span>);</div>
|
|
1295
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst) && <span class="stringliteral">"associating an intrinsic debug instruction with an ICFGNode!"</span>);</div>
|
|
1296
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a1490b28446b9d8efee567ec02e2abcf3">getCallBlock</a>(inst);</div>
|
|
1297
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
|
|
1298
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  node = <a class="code" href="classSVF_1_1ICFG.html#ac51c8f38efbd2576e150a9fc26a4a41b">addCallBlock</a>(inst);</div>
|
|
1299
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  assert (node!=<span class="keyword">nullptr</span> && <span class="stringliteral">"no CallICFGNode for this instruction?"</span>);</div>
|
|
1300
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keywordflow">return</span> node;</div>
|
|
1301
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> }</div>
|
|
1302
1302
|
</div><!-- fragment -->
|
|
1303
1303
|
</div>
|
|
1304
1304
|
</div>
|
|
@@ -1356,14 +1356,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1356
1356
|
|
|
1357
1357
|
<p>Add a function entry node. </p>
|
|
1358
1358
|
|
|
1359
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1360
|
-
<div class="fragment"><div class="line"><a name="
|
|
1361
|
-
<div class="line"><a name="
|
|
1362
|
-
<div class="line"><a name="
|
|
1363
|
-
<div class="line"><a name="
|
|
1364
|
-
<div class="line"><a name="
|
|
1365
|
-
<div class="line"><a name="
|
|
1366
|
-
<div class="line"><a name="
|
|
1359
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00274">274</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1360
|
+
<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> {</div>
|
|
1361
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> = <a class="code" href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">getFunEntryBlock</a>(fun);</div>
|
|
1362
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> == <span class="keyword">nullptr</span>)</div>
|
|
1363
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a1af9ae1c2efb4cb7897d5234d035c06b">addFunEntryBlock</a>(fun);</div>
|
|
1364
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">else</span></div>
|
|
1365
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>;</div>
|
|
1366
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div>
|
|
1367
1367
|
</div><!-- fragment -->
|
|
1368
1368
|
</div>
|
|
1369
1369
|
</div>
|
|
@@ -1421,14 +1421,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1421
1421
|
|
|
1422
1422
|
<p>Add a function exit node. </p>
|
|
1423
1423
|
|
|
1424
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1425
|
-
<div class="fragment"><div class="line"><a name="
|
|
1426
|
-
<div class="line"><a name="
|
|
1427
|
-
<div class="line"><a name="
|
|
1428
|
-
<div class="line"><a name="
|
|
1429
|
-
<div class="line"><a name="
|
|
1430
|
-
<div class="line"><a name="
|
|
1431
|
-
<div class="line"><a name="
|
|
1424
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00283">283</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1425
|
+
<div class="fragment"><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> {</div>
|
|
1426
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> = <a class="code" href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">getFunExitBlock</a>(fun);</div>
|
|
1427
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a> == <span class="keyword">nullptr</span>)</div>
|
|
1428
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1ICFG.html#a6b716225b38638d6a34703995b749ad2">addFunExitBlock</a>(fun);</div>
|
|
1429
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">else</span></div>
|
|
1430
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">return</span> <a class="code" href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a>;</div>
|
|
1431
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> }</div>
|
|
1432
1432
|
</div><!-- fragment -->
|
|
1433
1433
|
</div>
|
|
1434
1434
|
</div>
|
|
@@ -1497,24 +1497,24 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1497
1497
|
<p>Get a <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> edge according to src and dst. </p>
|
|
1498
1498
|
<p>Return the corresponding <a class="el" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> </p>
|
|
1499
1499
|
|
|
1500
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1501
|
-
<div class="fragment"><div class="line"><a name="
|
|
1502
|
-
<div class="line"><a name="
|
|
1503
|
-
<div class="line"><a name="
|
|
1504
|
-
<div class="line"><a name="
|
|
1505
|
-
<div class="line"><a name="
|
|
1506
|
-
<div class="line"><a name="
|
|
1507
|
-
<div class="line"><a name="
|
|
1508
|
-
<div class="line"><a name="
|
|
1509
|
-
<div class="line"><a name="
|
|
1510
|
-
<div class="line"><a name="
|
|
1511
|
-
<div class="line"><a name="
|
|
1512
|
-
<div class="line"><a name="
|
|
1513
|
-
<div class="line"><a name="
|
|
1514
|
-
<div class="line"><a name="
|
|
1515
|
-
<div class="line"><a name="
|
|
1516
|
-
<div class="line"><a name="
|
|
1517
|
-
<div class="line"><a name="
|
|
1500
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00347">347</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1501
|
+
<div class="fragment"><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> {</div>
|
|
1502
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  </div>
|
|
1503
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> * edge = <span class="keyword">nullptr</span>;</div>
|
|
1504
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> counter = 0;</div>
|
|
1505
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">for</span> (ICFGEdge::ICFGEdgeSetTy::iterator iter = src-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>();</div>
|
|
1506
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  iter != src-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); ++iter)</div>
|
|
1507
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div>
|
|
1508
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">if</span> ((*iter)->getDstID() == dst-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>() && (*iter)->getEdgeKind() == kind)</div>
|
|
1509
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  {</div>
|
|
1510
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  counter++;</div>
|
|
1511
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  edge = (*iter);</div>
|
|
1512
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  }</div>
|
|
1513
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div>
|
|
1514
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  assert(counter <= 1 && <span class="stringliteral">"there's more than one edge between two ICFG nodes"</span>);</div>
|
|
1515
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> edge;</div>
|
|
1516
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  </div>
|
|
1517
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> }</div>
|
|
1518
1518
|
</div><!-- fragment -->
|
|
1519
1519
|
</div>
|
|
1520
1520
|
</div>
|
|
@@ -1537,20 +1537,20 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1537
1537
|
<p>Get a basic block <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>. </p>
|
|
1538
1538
|
<p>Get a basic block <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> TODO:: need to fix the assertions </p>
|
|
1539
1539
|
|
|
1540
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1541
|
-
<div class="fragment"><div class="line"><a name="
|
|
1542
|
-
<div class="line"><a name="
|
|
1543
|
-
<div class="line"><a name="
|
|
1544
|
-
<div class="line"><a name="
|
|
1545
|
-
<div class="line"><a name="
|
|
1546
|
-
<div class="line"><a name="
|
|
1547
|
-
<div class="line"><a name="
|
|
1548
|
-
<div class="line"><a name="
|
|
1549
|
-
<div class="line"><a name="
|
|
1550
|
-
<div class="line"><a name="
|
|
1551
|
-
<div class="line"><a name="
|
|
1552
|
-
<div class="line"><a name="
|
|
1553
|
-
<div class="line"><a name="
|
|
1540
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00225">225</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1541
|
+
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div>
|
|
1542
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* node;</div>
|
|
1543
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst))</div>
|
|
1544
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  node = <a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(inst);</div>
|
|
1545
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#abb2bbf6e0dc5adae2140a519259e6f17">SVFUtil::isIntrinsicInst</a>(inst))</div>
|
|
1546
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  node = <a class="code" href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">getIntraICFGNode</a>(inst);</div>
|
|
1547
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="comment">// assert (false && "associating an intrinsic instruction with an ICFGNode!");</span></div>
|
|
1548
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">else</span></div>
|
|
1549
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  node = <a class="code" href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">getIntraICFGNode</a>(inst);</div>
|
|
1550
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  </div>
|
|
1551
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  assert (node!=<span class="keyword">nullptr</span> && <span class="stringliteral">"no ICFGNode for this instruction?"</span>);</div>
|
|
1552
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">return</span> node;</div>
|
|
1553
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> }</div>
|
|
1554
1554
|
</div><!-- fragment -->
|
|
1555
1555
|
</div>
|
|
1556
1556
|
</div>
|
|
@@ -1669,13 +1669,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1669
1669
|
</table>
|
|
1670
1670
|
</div><div class="memdoc">
|
|
1671
1671
|
|
|
1672
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1673
|
-
<div class="fragment"><div class="line"><a name="
|
|
1674
|
-
<div class="line"><a name="
|
|
1675
|
-
<div class="line"><a name="
|
|
1676
|
-
<div class="line"><a name="
|
|
1677
|
-
<div class="line"><a name="
|
|
1678
|
-
<div class="line"><a name="
|
|
1672
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00265">265</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1673
|
+
<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div>
|
|
1674
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1IntraICFGNode.html">IntraICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#afeee2b61f8a84e1276f8955c4f6cf22d">getIntraBlock</a>(inst);</div>
|
|
1675
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
|
|
1676
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  node = <a class="code" href="classSVF_1_1ICFG.html#ad0183e8975e7190a121d8cb2aeec3d94">addIntraBlock</a>(inst);</div>
|
|
1677
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordflow">return</span> node;</div>
|
|
1678
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> }</div>
|
|
1679
1679
|
</div><!-- fragment -->
|
|
1680
1680
|
</div>
|
|
1681
1681
|
</div>
|
|
@@ -1731,16 +1731,16 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1731
1731
|
</table>
|
|
1732
1732
|
</div><div class="memdoc">
|
|
1733
1733
|
|
|
1734
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1735
|
-
<div class="fragment"><div class="line"><a name="
|
|
1736
|
-
<div class="line"><a name="
|
|
1737
|
-
<div class="line"><a name="
|
|
1738
|
-
<div class="line"><a name="
|
|
1739
|
-
<div class="line"><a name="
|
|
1740
|
-
<div class="line"><a name="
|
|
1741
|
-
<div class="line"><a name="
|
|
1742
|
-
<div class="line"><a name="
|
|
1743
|
-
<div class="line"><a name="
|
|
1734
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00254">254</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1735
|
+
<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
|
|
1736
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVFUtil::isCallSite</a>(inst) && <span class="stringliteral">"not a call instruction?"</span>);</div>
|
|
1737
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  assert(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a4af4db2fe43846609d2ed1d7022b1be1">SVFUtil::isNonInstricCallSite</a>(inst) && <span class="stringliteral">"associating an intrinsic debug instruction with an ICFGNode!"</span>);</div>
|
|
1738
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* node = <a class="code" href="classSVF_1_1ICFG.html#a5ad71237256b2a8ce94a7d79a84afe55">getRetBlock</a>(inst);</div>
|
|
1739
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">if</span>(node==<span class="keyword">nullptr</span>)</div>
|
|
1740
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  node = <a class="code" href="classSVF_1_1ICFG.html#ac58aa82eb74616a6608ff51d92f5baf6">addRetBlock</a>(inst);</div>
|
|
1741
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  assert (node!=<span class="keyword">nullptr</span> && <span class="stringliteral">"no RetICFGNode for this instruction?"</span>);</div>
|
|
1742
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> node;</div>
|
|
1743
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
|
|
1744
1744
|
</div><!-- fragment -->
|
|
1745
1745
|
</div>
|
|
1746
1746
|
</div>
|
|
@@ -1845,19 +1845,19 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1845
1845
|
</div><div class="memdoc">
|
|
1846
1846
|
<p>Whether we has an inter <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edge </p>
|
|
1847
1847
|
|
|
1848
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1849
|
-
<div class="fragment"><div class="line"><a name="
|
|
1850
|
-
<div class="line"><a name="
|
|
1851
|
-
<div class="line"><a name="
|
|
1852
|
-
<div class="line"><a name="
|
|
1853
|
-
<div class="line"><a name="
|
|
1854
|
-
<div class="line"><a name="
|
|
1855
|
-
<div class="line"><a name="
|
|
1856
|
-
<div class="line"><a name="
|
|
1857
|
-
<div class="line"><a name="
|
|
1858
|
-
<div class="line"><a name="
|
|
1859
|
-
<div class="line"><a name="
|
|
1860
|
-
<div class="line"><a name="
|
|
1848
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00312">312</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1849
|
+
<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> {</div>
|
|
1850
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst, kind);</div>
|
|
1851
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-><a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&edge);</div>
|
|
1852
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-><a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&edge);</div>
|
|
1853
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">if</span> (outEdge && inEdge)</div>
|
|
1854
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  {</div>
|
|
1855
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  assert(outEdge == inEdge && <span class="stringliteral">"edges not match"</span>);</div>
|
|
1856
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> outEdge;</div>
|
|
1857
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div>
|
|
1858
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">else</span></div>
|
|
1859
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
1860
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> }</div>
|
|
1861
1861
|
</div><!-- fragment -->
|
|
1862
1862
|
</div>
|
|
1863
1863
|
</div>
|
|
@@ -1896,19 +1896,19 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1896
1896
|
<p>Whether we has a <a class="el" href="classSVF_1_1SVFG.html">SVFG</a> edge. </p>
|
|
1897
1897
|
<p>Whether we has an intra <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edge </p>
|
|
1898
1898
|
|
|
1899
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1900
|
-
<div class="fragment"><div class="line"><a name="
|
|
1901
|
-
<div class="line"><a name="
|
|
1902
|
-
<div class="line"><a name="
|
|
1903
|
-
<div class="line"><a name="
|
|
1904
|
-
<div class="line"><a name="
|
|
1905
|
-
<div class="line"><a name="
|
|
1906
|
-
<div class="line"><a name="
|
|
1907
|
-
<div class="line"><a name="
|
|
1908
|
-
<div class="line"><a name="
|
|
1909
|
-
<div class="line"><a name="
|
|
1910
|
-
<div class="line"><a name="
|
|
1911
|
-
<div class="line"><a name="
|
|
1899
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00295">295</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1900
|
+
<div class="fragment"><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> {</div>
|
|
1901
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst,kind);</div>
|
|
1902
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-><a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&edge);</div>
|
|
1903
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-><a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&edge);</div>
|
|
1904
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">if</span> (outEdge && inEdge)</div>
|
|
1905
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div>
|
|
1906
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  assert(outEdge == inEdge && <span class="stringliteral">"edges not match"</span>);</div>
|
|
1907
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> outEdge;</div>
|
|
1908
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div>
|
|
1909
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">else</span></div>
|
|
1910
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
1911
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> }</div>
|
|
1912
1912
|
</div><!-- fragment -->
|
|
1913
1913
|
</div>
|
|
1914
1914
|
</div>
|
|
@@ -1945,19 +1945,19 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1945
1945
|
</div><div class="memdoc">
|
|
1946
1946
|
<p>Whether we has an thread <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> edge </p>
|
|
1947
1947
|
|
|
1948
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
1949
|
-
<div class="fragment"><div class="line"><a name="
|
|
1950
|
-
<div class="line"><a name="
|
|
1951
|
-
<div class="line"><a name="
|
|
1952
|
-
<div class="line"><a name="
|
|
1953
|
-
<div class="line"><a name="
|
|
1954
|
-
<div class="line"><a name="
|
|
1955
|
-
<div class="line"><a name="
|
|
1956
|
-
<div class="line"><a name="
|
|
1957
|
-
<div class="line"><a name="
|
|
1958
|
-
<div class="line"><a name="
|
|
1959
|
-
<div class="line"><a name="
|
|
1960
|
-
<div class="line"><a name="
|
|
1948
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00329">329</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
1949
|
+
<div class="fragment"><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> {</div>
|
|
1950
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a> edge(src,dst,kind);</div>
|
|
1951
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* outEdge = src-><a class="code" href="classSVF_1_1GenericNode.html#a0931220d7a38e03f206cbdc6465d32ad">hasOutgoingEdge</a>(&edge);</div>
|
|
1952
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* inEdge = dst-><a class="code" href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">hasIncomingEdge</a>(&edge);</div>
|
|
1953
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">if</span> (outEdge && inEdge)</div>
|
|
1954
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  {</div>
|
|
1955
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  assert(outEdge == inEdge && <span class="stringliteral">"edges not match"</span>);</div>
|
|
1956
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">return</span> outEdge;</div>
|
|
1957
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div>
|
|
1958
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">else</span></div>
|
|
1959
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
|
|
1960
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> }</div>
|
|
1961
1961
|
</div><!-- fragment -->
|
|
1962
1962
|
</div>
|
|
1963
1963
|
</div>
|
|
@@ -2117,62 +2117,62 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2117
2117
|
<p>if this is an external function (no function body), connect calleeEntryNode to calleeExitNode</p>
|
|
2118
2118
|
<p>Remove callBlockNode to retBlockNode intraICFGEdge since we found at least one inter procedural edge</p>
|
|
2119
2119
|
|
|
2120
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
2121
|
-
<div class="fragment"><div class="line"><a name="
|
|
2122
|
-
<div class="line"><a name="
|
|
2123
|
-
<div class="line"><a name="
|
|
2124
|
-
<div class="line"><a name="
|
|
2125
|
-
<div class="line"><a name="
|
|
2126
|
-
<div class="line"><a name="
|
|
2127
|
-
<div class="line"><a name="
|
|
2128
|
-
<div class="line"><a name="
|
|
2129
|
-
<div class="line"><a name="
|
|
2130
|
-
<div class="line"><a name="
|
|
2131
|
-
<div class="line"><a name="
|
|
2132
|
-
<div class="line"><a name="
|
|
2133
|
-
<div class="line"><a name="
|
|
2134
|
-
<div class="line"><a name="
|
|
2135
|
-
<div class="line"><a name="
|
|
2136
|
-
<div class="line"><a name="
|
|
2137
|
-
<div class="line"><a name="
|
|
2138
|
-
<div class="line"><a name="
|
|
2139
|
-
<div class="line"><a name="
|
|
2140
|
-
<div class="line"><a name="
|
|
2141
|
-
<div class="line"><a name="
|
|
2142
|
-
<div class="line"><a name="
|
|
2143
|
-
<div class="line"><a name="
|
|
2144
|
-
<div class="line"><a name="
|
|
2145
|
-
<div class="line"><a name="
|
|
2146
|
-
<div class="line"><a name="
|
|
2147
|
-
<div class="line"><a name="
|
|
2148
|
-
<div class="line"><a name="
|
|
2149
|
-
<div class="line"><a name="
|
|
2150
|
-
<div class="line"><a name="
|
|
2151
|
-
<div class="line"><a name="
|
|
2152
|
-
<div class="line"><a name="
|
|
2153
|
-
<div class="line"><a name="
|
|
2154
|
-
<div class="line"><a name="
|
|
2155
|
-
<div class="line"><a name="
|
|
2156
|
-
<div class="line"><a name="
|
|
2157
|
-
<div class="line"><a name="
|
|
2158
|
-
<div class="line"><a name="
|
|
2159
|
-
<div class="line"><a name="
|
|
2160
|
-
<div class="line"><a name="
|
|
2161
|
-
<div class="line"><a name="
|
|
2162
|
-
<div class="line"><a name="
|
|
2163
|
-
<div class="line"><a name="
|
|
2164
|
-
<div class="line"><a name="
|
|
2165
|
-
<div class="line"><a name="
|
|
2166
|
-
<div class="line"><a name="
|
|
2167
|
-
<div class="line"><a name="
|
|
2168
|
-
<div class="line"><a name="
|
|
2169
|
-
<div class="line"><a name="
|
|
2170
|
-
<div class="line"><a name="
|
|
2171
|
-
<div class="line"><a name="
|
|
2172
|
-
<div class="line"><a name="
|
|
2173
|
-
<div class="line"><a name="
|
|
2174
|
-
<div class="line"><a name="
|
|
2175
|
-
<div class="line"><a name="
|
|
2120
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00463">463</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
2121
|
+
<div class="fragment"><div class="line"><a name="l00464"></a><span class="lineno"> 464</span> {</div>
|
|
2122
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  PTACallGraph::CallEdgeMap::const_iterator iter = callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().begin();</div>
|
|
2123
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  PTACallGraph::CallEdgeMap::const_iterator eiter = callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">getIndCallMap</a>().end();</div>
|
|
2124
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">for</span> (; iter != eiter; iter++)</div>
|
|
2125
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  {</div>
|
|
2126
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlock = iter->first;</div>
|
|
2127
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* cs = callBlock-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>();</div>
|
|
2128
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  assert(callBlock-><a class="code" href="classSVF_1_1CallICFGNode.html#aa11226a2e4fa6a7b1d78006cc8ca0518">isIndirectCall</a>() && <span class="stringliteral">"this is not an indirect call?"</span>);</div>
|
|
2129
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> & functions = iter->second;</div>
|
|
2130
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">for</span> (PTACallGraph::FunctionSet::const_iterator func_iter = functions.begin(); func_iter != functions.end(); func_iter++)</div>
|
|
2131
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  {</div>
|
|
2132
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = *func_iter;</div>
|
|
2133
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = <a class="code" href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">getCallICFGNode</a>(cs);</div>
|
|
2134
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <a class="code" href="classSVF_1_1RetICFGNode.html">RetICFGNode</a>* retBlockNode = <a class="code" href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">getRetICFGNode</a>(cs);</div>
|
|
2135
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(callee))</div>
|
|
2136
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">addIntraEdge</a>(callBlockNode, retBlockNode);</div>
|
|
2137
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">else</span></div>
|
|
2138
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  {</div>
|
|
2139
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="code" href="classSVF_1_1FunEntryICFGNode.html">FunEntryICFGNode</a>* calleeEntryNode = <a class="code" href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">getFunEntryBlock</a>(callee);</div>
|
|
2140
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="classSVF_1_1FunExitICFGNode.html">FunExitICFGNode</a>* calleeExitNode = <a class="code" href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">getFunExitBlock</a>(callee);</div>
|
|
2141
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* callEdge = <a class="code" href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">addCallEdge</a>(callBlockNode, calleeEntryNode, cs))</div>
|
|
2142
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  {</div>
|
|
2143
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt : callBlockNode-><a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
|
|
2144
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  {</div>
|
|
2145
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallPE.html">CallPE</a> *callPE = SVFUtil::dyn_cast<CallPE>(stmt))</div>
|
|
2146
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  {</div>
|
|
2147
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">if</span>(callPE->getFunEntryICFGNode() == calleeEntryNode)</div>
|
|
2148
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  SVFUtil::cast<CallCFGEdge>(callEdge)->addCallPE(callPE);</div>
|
|
2149
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  }</div>
|
|
2150
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  }</div>
|
|
2151
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  }</div>
|
|
2152
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* retEdge = <a class="code" href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">addRetEdge</a>(calleeExitNode, retBlockNode, cs))</div>
|
|
2153
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  {</div>
|
|
2154
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt : retBlockNode-><a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
|
|
2155
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  {</div>
|
|
2156
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetPE.html">RetPE</a> *retPE = SVFUtil::dyn_cast<RetPE>(stmt))</div>
|
|
2157
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  {</div>
|
|
2158
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">if</span>(retPE->getFunExitICFGNode() == calleeExitNode)</div>
|
|
2159
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  SVFUtil::cast<RetCFGEdge>(retEdge)->addRetPE(retPE);</div>
|
|
2160
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  }</div>
|
|
2161
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  }</div>
|
|
2162
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div>
|
|
2163
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  </div>
|
|
2164
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</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>
|
|
2165
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="code" href="classSVF_1_1ICFG.html#a534625b10673efe5b0f344bfebf9b3cf">removeICFGEdge</a>(edge);</div>
|
|
2166
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  }</div>
|
|
2167
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  </div>
|
|
2168
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  }</div>
|
|
2169
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  }</div>
|
|
2170
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="comment">// dump ICFG</span></div>
|
|
2171
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#ae7ccfb3d1308e205e5014849dcc43d9a">Options::DumpICFG</a>())</div>
|
|
2172
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  {</div>
|
|
2173
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">"icfg_final"</span>);</div>
|
|
2174
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  }</div>
|
|
2175
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div>
|
|
2176
2176
|
</div><!-- fragment -->
|
|
2177
2177
|
</div>
|
|
2178
2178
|
</div>
|
|
@@ -2194,10 +2194,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2194
2194
|
<p>View graph from the debugger. </p>
|
|
2195
2195
|
<p>View <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> </p>
|
|
2196
2196
|
|
|
2197
|
-
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#
|
|
2198
|
-
<div class="fragment"><div class="line"><a name="
|
|
2199
|
-
<div class="line"><a name="
|
|
2200
|
-
<div class="line"><a name="
|
|
2197
|
+
<p class="definition">Definition at line <a class="el" href="ICFG_8cpp_source.html#l00455">455</a> of file <a class="el" href="ICFG_8cpp_source.html">ICFG.cpp</a>.</p>
|
|
2198
|
+
<div class="fragment"><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> {</div>
|
|
2199
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <a class="code" href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a>(<span class="keyword">this</span>, <span class="stringliteral">"Interprocedural Control-Flow Graph"</span>);</div>
|
|
2200
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> }</div>
|
|
2201
2201
|
</div><!-- fragment -->
|
|
2202
2202
|
</div>
|
|
2203
2203
|
</div>
|
|
@@ -2501,9 +2501,9 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2501
2501
|
<div class="ttc" id="aclassSVF_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>
|
|
2502
2502
|
<div class="ttc" id="aclassSVF_1_1RetCFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetCFGEdge.html">SVF::RetCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00227">ICFGEdge.h:227</a></div></div>
|
|
2503
2503
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_acc261924103bd0c357acd3acfa6cf38a"><div class="ttname"><a href="classSVF_1_1ICFG.html#acc261924103bd0c357acd3acfa6cf38a">SVF::ICFG::getFunEntryBlock</a></div><div class="ttdeci">FunEntryICFGNode * getFunEntryBlock(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#l00245">ICFG.h:245</a></div></div>
|
|
2504
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_aa41516cdd2be5066adf22798a4fe2213"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2505
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_a2ad6c1e49cc847df18342cbbe6224863"><div class="ttname"><a href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">SVF::ICFG::addCallEdge</a></div><div class="ttdeci">ICFGEdge * addCallEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2506
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_a881fe977f3a6fde223bd786121e35fcf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2504
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_aa41516cdd2be5066adf22798a4fe2213"><div class="ttname"><a href="classSVF_1_1ICFG.html#aa41516cdd2be5066adf22798a4fe2213">SVF::ICFG::getCallICFGNode</a></div><div class="ttdeci">CallICFGNode * getCallICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00241">ICFG.cpp:241</a></div></div>
|
|
2505
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_a2ad6c1e49cc847df18342cbbe6224863"><div class="ttname"><a href="classSVF_1_1ICFG.html#a2ad6c1e49cc847df18342cbbe6224863">SVF::ICFG::addCallEdge</a></div><div class="ttdeci">ICFGEdge * addCallEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00410">ICFG.cpp:410</a></div></div>
|
|
2506
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_a881fe977f3a6fde223bd786121e35fcf"><div class="ttname"><a href="classSVF_1_1ICFG.html#a881fe977f3a6fde223bd786121e35fcf">SVF::ICFG::getRetICFGNode</a></div><div class="ttdeci">RetICFGNode * getRetICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00254">ICFG.cpp:254</a></div></div>
|
|
2507
2507
|
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00546">SVFStatements.h:546</a></div></div>
|
|
2508
2508
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
2509
2509
|
<div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a4e6d228dfc678618a423e8293877f04c"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a4e6d228dfc678618a423e8293877f04c">SVF::ICFGEdge::isIntraCFGEdge</a></div><div class="ttdeci">bool isIntraCFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00085">ICFGEdge.h:85</a></div></div>
|
|
@@ -2511,7 +2511,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2511
2511
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a5ad71237256b2a8ce94a7d79a84afe55"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5ad71237256b2a8ce94a7d79a84afe55">SVF::ICFG::getRetBlock</a></div><div class="ttdeci">RetICFGNode * getRetBlock(const SVFInstruction *cs)</div><div class="ttdoc">Get/Add a return node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00293">ICFG.h:293</a></div></div>
|
|
2512
2512
|
<div class="ttc" id="anamespaceSVF_html_a4582a7d33a5631a5a38973f50035327e"><div class="ttname"><a href="namespaceSVF.html#a4582a7d33a5631a5a38973f50035327e">SVF::ViewGraph</a></div><div class="ttdeci">void ViewGraph(const GraphType &G, const std::string &name, bool ShortNames=false, GraphProgram::Name Program=GraphProgram::DOT)</div><div class="ttdef"><b>Definition:</b> <a href="GraphWriter_8h_source.html#l00371">GraphWriter.h:371</a></div></div>
|
|
2513
2513
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_afeee2b61f8a84e1276f8955c4f6cf22d"><div class="ttname"><a href="classSVF_1_1ICFG.html#afeee2b61f8a84e1276f8955c4f6cf22d">SVF::ICFG::getIntraBlock</a></div><div class="ttdeci">IntraICFGNode * getIntraBlock(const SVFInstruction *inst)</div><div class="ttdoc">Get/Add IntraBlock ICFGNode.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00229">ICFG.h:229</a></div></div>
|
|
2514
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_aaf521832909781894659725300cf4f49"><div class="ttname"><a href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">SVF::ICFG::getIntraICFGNode</a></div><div class="ttdeci">IntraICFGNode * getIntraICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2514
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_aaf521832909781894659725300cf4f49"><div class="ttname"><a href="classSVF_1_1ICFG.html#aaf521832909781894659725300cf4f49">SVF::ICFG::getIntraICFGNode</a></div><div class="ttdeci">IntraICFGNode * getIntraICFGNode(const SVFInstruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00265">ICFG.cpp:265</a></div></div>
|
|
2515
2515
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a1817b65e76052f11e36a67d6b9efd915"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">SVF::GenericGraph::removeGNode</a></div><div class="ttdeci">void removeGNode(NodeType *node)</div><div class="ttdoc">Delete a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00421">GenericGraph.h:421</a></div></div>
|
|
2516
2516
|
<div class="ttc" id="aclassSVF_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>
|
|
2517
2517
|
<div class="ttc" id="aclassSVF_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>
|
|
@@ -2531,7 +2531,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2531
2531
|
<div class="ttc" id="aclassSVF_1_1IntraCFGEdge_html_ad7b35b7c9abb07122eaa8517dae56508"><div class="ttname"><a href="classSVF_1_1IntraCFGEdge.html#ad7b35b7c9abb07122eaa8517dae56508">SVF::IntraCFGEdge::setBranchCondition</a></div><div class="ttdeci">void setBranchCondition(const SVFValue *c, s64_t bVal)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00151">ICFGEdge.h:151</a></div></div>
|
|
2532
2532
|
<div class="ttc" id="aclassSVF_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#l00072">ICFG.h:72</a></div></div>
|
|
2533
2533
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
|
|
2534
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_a86535e50d1feba706b19491d905baef1"><div class="ttname"><a href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">SVF::ICFG::hasInterICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasInterICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2534
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_a86535e50d1feba706b19491d905baef1"><div class="ttname"><a href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">SVF::ICFG::hasInterICFGEdge</a></div><div class="ttdeci">ICFGEdge * hasInterICFGEdge(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00312">ICFG.cpp:312</a></div></div>
|
|
2535
2535
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_ac58aa82eb74616a6608ff51d92f5baf6"><div class="ttname"><a href="classSVF_1_1ICFG.html#ac58aa82eb74616a6608ff51d92f5baf6">SVF::ICFG::addRetBlock</a></div><div class="ttdeci">RetICFGNode * addRetBlock(const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00300">ICFG.h:300</a></div></div>
|
|
2536
2536
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_abb2bbf6e0dc5adae2140a519259e6f17"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#abb2bbf6e0dc5adae2140a519259e6f17">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const SVFInstruction *inst)</div><div class="ttdoc">Return true if it is an llvm intrinsic instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00247">SVFUtil.cpp:247</a></div></div>
|
|
2537
2537
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00217">GenericGraph.h:217</a></div></div>
|
|
@@ -2540,20 +2540,20 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2540
2540
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
|
|
2541
2541
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a6885064afa211958af7b73f0233284e5"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">SVF::GenericGraph::hasGNode</a></div><div class="ttdeci">bool hasGNode(NodeID id) const</div><div class="ttdoc">Has a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
|
|
2542
2542
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_ac51c8f38efbd2576e150a9fc26a4a41b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ac51c8f38efbd2576e150a9fc26a4a41b">SVF::ICFG::addCallBlock</a></div><div class="ttdeci">CallICFGNode * addCallBlock(const SVFInstruction *cs)</div><div class="ttdoc">Get/Add a call node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00277">ICFG.h:277</a></div></div>
|
|
2543
|
-
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
2543
|
+
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01284">LLVMUtil.cpp:1284</a></div></div>
|
|
2544
2544
|
<div class="ttc" id="aclassSVF_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#l00324">ICFGNode.h:324</a></div></div>
|
|
2545
2545
|
<div class="ttc" id="aclassSVF_1_1GraphPrinter_html_a014217fb0d05c8f2a2f1a6c5b19d3e10"><div class="ttname"><a href="classSVF_1_1GraphPrinter.html#a014217fb0d05c8f2a2f1a6c5b19d3e10">SVF::GraphPrinter::WriteGraphToFile</a></div><div class="ttdeci">static void WriteGraphToFile(SVF::OutStream &O, const std::string &GraphName, const GraphType &GT, bool simple=false)</div><div class="ttdef"><b>Definition:</b> <a href="GraphPrinter_8h_source.html#l00056">GraphPrinter.h:56</a></div></div>
|
|
2546
|
-
<div class="ttc" id="aclassSVF_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#
|
|
2546
|
+
<div class="ttc" id="aclassSVF_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#l00295">ICFG.cpp:295</a></div></div>
|
|
2547
2547
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_ae115e70bf53f25c0ca6b1f22acccf5b5"><div class="ttname"><a href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">SVF::ICFG::isInLoop</a></div><div class="ttdeci">bool isInLoop(const ICFGNode *node)</div><div class="ttdoc">Whether node is in a loop.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00119">ICFG.h:119</a></div></div>
|
|
2548
2548
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_a06a7373b11143e709784de784fa476fe"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a06a7373b11143e709784de784fa476fe">SVF::GenericNode::hasIncomingEdge</a></div><div class="ttdeci">bool hasIncomingEdge() const</div><div class="ttdoc">Has incoming/outgoing edge set.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00205">GenericGraph.h:205</a></div></div>
|
|
2549
2549
|
<div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a395c34788e98950bc43e8cb44313e429a3486c9d9a182f2ba5d986fe74439ec2e">SVF::ICFGEdge::CallCF</a></div><div class="ttdeci">@ CallCF</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00056">ICFGEdge.h:56</a></div></div>
|
|
2550
2550
|
<div class="ttc" id="aclassSVF_1_1ICFGEdge_html_a2ecc0bc3bb3655bf3db3adb732747b49"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#a2ecc0bc3bb3655bf3db3adb732747b49">SVF::ICFGEdge::isCallCFGEdge</a></div><div class="ttdeci">bool isCallCFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00077">ICFGEdge.h:77</a></div></div>
|
|
2551
2551
|
<div class="ttc" id="aclassSVF_1_1ICFGEdge_html_ae3e7a6596de9fd3a25a28242a06ddd80"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html#ae3e7a6596de9fd3a25a28242a06ddd80">SVF::ICFGEdge::isRetCFGEdge</a></div><div class="ttdeci">bool isRetCFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00081">ICFGEdge.h:81</a></div></div>
|
|
2552
2552
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a22d7f37a0cb2df90f73c1f2e3eaa71c6"><div class="ttname"><a href="classSVF_1_1ICFG.html#a22d7f37a0cb2df90f73c1f2e3eaa71c6">SVF::ICFG::getFunExitBlock</a></div><div class="ttdeci">FunExitICFGNode * getFunExitBlock(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#l00261">ICFG.h:261</a></div></div>
|
|
2553
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2554
|
-
<div class="ttc" id="aclassSVF_1_1ICFG_html_a8a5e7571e804702a2d0af7d420f21b33"><div class="ttname"><a href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">SVF::ICFG::addRetEdge</a></div><div class="ttdeci">ICFGEdge * addRetEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#
|
|
2555
|
-
<div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#
|
|
2556
|
-
<div class="ttc" id="aclassSVF_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#
|
|
2553
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00447">ICFG.cpp:447</a></div></div>
|
|
2554
|
+
<div class="ttc" id="aclassSVF_1_1ICFG_html_a8a5e7571e804702a2d0af7d420f21b33"><div class="ttname"><a href="classSVF_1_1ICFG.html#a8a5e7571e804702a2d0af7d420f21b33">SVF::ICFG::addRetEdge</a></div><div class="ttdeci">ICFGEdge * addRetEdge(ICFGNode *srcNode, ICFGNode *dstNode, const SVFInstruction *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00428">ICFG.cpp:428</a></div></div>
|
|
2555
|
+
<div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00631">SVFValue.h:631</a></div></div>
|
|
2556
|
+
<div class="ttc" id="aclassSVF_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#l00369">ICFG.cpp:369</a></div></div>
|
|
2557
2557
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_afdc3358522417de9a0d3a181a329f722"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#afdc3358522417de9a0d3a181a329f722">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const SVFInstruction *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#l00174">SVFUtil.h:174</a></div></div>
|
|
2558
2558
|
<div class="ttc" id="aclassSVF_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#l00074">ICFG.h:74</a></div></div>
|
|
2559
2559
|
<div class="ttc" id="acJSON_8h_html_a1a175e87536301df98c805ac0636ad7c"><div class="ttname"><a href="cJSON_8h.html#a1a175e87536301df98c805ac0636ad7c">b</a></div><div class="ttdeci">const cJSON *const b</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00255">cJSON.h:255</a></div></div>
|