svf-tools 1.0.427 → 1.0.430
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/DCHG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +9 -9
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +18 -18
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +6 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +58 -56
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +33 -27
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +32 -28
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +5 -4
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +117 -27
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +32 -27
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +70 -70
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +34 -34
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFUtil_8h.html +0 -3
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +12 -13
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +9 -7
- package/SVF-doxygen/html/html/SaberAnnotator_8h.html +1 -1
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +6 -7
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +62 -61
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +77 -76
- package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +1 -0
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +135 -134
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -11
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +75 -80
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +5 -3
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +115 -88
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +94 -94
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator-members.html +26 -25
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +153 -114
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +31 -30
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +11 -8
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +89 -89
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +28 -24
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +86 -86
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +41 -42
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +189 -220
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +3 -3
- package/SVF-doxygen/html/html/functions_e.html +2 -2
- package/SVF-doxygen/html/html/functions_func.html +3 -3
- package/SVF-doxygen/html/html/functions_func_e.html +2 -2
- package/SVF-doxygen/html/html/functions_func_g.html +8 -7
- package/SVF-doxygen/html/html/functions_func_i.html +5 -8
- package/SVF-doxygen/html/html/functions_func_s.html +9 -8
- package/SVF-doxygen/html/html/functions_g.html +15 -14
- package/SVF-doxygen/html/html/functions_i.html +11 -14
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +15 -15
- package/SVF-doxygen/html/html/functions_p.html +7 -7
- package/SVF-doxygen/html/html/functions_r.html +8 -8
- package/SVF-doxygen/html/html/functions_s.html +11 -10
- package/SVF-doxygen/html/html/functions_t.html +10 -8
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/globals.html +3 -0
- package/SVF-doxygen/html/html/globals_b.html +3 -0
- package/SVF-doxygen/html/html/globals_r.html +3 -0
- package/SVF-doxygen/html/html/globals_s.html +9 -6
- package/SVF-doxygen/html/html/globals_type.html +15 -0
- package/SVF-doxygen/html/html/globals_u.html +5 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +40 -130
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +253 -220
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +20 -20
- package/SVF-doxygen/html/html/namespacemembers.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_b.html +1 -4
- package/SVF-doxygen/html/html/namespacemembers_func.html +8 -5
- package/SVF-doxygen/html/html/namespacemembers_i.html +11 -8
- package/SVF-doxygen/html/html/namespacemembers_r.html +1 -4
- package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type.html +0 -15
- package/SVF-doxygen/html/html/namespacemembers_u.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +9 -9
- package/SVF-doxygen/html/html/search/all_12.js +4 -4
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +7 -7
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_5.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/functions_0.js +3 -3
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_4.js +2 -2
- package/SVF-doxygen/html/html/search/functions_6.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_1.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_13.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/include/DDA/DDAVFSolver.h +3 -3
- package/include/MemoryModel/SymbolTableInfo.h +6 -4
- package/include/SABER/PathCondAllocator.h +8 -2
- package/include/SABER/SaberAnnotator.h +4 -4
- package/include/SVF-FE/BasicTypes.h +5 -0
- package/include/SVF-FE/LLVMUtil.h +13 -0
- package/include/Util/BasicTypes.h +0 -5
- package/include/Util/SVFUtil.h +0 -5
- package/lib/MSSA/MemRegion.cpp +4 -4
- package/lib/MemoryModel/PointerAnalysis.cpp +4 -4
- package/lib/MemoryModel/SymbolTableInfo.cpp +6 -8
- package/lib/SABER/PathCondAllocator.cpp +31 -26
- package/lib/SABER/ProgSlice.cpp +7 -4
- package/lib/SABER/SaberAnnotator.cpp +8 -8
- package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
- package/package.json +1 -1
|
@@ -755,7 +755,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
755
755
|
<div class="ttc" id="SVFBasicTypes_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFBasicTypes_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdoc">General debug flag is for each phase of a pass, it is often in a colorful output format. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00156">SVFBasicTypes.h:156</a></div></div>
|
|
756
756
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a1357c876eccedd58b3abe68875b3a570"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">SVF::SVFModule::pagReadFromTXT</a></div><div class="ttdeci">static bool pagReadFromTXT()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00093">SVFModule.h:93</a></div></div>
|
|
757
757
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00151">SVFBasicTypes.h:151</a></div></div>
|
|
758
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
758
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00048">SymbolTableInfo.h:48</a></div></div>
|
|
759
759
|
</div><!-- fragment -->
|
|
760
760
|
</div>
|
|
761
761
|
</div>
|
|
@@ -801,7 +801,7 @@ Friends</h2></td></tr>
|
|
|
801
801
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa8299ae0d09f1b19411cb07cd79a2bae8">SVF::SVFVar::DummyValNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00072">SVFVariables.h:72</a></div></div>
|
|
802
802
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a391e996d695b114530120723da1d003e"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a391e996d695b114530120723da1d003e">SVF::GenericNode::getNodeKind</a></div><div class="ttdeci">GNodeK getNodeKind() const</div><div class="ttdoc">Get node kind. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00171">GenericGraph.h:171</a></div></div>
|
|
803
803
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffa1ab625ecaf51446246dcc2944d6559af">SVF::SVFVar::DummyObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00073">SVFVariables.h:73</a></div></div>
|
|
804
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a2fc4bfb83b71a4c14e16168382cb8f5d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a2fc4bfb83b71a4c14e16168382cb8f5d">SVF::SymbolTableInfo::isBlkObjOrConstantObj</a></div><div class="ttdeci">static bool isBlkObjOrConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
804
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a2fc4bfb83b71a4c14e16168382cb8f5d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a2fc4bfb83b71a4c14e16168382cb8f5d">SVF::SymbolTableInfo::isBlkObjOrConstantObj</a></div><div class="ttdeci">static bool isBlkObjOrConstantObj(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00185">SymbolTableInfo.h:185</a></div></div>
|
|
805
805
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
806
806
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
807
807
|
</div><!-- fragment -->
|
|
@@ -983,7 +983,7 @@ Friends</h2></td></tr>
|
|
|
983
983
|
|
|
984
984
|
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00123">123</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
985
985
|
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVFUtil::isConstantData</a>(<a class="code" href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">value</a>);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
|
|
986
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a9e85d445e8b7b205134acd3874bba388"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVF::SVFUtil::isConstantData</a></div><div class="ttdeci">bool isConstantData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
986
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a9e85d445e8b7b205134acd3874bba388"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9e85d445e8b7b205134acd3874bba388">SVF::SVFUtil::isConstantData</a></div><div class="ttdeci">bool isConstantData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00407">LLVMUtil.h:407</a></div></div>
|
|
987
987
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a7deb494ac20ed56fca31a4f1fd92deea"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a7deb494ac20ed56fca31a4f1fd92deea">SVF::SVFVar::value</a></div><div class="ttdeci">const Value * value</div><div class="ttdoc">value of this SVFIR node </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00081">SVFVariables.h:81</a></div></div>
|
|
988
988
|
</div><!-- fragment -->
|
|
989
989
|
</div>
|
|
@@ -72,11 +72,11 @@ $(function() {
|
|
|
72
72
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a></td><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
73
73
|
<tr><td class="entry"><a class="el" href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">addMDTag</a>(Instruction *inst, std::string str)</td><td class="entry"><a class="el" href="classSVF_1_1Annotator.html">SVF::Annotator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
74
74
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Annotator.html#ade321f69e1a727f1be15860e01effa43">addMDTag</a>(Instruction *inst, Value *val, std::string str)</td><td class="entry"><a class="el" href="classSVF_1_1Annotator.html">SVF::Annotator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
75
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#
|
|
76
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#
|
|
75
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#a60b66e1cb775c175c88f514e202c7611">annotateFeasibleBranch</a>(const BranchStmt *branchStmt, u32_t succPos)</td><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></td><td class="entry"></td></tr>
|
|
76
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#a7982caf8a058f805ae6e777ce2366246">annotateInfeasibleBranch</a>(const BranchStmt *branchStmt, u32_t succPos)</td><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></td><td class="entry"></td></tr>
|
|
77
77
|
<tr><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#abec0f249cc64d3588e83a68ed12271bf">annotateSinks</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></td><td class="entry"></td></tr>
|
|
78
78
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#aa9446af29edf126ad30bbada51478c13">annotateSource</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></td><td class="entry"></td></tr>
|
|
79
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#
|
|
79
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html#aebed471b55aa459a007d6a2cf668d886">annotateSwitch</a>(const BranchStmt *swithStmt, u32_t succPos)</td><td class="entry"><a class="el" href="classSVF_1_1SaberAnnotator.html">SVF::SaberAnnotator</a></td><td class="entry"></td></tr>
|
|
80
80
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Annotator.html#aa72e6952df50b5b36f0e0fed4024055f">Annotator</a>()</td><td class="entry"><a class="el" href="classSVF_1_1Annotator.html">SVF::Annotator</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
81
81
|
<tr><td class="entry"><a class="el" href="classSVF_1_1Annotator.html#a64fa6f1cac79c47c66b16ac29d2ac3f4">DR_CHECK</a></td><td class="entry"><a class="el" href="classSVF_1_1Annotator.html">SVF::Annotator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
82
82
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Annotator.html#af220da6fe6fc879d15cc34ab397c5ba1">DR_NOT_CHECK</a></td><td class="entry"><a class="el" href="classSVF_1_1Annotator.html">SVF::Annotator</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
@@ -96,12 +96,12 @@ Public Member Functions</h2></td></tr>
|
|
|
96
96
|
<tr class="separator:aa9446af29edf126ad30bbada51478c13"><td class="memSeparator" colspan="2"> </td></tr>
|
|
97
97
|
<tr class="memitem:abec0f249cc64d3588e83a68ed12271bf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberAnnotator.html#abec0f249cc64d3588e83a68ed12271bf">annotateSinks</a> ()</td></tr>
|
|
98
98
|
<tr class="separator:abec0f249cc64d3588e83a68ed12271bf"><td class="memSeparator" colspan="2"> </td></tr>
|
|
99
|
-
<tr class="memitem:
|
|
100
|
-
<tr class="separator:
|
|
101
|
-
<tr class="memitem:
|
|
102
|
-
<tr class="separator:
|
|
103
|
-
<tr class="memitem:
|
|
104
|
-
<tr class="separator:
|
|
99
|
+
<tr class="memitem:a60b66e1cb775c175c88f514e202c7611"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberAnnotator.html#a60b66e1cb775c175c88f514e202c7611">annotateFeasibleBranch</a> (const <a class="el" href="classSVF_1_1BranchStmt.html">BranchStmt</a> *branchStmt, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> succPos)</td></tr>
|
|
100
|
+
<tr class="separator:a60b66e1cb775c175c88f514e202c7611"><td class="memSeparator" colspan="2"> </td></tr>
|
|
101
|
+
<tr class="memitem:a7982caf8a058f805ae6e777ce2366246"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberAnnotator.html#a7982caf8a058f805ae6e777ce2366246">annotateInfeasibleBranch</a> (const <a class="el" href="classSVF_1_1BranchStmt.html">BranchStmt</a> *branchStmt, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> succPos)</td></tr>
|
|
102
|
+
<tr class="separator:a7982caf8a058f805ae6e777ce2366246"><td class="memSeparator" colspan="2"> </td></tr>
|
|
103
|
+
<tr class="memitem:aebed471b55aa459a007d6a2cf668d886"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SaberAnnotator.html#aebed471b55aa459a007d6a2cf668d886">annotateSwitch</a> (const <a class="el" href="classSVF_1_1BranchStmt.html">BranchStmt</a> *swithStmt, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> succPos)</td></tr>
|
|
104
|
+
<tr class="separator:aebed471b55aa459a007d6a2cf668d886"><td class="memSeparator" colspan="2"> </td></tr>
|
|
105
105
|
<tr class="inherit_header pub_methods_classSVF_1_1Annotator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1Annotator')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1Annotator.html">SVF::Annotator</a></td></tr>
|
|
106
106
|
<tr class="memitem:aa72e6952df50b5b36f0e0fed4024055f inherit pub_methods_classSVF_1_1Annotator"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Annotator.html#aa72e6952df50b5b36f0e0fed4024055f">Annotator</a> ()</td></tr>
|
|
107
107
|
<tr class="memdesc:aa72e6952df50b5b36f0e0fed4024055f inherit pub_methods_classSVF_1_1Annotator"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1Annotator.html#aa72e6952df50b5b36f0e0fed4024055f">More...</a><br /></td></tr>
|
|
@@ -224,8 +224,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
226
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
227
|
-
<a id="
|
|
228
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
227
|
+
<a id="a60b66e1cb775c175c88f514e202c7611"></a>
|
|
228
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a60b66e1cb775c175c88f514e202c7611">◆ </a></span>annotateFeasibleBranch()</h2>
|
|
229
229
|
|
|
230
230
|
<div class="memitem">
|
|
231
231
|
<div class="memproto">
|
|
@@ -233,8 +233,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
233
233
|
<tr>
|
|
234
234
|
<td class="memname">void SaberAnnotator::annotateFeasibleBranch </td>
|
|
235
235
|
<td>(</td>
|
|
236
|
-
<td class="paramtype">const <a class="el" href="
|
|
237
|
-
<td class="paramname"><em>
|
|
236
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1BranchStmt.html">BranchStmt</a> * </td>
|
|
237
|
+
<td class="paramname"><em>branchStmt</em>, </td>
|
|
238
238
|
</tr>
|
|
239
239
|
<tr>
|
|
240
240
|
<td class="paramkey"></td>
|
|
@@ -252,19 +252,21 @@ Additional Inherited Members</h2></td></tr>
|
|
|
252
252
|
<p>Annotate branch instruction and its corresponding feasible path </p>
|
|
253
253
|
|
|
254
254
|
<p class="definition">Definition at line <a class="el" href="SaberAnnotator_8cpp_source.html#l00078">78</a> of file <a class="el" href="SaberAnnotator_8cpp_source.html">SaberAnnotator.cpp</a>.</p>
|
|
255
|
-
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((succPos == 0 || succPos == 1) && <span class="stringliteral">"branch instruction should only have two successors"</span>);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  std::string str;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  rawstr << <a class="code" href="classSVF_1_1Annotator.html#ac58473072d90baa6dc377b45f18d0da5">SB_FESIBLE</a> << <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="
|
|
256
|
-
<div class="ttc" id="namespaceSVF_html_ac9a05dd7ab16e998625037aa242cd30f"><div class="ttname"><a href="namespaceSVF.html#ac9a05dd7ab16e998625037aa242cd30f">SVF::BranchInst</a></div><div class="ttdeci">llvm::BranchInst BranchInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00131">BasicTypes.h:131</a></div></div>
|
|
255
|
+
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((succPos == 0 || succPos == 1) && <span class="stringliteral">"branch instruction should only have two successors"</span>);</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> </div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  std::string str;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  rawstr << <a class="code" href="classSVF_1_1Annotator.html#ac58473072d90baa6dc377b45f18d0da5">SB_FESIBLE</a> << <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">addMDTag</a>(const_cast<Instruction *>(branchStmt-><a class="code" href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">getInst</a>()),</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  const_cast<Value *>(branchStmt-><a class="code" href="classSVF_1_1BranchStmt.html#a915384027ae53e99311f05a08edf99f0">getCondition</a>()-><a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()), rawstr.str());</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_ac1dc48ea64a89ce37394a22e609a0cd0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">SVF::ProgSlice::getSource</a></div><div class="ttdeci">const SVFGNode * getSource() const</div><div class="ttdoc">root and sink operations </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00112">ProgSlice.h:112</a></div></div>
|
|
257
256
|
<div class="ttc" id="classSVF_1_1Annotator_html_ac58473072d90baa6dc377b45f18d0da5"><div class="ttname"><a href="classSVF_1_1Annotator.html#ac58473072d90baa6dc377b45f18d0da5">SVF::Annotator::SB_FESIBLE</a></div><div class="ttdeci">const char * SB_FESIBLE</div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00176">Annotator.h:176</a></div></div>
|
|
258
257
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
259
258
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
|
|
259
|
+
<div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
|
|
260
|
+
<div class="ttc" id="classSVF_1_1BranchStmt_html_a915384027ae53e99311f05a08edf99f0"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a915384027ae53e99311f05a08edf99f0">SVF::BranchStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdoc">Return the condition. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00283">SVFStatements.cpp:283</a></div></div>
|
|
260
261
|
<div class="ttc" id="classSVF_1_1SaberAnnotator_html_adceb8a459b44c289413401b57d8aeb4d"><div class="ttname"><a href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">SVF::SaberAnnotator::_curSlice</a></div><div class="ttdeci">const ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SaberAnnotator_8h_source.html#l00047">SaberAnnotator.h:47</a></div></div>
|
|
261
262
|
<div class="ttc" id="classSVF_1_1Annotator_html_ad1424270d91f70dee1461b6301ce8091"><div class="ttname"><a href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">SVF::Annotator::addMDTag</a></div><div class="ttdeci">void addMDTag(Instruction *inst, std::string str)</div><div class="ttdoc">Simple add/remove meta data information. </div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00099">Annotator.h:99</a></div></div>
|
|
262
263
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
264
|
+
<div class="ttc" id="classSVF_1_1SVFStmt_html_a86628ea173dec4934322f5d1caf2e1db"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">SVF::SVFStmt::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdoc">Get/set methods for llvm instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00107">SVFStatements.h:107</a></div></div>
|
|
263
265
|
</div><!-- fragment -->
|
|
264
266
|
</div>
|
|
265
267
|
</div>
|
|
266
|
-
<a id="
|
|
267
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
268
|
+
<a id="a7982caf8a058f805ae6e777ce2366246"></a>
|
|
269
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a7982caf8a058f805ae6e777ce2366246">◆ </a></span>annotateInfeasibleBranch()</h2>
|
|
268
270
|
|
|
269
271
|
<div class="memitem">
|
|
270
272
|
<div class="memproto">
|
|
@@ -272,8 +274,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
272
274
|
<tr>
|
|
273
275
|
<td class="memname">void SaberAnnotator::annotateInfeasibleBranch </td>
|
|
274
276
|
<td>(</td>
|
|
275
|
-
<td class="paramtype">const <a class="el" href="
|
|
276
|
-
<td class="paramname"><em>
|
|
277
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1BranchStmt.html">BranchStmt</a> * </td>
|
|
278
|
+
<td class="paramname"><em>branchStmt</em>, </td>
|
|
277
279
|
</tr>
|
|
278
280
|
<tr>
|
|
279
281
|
<td class="paramkey"></td>
|
|
@@ -291,14 +293,16 @@ Additional Inherited Members</h2></td></tr>
|
|
|
291
293
|
<p>Annotate branch instruction and its corresponding infeasible path </p>
|
|
292
294
|
|
|
293
295
|
<p class="definition">Definition at line <a class="el" href="SaberAnnotator_8cpp_source.html#l00093">93</a> of file <a class="el" href="SaberAnnotator_8cpp_source.html">SaberAnnotator.cpp</a>.</p>
|
|
294
|
-
<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((succPos == 0 || succPos == 1) && <span class="stringliteral">"branch instruction should only have two successors"</span>);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  std::string str;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  rawstr << <a class="code" href="classSVF_1_1Annotator.html#a556138c152d52921d6f0a709a826a93a">SB_INFESIBLE</a> << <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="
|
|
295
|
-
<div class="ttc" id="namespaceSVF_html_ac9a05dd7ab16e998625037aa242cd30f"><div class="ttname"><a href="namespaceSVF.html#ac9a05dd7ab16e998625037aa242cd30f">SVF::BranchInst</a></div><div class="ttdeci">llvm::BranchInst BranchInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00131">BasicTypes.h:131</a></div></div>
|
|
296
|
+
<div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>((succPos == 0 || succPos == 1) && <span class="stringliteral">"branch instruction should only have two successors"</span>);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  std::string str;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  rawstr << <a class="code" href="classSVF_1_1Annotator.html#a556138c152d52921d6f0a709a826a93a">SB_INFESIBLE</a> << <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">addMDTag</a>(const_cast<Instruction *>(branchStmt-><a class="code" href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">getInst</a>()),</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  const_cast<Value *>(branchStmt-><a class="code" href="classSVF_1_1BranchStmt.html#a915384027ae53e99311f05a08edf99f0">getCondition</a>()-><a class="code" href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">getValue</a>()), rawstr.str());</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_ac1dc48ea64a89ce37394a22e609a0cd0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">SVF::ProgSlice::getSource</a></div><div class="ttdeci">const SVFGNode * getSource() const</div><div class="ttdoc">root and sink operations </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00112">ProgSlice.h:112</a></div></div>
|
|
296
297
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
297
298
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
|
|
298
299
|
<div class="ttc" id="classSVF_1_1Annotator_html_a556138c152d52921d6f0a709a826a93a"><div class="ttname"><a href="classSVF_1_1Annotator.html#a556138c152d52921d6f0a709a826a93a">SVF::Annotator::SB_INFESIBLE</a></div><div class="ttdeci">const char * SB_INFESIBLE</div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00177">Annotator.h:177</a></div></div>
|
|
300
|
+
<div class="ttc" id="classSVF_1_1SVFVar_html_afaa33caa8d2a306f6741d9d066243e40"><div class="ttname"><a href="classSVF_1_1SVFVar.html#afaa33caa8d2a306f6741d9d066243e40">SVF::SVFVar::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get/has methods of the components. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00096">SVFVariables.h:96</a></div></div>
|
|
301
|
+
<div class="ttc" id="classSVF_1_1BranchStmt_html_a915384027ae53e99311f05a08edf99f0"><div class="ttname"><a href="classSVF_1_1BranchStmt.html#a915384027ae53e99311f05a08edf99f0">SVF::BranchStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdoc">Return the condition. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00283">SVFStatements.cpp:283</a></div></div>
|
|
299
302
|
<div class="ttc" id="classSVF_1_1SaberAnnotator_html_adceb8a459b44c289413401b57d8aeb4d"><div class="ttname"><a href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">SVF::SaberAnnotator::_curSlice</a></div><div class="ttdeci">const ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SaberAnnotator_8h_source.html#l00047">SaberAnnotator.h:47</a></div></div>
|
|
300
303
|
<div class="ttc" id="classSVF_1_1Annotator_html_ad1424270d91f70dee1461b6301ce8091"><div class="ttname"><a href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">SVF::Annotator::addMDTag</a></div><div class="ttdeci">void addMDTag(Instruction *inst, std::string str)</div><div class="ttdoc">Simple add/remove meta data information. </div><div class="ttdef"><b>Definition:</b> <a href="Annotator_8h_source.html#l00099">Annotator.h:99</a></div></div>
|
|
301
304
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
305
|
+
<div class="ttc" id="classSVF_1_1SVFStmt_html_a86628ea173dec4934322f5d1caf2e1db"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">SVF::SVFStmt::getInst</a></div><div class="ttdeci">const Instruction * getInst() const</div><div class="ttdoc">Get/set methods for llvm instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00107">SVFStatements.h:107</a></div></div>
|
|
302
306
|
</div><!-- fragment -->
|
|
303
307
|
</div>
|
|
304
308
|
</div>
|
|
@@ -321,7 +325,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
321
325
|
<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">for</span>(ProgSlice::SVFGNodeSet::const_iterator it = <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a03a1ef4d56958fa4a0c3a3a95806203d">getSinks</a>().begin(),</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  eit = <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#a03a1ef4d56958fa4a0c3a3a95806203d">getSinks</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ActualParmVFGNode.html">ActualParmSVFGNode</a>* ap = SVFUtil::dyn_cast<ActualParmSVFGNode>(*it))</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* sinkinst = ap->getCallSite()->getCallSite();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(SVFUtil::isa<CallInst>(sinkinst) && <span class="stringliteral">"not a call instruction?"</span>);</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a>* sink = SVFUtil::cast<CallInst>(sinkinst);</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  std::string str;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  rawstr << <a class="code" href="classSVF_1_1Annotator.html#a3edacb8703c74abf42c4a29761a3437f">SB_SLICESINK</a> << <a class="code" href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">_curSlice</a>-><a class="code" href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">getSource</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="classSVF_1_1Annotator.html#ad1424270d91f70dee1461b6301ce8091">addMDTag</a>(const_cast<CallInst*>(sink),sink->getArgOperand(0),rawstr.str());</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> && <span class="stringliteral">"sink node is not a actual parameter?"</span>);</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div><div class="ttc" id="classSVF_1_1ProgSlice_html_ac1dc48ea64a89ce37394a22e609a0cd0"><div class="ttname"><a href="classSVF_1_1ProgSlice.html#ac1dc48ea64a89ce37394a22e609a0cd0">SVF::ProgSlice::getSource</a></div><div class="ttdeci">const SVFGNode * getSource() const</div><div class="ttdoc">root and sink operations </div><div class="ttdef"><b>Definition:</b> <a href="ProgSlice_8h_source.html#l00112">ProgSlice.h:112</a></div></div>
|
|
322
326
|
<div class="ttc" id="classSVF_1_1ActualParmVFGNode_html"><div class="ttname"><a href="classSVF_1_1ActualParmVFGNode.html">SVF::ActualParmVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00842">VFGNode.h:842</a></div></div>
|
|
323
327
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
324
|
-
<div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
328
|
+
<div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00126">BasicTypes.h:126</a></div></div>
|
|
325
329
|
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
326
330
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00094">BasicTypes.h:94</a></div></div>
|
|
327
331
|
<div class="ttc" id="classSVF_1_1SaberAnnotator_html_adceb8a459b44c289413401b57d8aeb4d"><div class="ttname"><a href="classSVF_1_1SaberAnnotator.html#adceb8a459b44c289413401b57d8aeb4d">SVF::SaberAnnotator::_curSlice</a></div><div class="ttdeci">const ProgSlice * _curSlice</div><div class="ttdef"><b>Definition:</b> <a href="SaberAnnotator_8h_source.html#l00047">SaberAnnotator.h:47</a></div></div>
|
|
@@ -361,8 +365,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
361
365
|
</div><!-- fragment -->
|
|
362
366
|
</div>
|
|
363
367
|
</div>
|
|
364
|
-
<a id="
|
|
365
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
368
|
+
<a id="aebed471b55aa459a007d6a2cf668d886"></a>
|
|
369
|
+
<h2 class="memtitle"><span class="permalink"><a href="#aebed471b55aa459a007d6a2cf668d886">◆ </a></span>annotateSwitch()</h2>
|
|
366
370
|
|
|
367
371
|
<div class="memitem">
|
|
368
372
|
<div class="memproto">
|
|
@@ -370,8 +374,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
370
374
|
<tr>
|
|
371
375
|
<td class="memname">void SaberAnnotator::annotateSwitch </td>
|
|
372
376
|
<td>(</td>
|
|
373
|
-
<td class="paramtype"
|
|
374
|
-
<td class="paramname"><em>
|
|
377
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1BranchStmt.html">BranchStmt</a> * </td>
|
|
378
|
+
<td class="paramname"><em>swithStmt</em>, </td>
|
|
375
379
|
</tr>
|
|
376
380
|
<tr>
|
|
377
381
|
<td class="paramkey"></td>
|
|
@@ -389,7 +393,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
389
393
|
<p>Annotate switch instruction and its corresponding feasible path </p>
|
|
390
394
|
|
|
391
395
|
<p class="definition">Definition at line <a class="el" href="SaberAnnotator_8cpp_source.html#l00109">109</a> of file <a class="el" href="SaberAnnotator_8cpp_source.html">SaberAnnotator.cpp</a>.</p>
|
|
392
|
-
<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(succPos <
|
|
396
|
+
<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(succPos < swithStmt->getNumSuccessors() && <span class="stringliteral">"successor position not correct!"</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
393
397
|
</div><!-- fragment -->
|
|
394
398
|
</div>
|
|
395
399
|
</div>
|
|
@@ -398,7 +398,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
398
398
|
|
|
399
399
|
<p class="definition">Definition at line <a class="el" href="SaberCheckerAPI_8h_source.html#l00152">152</a> of file <a class="el" href="SaberCheckerAPI_8h_source.html">SaberCheckerAPI.h</a>.</p>
|
|
400
400
|
<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">getType</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(inst)) == <a class="code" href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056a731dcaf32786abf31c43be180dd366cb">CK_FCLOSE</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_ab0cdd9671c406e8d881f0a057fe44081"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">SVF::SaberCheckerAPI::getType</a></div><div class="ttdeci">CHECKER_TYPE getType(const SVFFunction *F) const</div><div class="ttdoc">Get the function type of a function. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00076">SaberCheckerAPI.h:76</a></div></div>
|
|
401
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
401
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00263">SVFUtil.h:263</a></div></div>
|
|
402
402
|
<div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a32f3c37a5957dc7533f7e82617d5d056a731dcaf32786abf31c43be180dd366cb"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056a731dcaf32786abf31c43be180dd366cb">SVF::SaberCheckerAPI::CK_FCLOSE</a></div><div class="ttdoc">File open. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00054">SaberCheckerAPI.h:54</a></div></div>
|
|
403
403
|
</div><!-- fragment -->
|
|
404
404
|
</div>
|
|
@@ -491,7 +491,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
491
491
|
<p class="definition">Definition at line <a class="el" href="SaberCheckerAPI_8h_source.html#l00136">136</a> of file <a class="el" href="SaberCheckerAPI_8h_source.html">SaberCheckerAPI.h</a>.</p>
|
|
492
492
|
<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">getType</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(inst)) == <a class="code" href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056a75cc4daa228ceb26f63cb1825da8a73e">CK_FOPEN</a>;</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  }</div><div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_ab0cdd9671c406e8d881f0a057fe44081"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">SVF::SaberCheckerAPI::getType</a></div><div class="ttdeci">CHECKER_TYPE getType(const SVFFunction *F) const</div><div class="ttdoc">Get the function type of a function. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00076">SaberCheckerAPI.h:76</a></div></div>
|
|
493
493
|
<div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a32f3c37a5957dc7533f7e82617d5d056a75cc4daa228ceb26f63cb1825da8a73e"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056a75cc4daa228ceb26f63cb1825da8a73e">SVF::SaberCheckerAPI::CK_FOPEN</a></div><div class="ttdoc">memory deallocation </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00053">SaberCheckerAPI.h:53</a></div></div>
|
|
494
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
494
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00263">SVFUtil.h:263</a></div></div>
|
|
495
495
|
</div><!-- fragment -->
|
|
496
496
|
</div>
|
|
497
497
|
</div>
|
|
@@ -582,7 +582,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
582
582
|
|
|
583
583
|
<p class="definition">Definition at line <a class="el" href="SaberCheckerAPI_8h_source.html#l00104">104</a> of file <a class="el" href="SaberCheckerAPI_8h_source.html">SaberCheckerAPI.h</a>.</p>
|
|
584
584
|
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">getType</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(inst)) == <a class="code" href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056acd7e3bca6e36e08205576482b1b0221e">CK_ALLOC</a>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_ab0cdd9671c406e8d881f0a057fe44081"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">SVF::SaberCheckerAPI::getType</a></div><div class="ttdeci">CHECKER_TYPE getType(const SVFFunction *F) const</div><div class="ttdoc">Get the function type of a function. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00076">SaberCheckerAPI.h:76</a></div></div>
|
|
585
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
585
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00263">SVFUtil.h:263</a></div></div>
|
|
586
586
|
<div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a32f3c37a5957dc7533f7e82617d5d056acd7e3bca6e36e08205576482b1b0221e"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056acd7e3bca6e36e08205576482b1b0221e">SVF::SaberCheckerAPI::CK_ALLOC</a></div><div class="ttdoc">dummy type </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00051">SaberCheckerAPI.h:51</a></div></div>
|
|
587
587
|
</div><!-- fragment -->
|
|
588
588
|
</div>
|
|
@@ -674,7 +674,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
674
674
|
|
|
675
675
|
<p class="definition">Definition at line <a class="el" href="SaberCheckerAPI_8h_source.html#l00120">120</a> of file <a class="el" href="SaberCheckerAPI_8h_source.html">SaberCheckerAPI.h</a>.</p>
|
|
676
676
|
<div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">getType</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(inst)) == <a class="code" href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056a0fa2e38d001b233c6563822491adf507">CK_FREE</a>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_ab0cdd9671c406e8d881f0a057fe44081"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#ab0cdd9671c406e8d881f0a057fe44081">SVF::SaberCheckerAPI::getType</a></div><div class="ttdeci">CHECKER_TYPE getType(const SVFFunction *F) const</div><div class="ttdoc">Get the function type of a function. </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00076">SaberCheckerAPI.h:76</a></div></div>
|
|
677
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
677
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00263">SVFUtil.h:263</a></div></div>
|
|
678
678
|
<div class="ttc" id="classSVF_1_1SaberCheckerAPI_html_a32f3c37a5957dc7533f7e82617d5d056a0fa2e38d001b233c6563822491adf507"><div class="ttname"><a href="classSVF_1_1SaberCheckerAPI.html#a32f3c37a5957dc7533f7e82617d5d056a0fa2e38d001b233c6563822491adf507">SVF::SaberCheckerAPI::CK_FREE</a></div><div class="ttdoc">memory allocation </div><div class="ttdef"><b>Definition:</b> <a href="SaberCheckerAPI_8h_source.html#l00052">SaberCheckerAPI.h:52</a></div></div>
|
|
679
679
|
</div><!-- fragment -->
|
|
680
680
|
</div>
|
|
@@ -435,7 +435,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
435
435
|
<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVFIR::getPAG</a>();</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">for</span>(SVFIR::CSToArgsListMap::iterator it = pag-><a class="code" href="classSVF_1_1SVFIR.html#a346b9300ad16ef65e3ab4e11f88193a7">getCallSiteArgsMap</a>().begin(),</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  eit = pag-><a class="code" href="classSVF_1_1SVFIR.html#a346b9300ad16ef65e3ab4e11f88193a7">getCallSiteArgsMap</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">PTACallGraph::FunctionSet</a> callees;</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  callgraph-><a class="code" href="classSVF_1_1PTACallGraph.html#a317e09edb29b110cf4273009551d31ec">getCallees</a>(it->first, callees);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">for</span> (PTACallGraph::FunctionSet::const_iterator cit = callees.begin(),</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  ecit = callees.end(); cit != ecit; cit++)</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *cit;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SaberCheckerAPI.html#acf41a2b6de063da9ed492ef0da129036">SaberCheckerAPI::getCheckerAPI</a>()-><a class="code" href="classSVF_1_1SaberCheckerAPI.html#ab6d9c2435bdb1c01542cc75e9eef0a4e">isMemDealloc</a>(fun)</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  || <a class="code" href="classSVF_1_1SaberCheckerAPI.html#acf41a2b6de063da9ed492ef0da129036">SaberCheckerAPI::getCheckerAPI</a>()-><a class="code" href="classSVF_1_1SaberCheckerAPI.html#a970676d884d66da9fce00fe5b60c96ba">isFClose</a>(fun))</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  {</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVFIR::SVFVarList</a>& arglist = it->second;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">for</span>(SVFIR::SVFVarList::const_iterator ait = arglist.begin(), aeit = arglist.end(); ait!=aeit; ++ait){</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a> *pagNode = *ait;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">if</span> (pagNode-><a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>()) {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <a class="code" href="classSVF_1_1SaberSVFGBuilder.html#ab8db9f6681eeb4663614119417a83cec">addActualParmVFGNode</a>(pagNode, it->first);</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1VFG.html#a3c97d77bc0348471d6c098d5655f15b2">addIntraDirectVFEdge</a>(<a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pagNode)-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>(), <a class="code" href="classSVF_1_1SVFGBuilder.html#a26bc3b9c07472e454bc567cd8746caef">svfg</a>-><a class="code" href="classSVF_1_1VFG.html#a6bbfe457dcc7104e6928323499ea964e">getActualParmVFGNode</a>(pagNode, it->first)-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  }</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a64939d7ecfd8e2cf862782954a56596b"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVF::SVFIR::SVFVarList</a></div><div class="ttdeci">std::vector< const SVFVar * > SVFVarList</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00057">SVFIR.h:57</a></div></div>
|
|
436
436
|
<div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
|
|
437
437
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
|
|
438
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
438
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
|
|
439
439
|
<div class="ttc" id="classSVF_1_1SaberSVFGBuilder_html_ab8db9f6681eeb4663614119417a83cec"><div class="ttname"><a href="classSVF_1_1SaberSVFGBuilder.html#ab8db9f6681eeb4663614119417a83cec">SVF::SaberSVFGBuilder::addActualParmVFGNode</a></div><div class="ttdeci">void addActualParmVFGNode(const PAGNode *pagNode, const CallICFGNode *cs)</div><div class="ttdoc">Add ActualParmVFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="SaberSVFGBuilder_8h_source.html#l00060">SaberSVFGBuilder.h:60</a></div></div>
|
|
440
440
|
<div class="ttc" id="classSVF_1_1VFG_html_a6bbfe457dcc7104e6928323499ea964e"><div class="ttname"><a href="classSVF_1_1VFG.html#a6bbfe457dcc7104e6928323499ea964e">SVF::VFG::getActualParmVFGNode</a></div><div class="ttdeci">ActualParmVFGNode * getActualParmVFGNode(const PAGNode *aparm, const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00235">VFG.h:235</a></div></div>
|
|
441
441
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|
|
@@ -696,7 +696,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
696
696
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
697
697
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00106">PointsTo.cpp:106</a></div></div>
|
|
698
698
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ae6ea391ac44dffeb6899bb44323c5361"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">SVF::PointerAnalysis::isHeapMemObj</a></div><div class="ttdeci">bool isHeapMemObj(NodeID id) const</div><div class="ttdoc">Whether this object is heap or array. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00316">PointerAnalysis.h:316</a></div></div>
|
|
699
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
699
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00666">SymbolTableInfo.cpp:666</a></div></div>
|
|
700
700
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a108380f6f0b67654bb7c7676686096c8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">SVF::PointerAnalysis::isLocalVarInRecursiveFun</a></div><div class="ttdeci">bool isLocalVarInRecursiveFun(NodeID id) const</div><div class="ttdoc">Whether a local variable is in function recursions. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00156">PointerAnalysis.cpp:156</a></div></div>
|
|
701
701
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00027">PointsTo.h:27</a></div></div>
|
|
702
702
|
</div><!-- fragment -->
|