svf-tools 1.0.552 → 1.0.555
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/README.md +11 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/CHGBuilder_8h.html +1 -0
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +11 -10
- 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 +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DCHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +38 -35
- package/SVF-doxygen/html/html/DCHG_8h_source.html +9 -10
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +11 -14
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +12 -13
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +9 -9
- 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 +5 -5
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +20 -18
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +27 -27
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +17 -17
- 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 +3 -3
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/MHP_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +10 -10
- 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/PCG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +2 -0
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +110 -109
- 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 +4 -4
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +61 -61
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +47 -47
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +49 -52
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +5 -5
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/TCT_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +79 -80
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +9 -12
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +10 -11
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +41 -41
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +114 -111
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass-members.html +5 -6
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +42 -79
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI_1_1Operation.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +95 -54
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +10 -10
- 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.html +1 -1
- 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_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +1 -1
- 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_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +61 -61
- 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_1SVFIRBuilder.html +123 -120
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass-members.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +28 -66
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +8 -8
- package/SVF-doxygen/html/html/functions_func_r.html +3 -3
- package/SVF-doxygen/html/html/functions_g.html +9 -9
- package/SVF-doxygen/html/html/functions_r.html +2 -4
- package/SVF-doxygen/html/html/namespaceSVF.html +141 -141
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +49 -49
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +168 -171
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +28 -28
- package/SVF-doxygen/html/html/search/all_11.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +3 -3
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/DDA/DDAPass.h +0 -3
- package/include/SVF-FE/BasicTypes.h +1 -0
- package/include/SVF-FE/CHGBuilder.h +1 -0
- package/include/SVF-FE/DCHG.h +1 -1
- package/include/SVF-FE/LLVMModule.h +17 -0
- package/include/Util/BasicTypes.h +0 -1
- package/include/Util/ExtAPI.h +2 -2
- package/include/Util/ExtAPI.json +3 -3
- package/include/Util/SVFUtil.h +1 -13
- package/include/WPA/WPAPass.h +0 -3
- package/lib/DDA/DDAPass.cpp +0 -7
- package/lib/SVF-FE/DCHG.cpp +4 -7
- package/lib/SVF-FE/SVFIRBuilder.cpp +63 -23
- package/lib/Util/ExtAPI.cpp +1 -1
- package/lib/WPA/WPAPass.cpp +0 -10
- package/package.json +1 -1
|
@@ -1108,8 +1108,8 @@ template<class X , class Y > </div>
|
|
|
1108
1108
|
|
|
1109
1109
|
<p>Return sole argument of the thread routine. </p>
|
|
1110
1110
|
|
|
1111
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1112
|
-
<div class="fragment"><div class="line"><a name="
|
|
1111
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00665">665</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1112
|
+
<div class="fragment"><div class="line"><a name="l00666"></a><span class="lineno"> 666</span> {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getActualParmAtForkSite(cs);</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> }</div></div><!-- fragment -->
|
|
1113
1113
|
</div>
|
|
1114
1114
|
</div>
|
|
1115
1115
|
<a id="a01119ea4e3a10ebecdef4d390a1c4c88"></a>
|
|
@@ -1136,8 +1136,8 @@ template<class X , class Y > </div>
|
|
|
1136
1136
|
</table>
|
|
1137
1137
|
</div><div class="memdoc">
|
|
1138
1138
|
|
|
1139
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1140
|
-
<div class="fragment"><div class="line"><a name="
|
|
1139
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00669">669</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1140
|
+
<div class="fragment"><div class="line"><a name="l00670"></a><span class="lineno"> 670</span> {</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getActualParmAtForkSite(inst);</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span> }</div></div><!-- fragment -->
|
|
1141
1141
|
</div>
|
|
1142
1142
|
</div>
|
|
1143
1143
|
<a id="a145abbd2958629718fbca41d25c3124d"></a>
|
|
@@ -1166,8 +1166,8 @@ template<class X , class Y > </div>
|
|
|
1166
1166
|
|
|
1167
1167
|
<p>Return callee of a callsite. Return null if this is an indirect call. </p>
|
|
1168
1168
|
|
|
1169
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1170
|
-
<div class="fragment"><div class="line"><a name="
|
|
1169
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00269">269</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1170
|
+
<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="comment">// FIXME: do we need to strip-off the casts here to discover more library functions</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *callee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>>(cs.getCalledValue()->stripPointerCasts());</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">getDefFunForMultipleModule</a>(callee);</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a142e650415cb81011eb59dadd3cb0637"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a142e650415cb81011eb59dadd3cb0637">SVF::SVFUtil::getDefFunForMultipleModule</a></div><div class="ttdeci">const SVFFunction * getDefFunForMultipleModule(const Function *fun)</div><div class="ttdoc">Get the definition of a function across multiple modules. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00257">SVFUtil.h:257</a></div></div>
|
|
1171
1171
|
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
1172
1172
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
1173
1173
|
</div><!-- fragment -->
|
|
@@ -1197,8 +1197,8 @@ template<class X , class Y > </div>
|
|
|
1197
1197
|
</table>
|
|
1198
1198
|
</div><div class="memdoc">
|
|
1199
1199
|
|
|
1200
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1201
|
-
<div class="fragment"><div class="line"><a name="
|
|
1200
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00276">276</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1201
|
+
<div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a38bf8f7eaa18fc5a09711959b5417854">isCallSite</a>(inst))</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  CallSite cs(const_cast<Instruction*>(inst));</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs);</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
1202
1202
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a38bf8f7eaa18fc5a09711959b5417854"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a38bf8f7eaa18fc5a09711959b5417854">SVF::SVFUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const Value *val)</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#l00201">SVFUtil.h:201</a></div></div>
|
|
1203
1203
|
</div><!-- fragment -->
|
|
1204
1204
|
</div>
|
|
@@ -1229,8 +1229,8 @@ template<class X , class Y > </div>
|
|
|
1229
1229
|
|
|
1230
1230
|
<p>Get the definition of a function across multiple modules. </p>
|
|
1231
1231
|
|
|
1232
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1233
|
-
<div class="fragment"><div class="line"><a name="
|
|
1232
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00257">257</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1233
|
+
<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">if</span>(fun == <span class="keyword">nullptr</span>) <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  LLVMModuleSet* llvmModuleset = LLVMModuleSet::getLLVMModuleSet();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">const</span> SVFFunction* svfFun = llvmModuleset->getSVFFunction(fun);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">if</span> (fun->isDeclaration() && llvmModuleset->hasDefinition(fun))</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  svfFun = LLVMModuleSet::getLLVMModuleSet()->getDefinition(fun);</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">return</span> svfFun;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div></div><!-- fragment -->
|
|
1234
1234
|
</div>
|
|
1235
1235
|
</div>
|
|
1236
1236
|
<a id="ac840e43fa58a90099de99a1953f091ac"></a>
|
|
@@ -1259,8 +1259,8 @@ template<class X , class Y > </div>
|
|
|
1259
1259
|
|
|
1260
1260
|
<p>Return thread fork function. </p>
|
|
1261
1261
|
|
|
1262
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1263
|
-
<div class="fragment"><div class="line"><a name="
|
|
1262
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00449">449</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1263
|
+
<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno"> 450</span> {</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getForkedFun(cs);</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span> }</div></div><!-- fragment -->
|
|
1264
1264
|
</div>
|
|
1265
1265
|
</div>
|
|
1266
1266
|
<a id="a4cc8c549625712e006079642c656ec83"></a>
|
|
@@ -1287,8 +1287,8 @@ template<class X , class Y > </div>
|
|
|
1287
1287
|
</table>
|
|
1288
1288
|
</div><div class="memdoc">
|
|
1289
1289
|
|
|
1290
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1291
|
-
<div class="fragment"><div class="line"><a name="
|
|
1290
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00453">453</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1291
|
+
<div class="fragment"><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getForkedFun(inst);</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div></div><!-- fragment -->
|
|
1292
1292
|
</div>
|
|
1293
1293
|
</div>
|
|
1294
1294
|
<a id="aa09c2b313ff1c1abcc1e5cb3f9ef46a5"></a>
|
|
@@ -1318,10 +1318,7 @@ template<class X , class Y > </div>
|
|
|
1318
1318
|
<p>Get the corresponding Function based on its name. </p>
|
|
1319
1319
|
|
|
1320
1320
|
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00225">225</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1321
|
-
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <
|
|
1322
|
-
<div class="ttc" id="cJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
|
|
1323
|
-
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00085">SVFBasicTypes.h:85</a></div></div>
|
|
1324
|
-
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
1321
|
+
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div><div class="ttc" id="cJSON_8h_html_a25d22ecc7e656d2c59332072684e8766"><div class="ttname"><a href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a></div><div class="ttdeci">const char *const name</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00264">cJSON.h:264</a></div></div>
|
|
1325
1322
|
</div><!-- fragment -->
|
|
1326
1323
|
</div>
|
|
1327
1324
|
</div>
|
|
@@ -1351,8 +1348,8 @@ template<class X , class Y > </div>
|
|
|
1351
1348
|
|
|
1352
1349
|
<p>find the unique defined global across multiple modules </p>
|
|
1353
1350
|
|
|
1354
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1355
|
-
<div class="fragment"><div class="line"><a name="
|
|
1351
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00246">246</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1352
|
+
<div class="fragment"><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a>* gvar = SVFUtil::dyn_cast<GlobalVariable>(val))</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">if</span> (LLVMModuleSet::getLLVMModuleSet()->hasGlobalRep(gvar))</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  val = LLVMModuleSet::getLLVMModuleSet()->getGlobalRep(gvar);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> val;</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div><div class="ttc" id="namespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
1356
1353
|
</div><!-- fragment -->
|
|
1357
1354
|
</div>
|
|
1358
1355
|
</div>
|
|
@@ -1382,8 +1379,8 @@ template<class X , class Y > </div>
|
|
|
1382
1379
|
|
|
1383
1380
|
<p>Get the position of argument that holds an allocated heap object. </p>
|
|
1384
1381
|
|
|
1385
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1386
|
-
<div class="fragment"><div class="line"><a name="
|
|
1382
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00367">367</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1383
|
+
<div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> ExtAPI::getExtAPI()->get_alloc_arg_pos(fun);</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div></div><!-- fragment -->
|
|
1387
1384
|
</div>
|
|
1388
1385
|
</div>
|
|
1389
1386
|
<a id="a298b6366145ed871faf3d01420ae5d20"></a>
|
|
@@ -1410,9 +1407,9 @@ template<class X , class Y > </div>
|
|
|
1410
1407
|
</table>
|
|
1411
1408
|
</div><div class="memdoc">
|
|
1412
1409
|
|
|
1413
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1414
|
-
<div class="fragment"><div class="line"><a name="
|
|
1415
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
1410
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00518">518</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1411
|
+
<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5af986a7698e72272707cc2a466d5ae7">getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5af986a7698e72272707cc2a466d5ae7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5af986a7698e72272707cc2a466d5ae7">SVF::SVFUtil::getHeapAllocHoldingArgPosition</a></div><div class="ttdeci">int getHeapAllocHoldingArgPosition(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00523">SVFUtil.h:523</a></div></div>
|
|
1412
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
1416
1413
|
</div><!-- fragment -->
|
|
1417
1414
|
</div>
|
|
1418
1415
|
</div>
|
|
@@ -1440,9 +1437,9 @@ template<class X , class Y > </div>
|
|
|
1440
1437
|
</table>
|
|
1441
1438
|
</div><div class="memdoc">
|
|
1442
1439
|
|
|
1443
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1444
|
-
<div class="fragment"><div class="line"><a name="
|
|
1445
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
1440
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00523">523</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1441
|
+
<div class="fragment"><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5af986a7698e72272707cc2a466d5ae7">getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a5af986a7698e72272707cc2a466d5ae7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5af986a7698e72272707cc2a466d5ae7">SVF::SVFUtil::getHeapAllocHoldingArgPosition</a></div><div class="ttdeci">int getHeapAllocHoldingArgPosition(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00523">SVFUtil.h:523</a></div></div>
|
|
1442
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
1446
1443
|
</div><!-- fragment -->
|
|
1447
1444
|
</div>
|
|
1448
1445
|
</div>
|
|
@@ -1503,8 +1500,8 @@ template<class X , class Y > </div>
|
|
|
1503
1500
|
|
|
1504
1501
|
<p>Return LLVM function if this value is. </p>
|
|
1505
1502
|
|
|
1506
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1507
|
-
<div class="fragment"><div class="line"><a name="
|
|
1503
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00468">468</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1504
|
+
<div class="fragment"><div class="line"><a name="l00469"></a><span class="lineno"> 469</span> {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>>(val->stripPointerCasts());</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }</div><div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
1508
1505
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
1509
1506
|
</div><!-- fragment -->
|
|
1510
1507
|
</div>
|
|
@@ -1570,8 +1567,8 @@ template<class X , class Y > </div>
|
|
|
1570
1567
|
|
|
1571
1568
|
<p>Get program entry function from module. </p>
|
|
1572
1569
|
|
|
1573
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1574
|
-
<div class="fragment"><div class="line"><a name="
|
|
1570
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00418">418</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1571
|
+
<div class="fragment"><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> {</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">for</span> (SVFModule::const_iterator it = svfModule->begin(), eit = svfModule->end(); it != eit; ++it)</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  {</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keyword">const</span> SVFFunction *fun = *it;</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab87fef7b10465d3e635643fcb93b95a7">isProgEntryFunction</a>(fun))</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">return</span> (fun);</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  }</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab87fef7b10465d3e635643fcb93b95a7"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab87fef7b10465d3e635643fcb93b95a7">SVF::SVFUtil::isProgEntryFunction</a></div><div class="ttdeci">bool isProgEntryFunction(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00699">SVFUtil.h:699</a></div></div>
|
|
1575
1572
|
</div><!-- fragment -->
|
|
1576
1573
|
</div>
|
|
1577
1574
|
</div>
|
|
@@ -1611,8 +1608,8 @@ template<class X , class Y > </div>
|
|
|
1611
1608
|
|
|
1612
1609
|
<p>Get program entry function from module. </p>
|
|
1613
1610
|
|
|
1614
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1615
|
-
<div class="fragment"><div class="line"><a name="
|
|
1611
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00406">406</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1612
|
+
<div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span> {</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">for</span> (SVFModule::const_iterator it = svfModule->begin(), eit = svfModule->end(); it != eit; ++it)</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keyword">const</span> SVFFunction *fun = *it;</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">if</span> (fun->getName()==funName)</div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">return</span> fun;</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  }</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div></div><!-- fragment -->
|
|
1616
1613
|
</div>
|
|
1617
1614
|
</div>
|
|
1618
1615
|
<a id="a28c0ede7e4765d2a686fc8ae0f5641a4"></a>
|
|
@@ -1641,13 +1638,13 @@ template<class X , class Y > </div>
|
|
|
1641
1638
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a86c1c8bdfc1075c07c631525555194d2"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a86c1c8bdfc1075c07c631525555194d2">SVF::SVFUtil::getSourceLocOfFunction</a></div><div class="ttdeci">std::string getSourceLocOfFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00248">SVFUtil.cpp:248</a></div></div>
|
|
1642
1639
|
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
1643
1640
|
<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#l00073">BasicTypes.h:73</a></div></div>
|
|
1644
|
-
<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#
|
|
1645
|
-
<div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
1646
|
-
<div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
1647
|
-
<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="SVFUtil_8h_source.html#
|
|
1648
|
-
<div class="ttc" id="namespaceSVF_html_a98310cccad527f8151328f2c87b29563"><div class="ttname"><a href="namespaceSVF.html#a98310cccad527f8151328f2c87b29563">SVF::DbgInfoIntrinsic</a></div><div class="ttdeci">llvm::DbgInfoIntrinsic DbgInfoIntrinsic</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
1649
|
-
<div class="ttc" id="namespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
1650
|
-
<div class="ttc" id="namespaceSVF_html_a52a9bff350f21692eae3b519030c314d"><div class="ttname"><a href="namespaceSVF.html#a52a9bff350f21692eae3b519030c314d">SVF::DbgDeclareInst</a></div><div class="ttdeci">llvm::DbgDeclareInst DbgDeclareInst</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
1641
|
+
<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#l00082">BasicTypes.h:82</a></div></div>
|
|
1642
|
+
<div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00092">BasicTypes.h:92</a></div></div>
|
|
1643
|
+
<div class="ttc" id="namespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00099">BasicTypes.h:99</a></div></div>
|
|
1644
|
+
<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="SVFUtil_8h_source.html#l00439">SVFUtil.h:439</a></div></div>
|
|
1645
|
+
<div class="ttc" id="namespaceSVF_html_a98310cccad527f8151328f2c87b29563"><div class="ttname"><a href="namespaceSVF.html#a98310cccad527f8151328f2c87b29563">SVF::DbgInfoIntrinsic</a></div><div class="ttdeci">llvm::DbgInfoIntrinsic DbgInfoIntrinsic</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00101">BasicTypes.h:101</a></div></div>
|
|
1646
|
+
<div class="ttc" id="namespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00098">BasicTypes.h:98</a></div></div>
|
|
1647
|
+
<div class="ttc" id="namespaceSVF_html_a52a9bff350f21692eae3b519030c314d"><div class="ttname"><a href="namespaceSVF.html#a52a9bff350f21692eae3b519030c314d">SVF::DbgDeclareInst</a></div><div class="ttdeci">llvm::DbgDeclareInst DbgDeclareInst</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
|
|
1651
1648
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
1652
1649
|
</div><!-- fragment -->
|
|
1653
1650
|
</div>
|
|
@@ -1670,8 +1667,8 @@ template<class X , class Y > </div>
|
|
|
1670
1667
|
<p>Get source code line number of a function according to debug info </p>
|
|
1671
1668
|
|
|
1672
1669
|
<p class="definition">Definition at line <a class="el" href="SVFUtil_8cpp_source.html#l00248">248</a> of file <a class="el" href="SVFUtil_8cpp_source.html">SVFUtil.cpp</a>.</p>
|
|
1673
|
-
<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="comment">/*</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> * https://reviews.llvm.org/D18074?id=50385</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> * looks like the relevant</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> */</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">llvm::DISubprogram</a> *SP = <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>->getSubprogram())</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span> (SP->describes(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>))</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  rawstr << <span class="stringliteral">"in line: "</span> << SP->getLine() << <span class="stringliteral">" file: "</span> << SP->getFilename();</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div><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#
|
|
1674
|
-
<div class="ttc" id="namespaceSVF_html_a89c7208bfc0b57873dfa574f52050295"><div class="ttname"><a href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">SVF::DISubprogram</a></div><div class="ttdeci">llvm::DISubprogram DISubprogram</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
1670
|
+
<div class="fragment"><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <span class="comment">/*</span></div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment"> * https://reviews.llvm.org/D18074?id=50385</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> * looks like the relevant</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> */</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">llvm::DISubprogram</a> *SP = <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>->getSubprogram())</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  {</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span> (SP->describes(<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>))</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  rawstr << <span class="stringliteral">"in line: "</span> << SP->getLine() << <span class="stringliteral">" file: "</span> << SP->getFilename();</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  }</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> }</div><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#l00082">BasicTypes.h:82</a></div></div>
|
|
1671
|
+
<div class="ttc" id="namespaceSVF_html_a89c7208bfc0b57873dfa574f52050295"><div class="ttname"><a href="namespaceSVF.html#a89c7208bfc0b57873dfa574f52050295">SVF::DISubprogram</a></div><div class="ttdeci">llvm::DISubprogram DISubprogram</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00123">BasicTypes.h:123</a></div></div>
|
|
1675
1672
|
<div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
|
|
1676
1673
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
1677
1674
|
</div><!-- fragment -->
|
|
@@ -1703,8 +1700,8 @@ template<class X , class Y > </div>
|
|
|
1703
1700
|
|
|
1704
1701
|
<p>Return the task data argument of the parallel_for rountine. </p>
|
|
1705
1702
|
|
|
1706
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1707
|
-
<div class="fragment"><div class="line"><a name="
|
|
1703
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00689">689</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1704
|
+
<div class="fragment"><div class="line"><a name="l00690"></a><span class="lineno"> 690</span> {</div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getTaskDataAtHareParForSite(cs);</div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span> }</div></div><!-- fragment -->
|
|
1708
1705
|
</div>
|
|
1709
1706
|
</div>
|
|
1710
1707
|
<a id="a5f3dd36ee492b60039928a86519518a5"></a>
|
|
@@ -1731,8 +1728,8 @@ template<class X , class Y > </div>
|
|
|
1731
1728
|
</table>
|
|
1732
1729
|
</div><div class="memdoc">
|
|
1733
1730
|
|
|
1734
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1735
|
-
<div class="fragment"><div class="line"><a name="
|
|
1731
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00693">693</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1732
|
+
<div class="fragment"><div class="line"><a name="l00694"></a><span class="lineno"> 694</span> {</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getTaskDataAtHareParForSite(inst);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> }</div></div><!-- fragment -->
|
|
1736
1733
|
</div>
|
|
1737
1734
|
</div>
|
|
1738
1735
|
<a id="ab048cbce6e4f5a3d6ff90da3565220ff"></a>
|
|
@@ -1761,8 +1758,8 @@ template<class X , class Y > </div>
|
|
|
1761
1758
|
|
|
1762
1759
|
<p>Return the task function of the parallel_for routine. </p>
|
|
1763
1760
|
|
|
1764
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1765
|
-
<div class="fragment"><div class="line"><a name="
|
|
1761
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00677">677</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1762
|
+
<div class="fragment"><div class="line"><a name="l00678"></a><span class="lineno"> 678</span> {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getTaskFuncAtHareParForSite(cs);</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span> }</div></div><!-- fragment -->
|
|
1766
1763
|
</div>
|
|
1767
1764
|
</div>
|
|
1768
1765
|
<a id="a111fa1ecf72adbd2e0ff27e922f0d34a"></a>
|
|
@@ -1789,8 +1786,8 @@ template<class X , class Y > </div>
|
|
|
1789
1786
|
</table>
|
|
1790
1787
|
</div><div class="memdoc">
|
|
1791
1788
|
|
|
1792
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1793
|
-
<div class="fragment"><div class="line"><a name="
|
|
1789
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00681">681</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1790
|
+
<div class="fragment"><div class="line"><a name="l00682"></a><span class="lineno"> 682</span> {</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->getTaskFuncAtHareParForSite(inst);</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span> }</div></div><!-- fragment -->
|
|
1794
1791
|
</div>
|
|
1795
1792
|
</div>
|
|
1796
1793
|
<a id="a14a4c5124f2fd03ca3d898e2acd54160"></a>
|
|
@@ -1881,8 +1878,8 @@ template<typename Key , typename KeySet > </div>
|
|
|
1881
1878
|
|
|
1882
1879
|
<p>Inserts an element into a Set/CondSet (with ::insert). </p>
|
|
1883
1880
|
|
|
1884
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1885
|
-
<div class="fragment"><div class="line"><a name="
|
|
1881
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00307">307</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1882
|
+
<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  keySet.insert(key);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> }</div></div><!-- fragment -->
|
|
1886
1883
|
</div>
|
|
1887
1884
|
</div>
|
|
1888
1885
|
<a id="a4f75b8313eb2b1e5a4c798a01cb99471"></a>
|
|
@@ -1921,8 +1918,8 @@ template<typename Key , typename KeySet > </div>
|
|
|
1921
1918
|
|
|
1922
1919
|
<p>Inserts a NodeID into a NodeBS. </p>
|
|
1923
1920
|
|
|
1924
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1925
|
-
<div class="fragment"><div class="line"><a name="
|
|
1921
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00313">313</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1922
|
+
<div class="fragment"><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> {</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  keySet.set(key);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> }</div></div><!-- fragment -->
|
|
1926
1923
|
</div>
|
|
1927
1924
|
</div>
|
|
1928
1925
|
<a id="a5c8cbc986cccb9d84f87aae162df3737"></a>
|
|
@@ -1981,8 +1978,8 @@ template<class X , class Y > </div>
|
|
|
1981
1978
|
|
|
1982
1979
|
<p>This function servers a allocation wrapper detector. </p>
|
|
1983
1980
|
|
|
1984
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
1985
|
-
<div class="fragment"><div class="line"><a name="
|
|
1981
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00462">462</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
1982
|
+
<div class="fragment"><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> {</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div></div><!-- fragment -->
|
|
1986
1983
|
</div>
|
|
1987
1984
|
</div>
|
|
1988
1985
|
<a id="ad09ba410acbbaee2aac9dd406c3cf01a"></a>
|
|
@@ -2011,8 +2008,8 @@ template<class X , class Y > </div>
|
|
|
2011
2008
|
|
|
2012
2009
|
<p>Return true if this is a barrier wait call. </p>
|
|
2013
2010
|
|
|
2014
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2015
|
-
<div class="fragment"><div class="line"><a name="
|
|
2011
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00653">653</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2012
|
+
<div class="fragment"><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> {</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDBarWait(cs);</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> }</div></div><!-- fragment -->
|
|
2016
2013
|
</div>
|
|
2017
2014
|
</div>
|
|
2018
2015
|
<a id="a0a7fc57e1f5cec705e310a4bb72cba94"></a>
|
|
@@ -2039,8 +2036,8 @@ template<class X , class Y > </div>
|
|
|
2039
2036
|
</table>
|
|
2040
2037
|
</div><div class="memdoc">
|
|
2041
2038
|
|
|
2042
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2043
|
-
<div class="fragment"><div class="line"><a name="
|
|
2039
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00657">657</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2040
|
+
<div class="fragment"><div class="line"><a name="l00658"></a><span class="lineno"> 658</span> {</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDBarWait(inst);</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span> }</div></div><!-- fragment -->
|
|
2044
2041
|
</div>
|
|
2045
2042
|
</div>
|
|
2046
2043
|
<a id="a2e08ce822223842fa6a73fd659b1a526"></a>
|
|
@@ -2131,8 +2128,8 @@ template<class X , class Y > </div>
|
|
|
2131
2128
|
|
|
2132
2129
|
<p>Return true if the value refers to constant data, e.g., i32 0. </p>
|
|
2133
2130
|
|
|
2134
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2135
|
-
<div class="fragment"><div class="line"><a name="
|
|
2131
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00439">439</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2132
|
+
<div class="fragment"><div class="line"><a name="l00440"></a><span class="lineno"> 440</span> {</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">return</span> SVFUtil::isa<ConstantData>(val)</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  || SVFUtil::isa<ConstantAggregate>(val)</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  || SVFUtil::isa<MetadataAsValue>(val)</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  || SVFUtil::isa<BlockAddress>(val);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div></div><!-- fragment -->
|
|
2136
2133
|
</div>
|
|
2137
2134
|
</div>
|
|
2138
2135
|
<a id="a1f52a7f183f1eec7c4db7e4e54fa5e2c"></a>
|
|
@@ -2159,9 +2156,9 @@ template<class X , class Y > </div>
|
|
|
2159
2156
|
</table>
|
|
2160
2157
|
</div><div class="memdoc">
|
|
2161
2158
|
|
|
2162
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2163
|
-
<div class="fragment"><div class="line"><a name="
|
|
2164
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2159
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00542">542</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2160
|
+
<div class="fragment"><div class="line"><a name="l00543"></a><span class="lineno"> 543</span> {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a3495236e22e4bc6404b6ac352060439c">isDeallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a3495236e22e4bc6404b6ac352060439c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a3495236e22e4bc6404b6ac352060439c">SVF::SVFUtil::isDeallocExtFun</a></div><div class="ttdeci">bool isDeallocExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap dealloc or not. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00383">SVFUtil.h:383</a></div></div>
|
|
2161
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2165
2162
|
</div><!-- fragment -->
|
|
2166
2163
|
</div>
|
|
2167
2164
|
</div>
|
|
@@ -2189,9 +2186,9 @@ template<class X , class Y > </div>
|
|
|
2189
2186
|
</table>
|
|
2190
2187
|
</div><div class="memdoc">
|
|
2191
2188
|
|
|
2192
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2193
|
-
<div class="fragment"><div class="line"><a name="
|
|
2194
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2189
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00547">547</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2190
|
+
<div class="fragment"><div class="line"><a name="l00548"></a><span class="lineno"> 548</span> {</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a3495236e22e4bc6404b6ac352060439c">isDeallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a3495236e22e4bc6404b6ac352060439c"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a3495236e22e4bc6404b6ac352060439c">SVF::SVFUtil::isDeallocExtFun</a></div><div class="ttdeci">bool isDeallocExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap dealloc or not. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00383">SVFUtil.h:383</a></div></div>
|
|
2191
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2195
2192
|
</div><!-- fragment -->
|
|
2196
2193
|
</div>
|
|
2197
2194
|
</div>
|
|
@@ -2222,8 +2219,8 @@ template<class X , class Y > </div>
|
|
|
2222
2219
|
<p>Return true if the call is a heap dealloc or not. </p>
|
|
2223
2220
|
<p>note that this function is not suppose to be used externally </p>
|
|
2224
2221
|
|
|
2225
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2226
|
-
<div class="fragment"><div class="line"><a name="
|
|
2222
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00383">383</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2223
|
+
<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno"> 384</span> {</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">return</span> fun && (ExtAPI::getExtAPI()->is_dealloc(fun));</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div></div><!-- fragment -->
|
|
2227
2224
|
</div>
|
|
2228
2225
|
</div>
|
|
2229
2226
|
<a id="a22ef185e767ff76c098e75126c885400"></a>
|
|
@@ -2251,8 +2248,8 @@ template<class X , class Y > </div>
|
|
|
2251
2248
|
</div><div class="memdoc">
|
|
2252
2249
|
<p>Return true if the call is an external call (external library in function summary table) If the libary function is redefined in the application code (e.g., memcpy), it will return false and will not be treated as an external call. </p>
|
|
2253
2250
|
|
|
2254
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2255
|
-
<div class="fragment"><div class="line"><a name="
|
|
2251
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00346">346</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2252
|
+
<div class="fragment"><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> {</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span> fun && ExtAPI::getExtAPI()->is_ext(fun);</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span> }</div></div><!-- fragment -->
|
|
2256
2253
|
</div>
|
|
2257
2254
|
</div>
|
|
2258
2255
|
<a id="aad27a96075234ad2182a84e0e9d31a45"></a>
|
|
@@ -2279,9 +2276,9 @@ template<class X , class Y > </div>
|
|
|
2279
2276
|
</table>
|
|
2280
2277
|
</div><div class="memdoc">
|
|
2281
2278
|
|
|
2282
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2283
|
-
<div class="fragment"><div class="line"><a name="
|
|
2284
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af3e5fd7ffce966575ebf7c7e653b0919"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af3e5fd7ffce966575ebf7c7e653b0919">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2279
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00474">474</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2280
|
+
<div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno"> 475</span> {</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af3e5fd7ffce966575ebf7c7e653b0919">isExtCall</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2281
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af3e5fd7ffce966575ebf7c7e653b0919"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af3e5fd7ffce966575ebf7c7e653b0919">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00479">SVFUtil.h:479</a></div></div>
|
|
2285
2282
|
</div><!-- fragment -->
|
|
2286
2283
|
</div>
|
|
2287
2284
|
</div>
|
|
@@ -2309,9 +2306,9 @@ template<class X , class Y > </div>
|
|
|
2309
2306
|
</table>
|
|
2310
2307
|
</div><div class="memdoc">
|
|
2311
2308
|
|
|
2312
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2313
|
-
<div class="fragment"><div class="line"><a name="
|
|
2314
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af3e5fd7ffce966575ebf7c7e653b0919"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af3e5fd7ffce966575ebf7c7e653b0919">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2309
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00479">479</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2310
|
+
<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> {</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#af3e5fd7ffce966575ebf7c7e653b0919">isExtCall</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2311
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af3e5fd7ffce966575ebf7c7e653b0919"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af3e5fd7ffce966575ebf7c7e653b0919">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00479">SVFUtil.h:479</a></div></div>
|
|
2315
2312
|
</div><!-- fragment -->
|
|
2316
2313
|
</div>
|
|
2317
2314
|
</div>
|
|
@@ -2340,8 +2337,8 @@ template<class X , class Y > </div>
|
|
|
2340
2337
|
</div><div class="memdoc">
|
|
2341
2338
|
<p>Return true if this is a hare_parallel_for call </p>
|
|
2342
2339
|
|
|
2343
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2344
|
-
<div class="fragment"><div class="line"><a name="
|
|
2340
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00593">593</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2341
|
+
<div class="fragment"><div class="line"><a name="l00594"></a><span class="lineno"> 594</span> {</div><div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isHareParFor(cs);</div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div></div><!-- fragment -->
|
|
2345
2342
|
</div>
|
|
2346
2343
|
</div>
|
|
2347
2344
|
<a id="a9b37c6fe1232ebc35ffa052bd392e2e8"></a>
|
|
@@ -2368,8 +2365,8 @@ template<class X , class Y > </div>
|
|
|
2368
2365
|
</table>
|
|
2369
2366
|
</div><div class="memdoc">
|
|
2370
2367
|
|
|
2371
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2372
|
-
<div class="fragment"><div class="line"><a name="
|
|
2368
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00597">597</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2369
|
+
<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isHareParFor(inst);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div></div><!-- fragment -->
|
|
2373
2370
|
</div>
|
|
2374
2371
|
</div>
|
|
2375
2372
|
<a id="a93ac673b885633849fa484938405ca75"></a>
|
|
@@ -2396,9 +2393,9 @@ template<class X , class Y > </div>
|
|
|
2396
2393
|
</table>
|
|
2397
2394
|
</div><div class="memdoc">
|
|
2398
2395
|
|
|
2399
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2400
|
-
<div class="fragment"><div class="line"><a name="
|
|
2401
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a0bde3acf22383eac5bbf4e2c065a2226"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a0bde3acf22383eac5bbf4e2c065a2226">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2396
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00507">507</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2397
|
+
<div class="fragment"><div class="line"><a name="l00508"></a><span class="lineno"> 508</span> {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a24514d87685f2258201f0de15d220bbc">isHeapAllocExtCallViaRet</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#a0bde3acf22383eac5bbf4e2c065a2226">isHeapAllocExtCallViaArg</a>(cs);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a24514d87685f2258201f0de15d220bbc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a24514d87685f2258201f0de15d220bbc">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00501">SVFUtil.h:501</a></div></div>
|
|
2398
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a0bde3acf22383eac5bbf4e2c065a2226"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a0bde3acf22383eac5bbf4e2c065a2226">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00489">SVFUtil.h:489</a></div></div>
|
|
2402
2399
|
</div><!-- fragment -->
|
|
2403
2400
|
</div>
|
|
2404
2401
|
</div>
|
|
@@ -2426,9 +2423,9 @@ template<class X , class Y > </div>
|
|
|
2426
2423
|
</table>
|
|
2427
2424
|
</div><div class="memdoc">
|
|
2428
2425
|
|
|
2429
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2430
|
-
<div class="fragment"><div class="line"><a name="
|
|
2431
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a0bde3acf22383eac5bbf4e2c065a2226"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a0bde3acf22383eac5bbf4e2c065a2226">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2426
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00512">512</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2427
|
+
<div class="fragment"><div class="line"><a name="l00513"></a><span class="lineno"> 513</span> {</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a24514d87685f2258201f0de15d220bbc">isHeapAllocExtCallViaRet</a>(inst) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#a0bde3acf22383eac5bbf4e2c065a2226">isHeapAllocExtCallViaArg</a>(inst);</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a24514d87685f2258201f0de15d220bbc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a24514d87685f2258201f0de15d220bbc">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00501">SVFUtil.h:501</a></div></div>
|
|
2428
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a0bde3acf22383eac5bbf4e2c065a2226"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a0bde3acf22383eac5bbf4e2c065a2226">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00489">SVFUtil.h:489</a></div></div>
|
|
2432
2429
|
</div><!-- fragment -->
|
|
2433
2430
|
</div>
|
|
2434
2431
|
</div>
|
|
@@ -2456,9 +2453,9 @@ template<class X , class Y > </div>
|
|
|
2456
2453
|
</table>
|
|
2457
2454
|
</div><div class="memdoc">
|
|
2458
2455
|
|
|
2459
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2460
|
-
<div class="fragment"><div class="line"><a name="
|
|
2461
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab4a69173f50ebe48e69103befe516245"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">SVF::SVFUtil::isHeapAllocExtFunViaArg</a></div><div class="ttdeci">bool isHeapAllocExtFunViaArg(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2456
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00484">484</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2457
|
+
<div class="fragment"><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> {</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">isHeapAllocExtFunViaArg</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2458
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab4a69173f50ebe48e69103befe516245"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">SVF::SVFUtil::isHeapAllocExtFunViaArg</a></div><div class="ttdeci">bool isHeapAllocExtFunViaArg(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00360">SVFUtil.h:360</a></div></div>
|
|
2462
2459
|
</div><!-- fragment -->
|
|
2463
2460
|
</div>
|
|
2464
2461
|
</div>
|
|
@@ -2486,9 +2483,9 @@ template<class X , class Y > </div>
|
|
|
2486
2483
|
</table>
|
|
2487
2484
|
</div><div class="memdoc">
|
|
2488
2485
|
|
|
2489
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2490
|
-
<div class="fragment"><div class="line"><a name="
|
|
2491
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab4a69173f50ebe48e69103befe516245"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">SVF::SVFUtil::isHeapAllocExtFunViaArg</a></div><div class="ttdeci">bool isHeapAllocExtFunViaArg(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2486
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00489">489</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2487
|
+
<div class="fragment"><div class="line"><a name="l00490"></a><span class="lineno"> 490</span> {</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">isHeapAllocExtFunViaArg</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2488
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab4a69173f50ebe48e69103befe516245"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab4a69173f50ebe48e69103befe516245">SVF::SVFUtil::isHeapAllocExtFunViaArg</a></div><div class="ttdeci">bool isHeapAllocExtFunViaArg(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00360">SVFUtil.h:360</a></div></div>
|
|
2492
2489
|
</div><!-- fragment -->
|
|
2493
2490
|
</div>
|
|
2494
2491
|
</div>
|
|
@@ -2518,9 +2515,9 @@ template<class X , class Y > </div>
|
|
|
2518
2515
|
|
|
2519
2516
|
<p>interfaces to be used externally </p>
|
|
2520
2517
|
|
|
2521
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2522
|
-
<div class="fragment"><div class="line"><a name="
|
|
2523
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2518
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00495">495</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2519
|
+
<div class="fragment"><div class="line"><a name="l00496"></a><span class="lineno"> 496</span> {</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordtype">bool</span> isPtrTy = cs.getInstruction()->getType()->isPointerTy();</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">return</span> isPtrTy && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">isHeapAllocExtFunViaRet</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2520
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00354">SVFUtil.h:354</a></div></div>
|
|
2524
2521
|
</div><!-- fragment -->
|
|
2525
2522
|
</div>
|
|
2526
2523
|
</div>
|
|
@@ -2548,9 +2545,9 @@ template<class X , class Y > </div>
|
|
|
2548
2545
|
</table>
|
|
2549
2546
|
</div><div class="memdoc">
|
|
2550
2547
|
|
|
2551
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2552
|
-
<div class="fragment"><div class="line"><a name="
|
|
2553
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2548
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00501">501</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2549
|
+
<div class="fragment"><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordtype">bool</span> isPtrTy = inst->getType()->isPointerTy();</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">return</span> isPtrTy && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">isHeapAllocExtFunViaRet</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2550
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a19b96a872d9096037f20e25122e469ea"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a19b96a872d9096037f20e25122e469ea">SVF::SVFUtil::isHeapAllocExtFunViaRet</a></div><div class="ttdeci">bool isHeapAllocExtFunViaRet(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap allocator/reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00354">SVFUtil.h:354</a></div></div>
|
|
2554
2551
|
</div><!-- fragment -->
|
|
2555
2552
|
</div>
|
|
2556
2553
|
</div>
|
|
@@ -2578,8 +2575,8 @@ template<class X , class Y > </div>
|
|
|
2578
2575
|
</table>
|
|
2579
2576
|
</div><div class="memdoc">
|
|
2580
2577
|
|
|
2581
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2582
|
-
<div class="fragment"><div class="line"><a name="
|
|
2578
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00360">360</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2579
|
+
<div class="fragment"><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> {</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> fun && ExtAPI::getExtAPI()->is_arg_alloc(fun);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span> }</div></div><!-- fragment -->
|
|
2583
2580
|
</div>
|
|
2584
2581
|
</div>
|
|
2585
2582
|
<a id="a19b96a872d9096037f20e25122e469ea"></a>
|
|
@@ -2609,8 +2606,8 @@ template<class X , class Y > </div>
|
|
|
2609
2606
|
<p>Return true if the call is a heap allocator/reallocator. </p>
|
|
2610
2607
|
<p>note that these two functions are not suppose to be used externally </p>
|
|
2611
2608
|
|
|
2612
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2613
|
-
<div class="fragment"><div class="line"><a name="
|
|
2609
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00354">354</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2610
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span> {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> fun && (ExtAPI::getExtAPI()->is_alloc(fun)</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  || ExtAPI::getExtAPI()->is_realloc(fun));</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span> }</div></div><!-- fragment -->
|
|
2614
2611
|
</div>
|
|
2615
2612
|
</div>
|
|
2616
2613
|
<a id="a61ed4bb80d88b0f8dbc02535c224fdfb"></a>
|
|
@@ -2639,9 +2636,9 @@ template<class X , class Y > </div>
|
|
|
2639
2636
|
|
|
2640
2637
|
<p>Return true if the call is a static global call. </p>
|
|
2641
2638
|
|
|
2642
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2643
|
-
<div class="fragment"><div class="line"><a name="
|
|
2644
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aab8ac16a9a2961f98001ab94aeaedf64"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aab8ac16a9a2961f98001ab94aeaedf64">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2639
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00568">568</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2640
|
+
<div class="fragment"><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> {</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aab8ac16a9a2961f98001ab94aeaedf64">isStaticExtCall</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1ebbf43e294c3f94a2a7d5c56759bbba">isHeapAllocExtCall</a>(cs);</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a1ebbf43e294c3f94a2a7d5c56759bbba"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1ebbf43e294c3f94a2a7d5c56759bbba">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00512">SVFUtil.h:512</a></div></div>
|
|
2641
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aab8ac16a9a2961f98001ab94aeaedf64"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aab8ac16a9a2961f98001ab94aeaedf64">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00559">SVFUtil.h:559</a></div></div>
|
|
2645
2642
|
</div><!-- fragment -->
|
|
2646
2643
|
</div>
|
|
2647
2644
|
</div>
|
|
@@ -2669,9 +2666,9 @@ template<class X , class Y > </div>
|
|
|
2669
2666
|
</table>
|
|
2670
2667
|
</div><div class="memdoc">
|
|
2671
2668
|
|
|
2672
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2673
|
-
<div class="fragment"><div class="line"><a name="
|
|
2674
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aab8ac16a9a2961f98001ab94aeaedf64"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aab8ac16a9a2961f98001ab94aeaedf64">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2669
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00573">573</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2670
|
+
<div class="fragment"><div class="line"><a name="l00574"></a><span class="lineno"> 574</span> {</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aab8ac16a9a2961f98001ab94aeaedf64">isStaticExtCall</a>(inst) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1ebbf43e294c3f94a2a7d5c56759bbba">isHeapAllocExtCall</a>(inst);</div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a1ebbf43e294c3f94a2a7d5c56759bbba"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1ebbf43e294c3f94a2a7d5c56759bbba">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00512">SVFUtil.h:512</a></div></div>
|
|
2671
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aab8ac16a9a2961f98001ab94aeaedf64"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aab8ac16a9a2961f98001ab94aeaedf64">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00559">SVFUtil.h:559</a></div></div>
|
|
2675
2672
|
</div><!-- fragment -->
|
|
2676
2673
|
</div>
|
|
2677
2674
|
</div>
|
|
@@ -2761,8 +2758,8 @@ template<class X , class Y > </div>
|
|
|
2761
2758
|
</div><div class="memdoc">
|
|
2762
2759
|
<p>Return true if this is a lock acquire call </p>
|
|
2763
2760
|
|
|
2764
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2765
|
-
<div class="fragment"><div class="line"><a name="
|
|
2761
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00629">629</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2762
|
+
<div class="fragment"><div class="line"><a name="l00630"></a><span class="lineno"> 630</span> {</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDAcquire(cs);</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> }</div></div><!-- fragment -->
|
|
2766
2763
|
</div>
|
|
2767
2764
|
</div>
|
|
2768
2765
|
<a id="a343dae805a34d102b9c1b96f173468df"></a>
|
|
@@ -2789,8 +2786,8 @@ template<class X , class Y > </div>
|
|
|
2789
2786
|
</table>
|
|
2790
2787
|
</div><div class="memdoc">
|
|
2791
2788
|
|
|
2792
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2793
|
-
<div class="fragment"><div class="line"><a name="
|
|
2789
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00633">633</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2790
|
+
<div class="fragment"><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> {</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDAcquire(inst);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span> }</div></div><!-- fragment -->
|
|
2794
2791
|
</div>
|
|
2795
2792
|
</div>
|
|
2796
2793
|
<a id="a1241ef1c19df14f7db0bd62dd68f14f9"></a>
|
|
@@ -2818,8 +2815,8 @@ template<class X , class Y > </div>
|
|
|
2818
2815
|
</div><div class="memdoc">
|
|
2819
2816
|
<p>Return true if this is a lock acquire call </p>
|
|
2820
2817
|
|
|
2821
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2822
|
-
<div class="fragment"><div class="line"><a name="
|
|
2818
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00641">641</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2819
|
+
<div class="fragment"><div class="line"><a name="l00642"></a><span class="lineno"> 642</span> {</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDRelease(cs);</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> }</div></div><!-- fragment -->
|
|
2823
2820
|
</div>
|
|
2824
2821
|
</div>
|
|
2825
2822
|
<a id="a84ac49c70252036a957694f2cf05ae2c"></a>
|
|
@@ -2846,8 +2843,8 @@ template<class X , class Y > </div>
|
|
|
2846
2843
|
</table>
|
|
2847
2844
|
</div><div class="memdoc">
|
|
2848
2845
|
|
|
2849
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2850
|
-
<div class="fragment"><div class="line"><a name="
|
|
2846
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00645">645</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2847
|
+
<div class="fragment"><div class="line"><a name="l00646"></a><span class="lineno"> 646</span> {</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDRelease(inst);</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> }</div></div><!-- fragment -->
|
|
2851
2848
|
</div>
|
|
2852
2849
|
</div>
|
|
2853
2850
|
<a id="a8d8216a92140d982303f83ea424ddc91"></a>
|
|
@@ -2909,8 +2906,8 @@ template<class X , class Y > </div>
|
|
|
2909
2906
|
<p>Program entry function e.g. main. </p>
|
|
2910
2907
|
<p>Return true if this is a program entry function (e.g. main) </p>
|
|
2911
2908
|
|
|
2912
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2913
|
-
<div class="fragment"><div class="line"><a name="
|
|
2909
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00399">399</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2910
|
+
<div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> fun && fun->getName() == <span class="stringliteral">"main"</span>;</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div></div><!-- fragment -->
|
|
2914
2911
|
</div>
|
|
2915
2912
|
</div>
|
|
2916
2913
|
<a id="ab87fef7b10465d3e635643fcb93b95a7"></a>
|
|
@@ -2937,8 +2934,8 @@ template<class X , class Y > </div>
|
|
|
2937
2934
|
</table>
|
|
2938
2935
|
</div><div class="memdoc">
|
|
2939
2936
|
|
|
2940
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2941
|
-
<div class="fragment"><div class="line"><a name="
|
|
2937
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00699">699</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2938
|
+
<div class="fragment"><div class="line"><a name="l00700"></a><span class="lineno"> 700</span> {</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">return</span> fun && fun->getName() == <span class="stringliteral">"main"</span>;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> }</div></div><!-- fragment -->
|
|
2942
2939
|
</div>
|
|
2943
2940
|
</div>
|
|
2944
2941
|
<a id="a6528edf9a1750df4a84d1a60d4d0bbe4"></a>
|
|
@@ -2965,9 +2962,9 @@ template<class X , class Y > </div>
|
|
|
2965
2962
|
</table>
|
|
2966
2963
|
</div><div class="memdoc">
|
|
2967
2964
|
|
|
2968
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2969
|
-
<div class="fragment"><div class="line"><a name="
|
|
2970
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aec7ee60be22e8f9397db108131696d57"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">SVF::SVFUtil::isProgExitFunction</a></div><div class="ttdeci">bool isProgExitFunction(const SVFFunction *fun)</div><div class="ttdoc">Return true if this is a program exit function call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2965
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00705">705</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2966
|
+
<div class="fragment"><div class="line"><a name="l00706"></a><span class="lineno"> 706</span> {</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2967
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aec7ee60be22e8f9397db108131696d57"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">SVF::SVFUtil::isProgExitFunction</a></div><div class="ttdeci">bool isProgExitFunction(const SVFFunction *fun)</div><div class="ttdoc">Return true if this is a program exit function call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00431">SVFUtil.h:431</a></div></div>
|
|
2971
2968
|
</div><!-- fragment -->
|
|
2972
2969
|
</div>
|
|
2973
2970
|
</div>
|
|
@@ -2995,9 +2992,9 @@ template<class X , class Y > </div>
|
|
|
2995
2992
|
</table>
|
|
2996
2993
|
</div><div class="memdoc">
|
|
2997
2994
|
|
|
2998
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
2999
|
-
<div class="fragment"><div class="line"><a name="
|
|
3000
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aec7ee60be22e8f9397db108131696d57"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">SVF::SVFUtil::isProgExitFunction</a></div><div class="ttdeci">bool isProgExitFunction(const SVFFunction *fun)</div><div class="ttdoc">Return true if this is a program exit function call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
2995
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00710">710</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
2996
|
+
<div class="fragment"><div class="line"><a name="l00711"></a><span class="lineno"> 711</span> {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">isProgExitFunction</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
2997
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aec7ee60be22e8f9397db108131696d57"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aec7ee60be22e8f9397db108131696d57">SVF::SVFUtil::isProgExitFunction</a></div><div class="ttdeci">bool isProgExitFunction(const SVFFunction *fun)</div><div class="ttdoc">Return true if this is a program exit function call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00431">SVFUtil.h:431</a></div></div>
|
|
3001
2998
|
</div><!-- fragment -->
|
|
3002
2999
|
</div>
|
|
3003
3000
|
</div>
|
|
@@ -3027,8 +3024,8 @@ template<class X , class Y > </div>
|
|
|
3027
3024
|
|
|
3028
3025
|
<p>Return true if this is a program exit function call. </p>
|
|
3029
3026
|
|
|
3030
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3031
|
-
<div class="fragment"><div class="line"><a name="
|
|
3027
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00431">431</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3028
|
+
<div class="fragment"><div class="line"><a name="l00432"></a><span class="lineno"> 432</span> {</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> fun && (fun->getName() == <span class="stringliteral">"exit"</span> ||</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  fun->getName() == <span class="stringliteral">"__assert_rtn"</span> ||</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  fun->getName() == <span class="stringliteral">"__assert_fail"</span> );</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div></div><!-- fragment -->
|
|
3032
3029
|
</div>
|
|
3033
3030
|
</div>
|
|
3034
3031
|
<a id="a6740e7686ba111ae525c6c093cbbaf46"></a>
|
|
@@ -3055,9 +3052,9 @@ template<class X , class Y > </div>
|
|
|
3055
3052
|
</table>
|
|
3056
3053
|
</div><div class="memdoc">
|
|
3057
3054
|
|
|
3058
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3059
|
-
<div class="fragment"><div class="line"><a name="
|
|
3060
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
3055
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00529">529</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3056
|
+
<div class="fragment"><div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordtype">bool</span> isPtrTy = cs.getInstruction()->getType()->isPointerTy();</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">return</span> isPtrTy && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">isReallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a97c74c642ad43d955ac8a3f3ad8907b4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">SVF::SVFUtil::isReallocExtFun</a></div><div class="ttdeci">bool isReallocExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00375">SVFUtil.h:375</a></div></div>
|
|
3057
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
3061
3058
|
</div><!-- fragment -->
|
|
3062
3059
|
</div>
|
|
3063
3060
|
</div>
|
|
@@ -3085,9 +3082,9 @@ template<class X , class Y > </div>
|
|
|
3085
3082
|
</table>
|
|
3086
3083
|
</div><div class="memdoc">
|
|
3087
3084
|
|
|
3088
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3089
|
-
<div class="fragment"><div class="line"><a name="
|
|
3090
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
3085
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00535">535</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3086
|
+
<div class="fragment"><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> {</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordtype">bool</span> isPtrTy = inst->getType()->isPointerTy();</div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keywordflow">return</span> isPtrTy && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">isReallocExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a97c74c642ad43d955ac8a3f3ad8907b4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a97c74c642ad43d955ac8a3f3ad8907b4">SVF::SVFUtil::isReallocExtFun</a></div><div class="ttdeci">bool isReallocExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a heap reallocator. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00375">SVFUtil.h:375</a></div></div>
|
|
3087
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
3091
3088
|
</div><!-- fragment -->
|
|
3092
3089
|
</div>
|
|
3093
3090
|
</div>
|
|
@@ -3118,8 +3115,8 @@ template<class X , class Y > </div>
|
|
|
3118
3115
|
<p>Return true if the call is a heap reallocator. </p>
|
|
3119
3116
|
<p>note that this function is not suppose to be used externally </p>
|
|
3120
3117
|
|
|
3121
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3122
|
-
<div class="fragment"><div class="line"><a name="
|
|
3118
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00375">375</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3119
|
+
<div class="fragment"><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordflow">return</span> fun && (ExtAPI::getExtAPI()->is_realloc(fun));</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> }</div></div><!-- fragment -->
|
|
3123
3120
|
</div>
|
|
3124
3121
|
</div>
|
|
3125
3122
|
<a id="ae62938f722543d6d7fc201b685be1abf"></a>
|
|
@@ -3146,9 +3143,9 @@ template<class X , class Y > </div>
|
|
|
3146
3143
|
</table>
|
|
3147
3144
|
</div><div class="memdoc">
|
|
3148
3145
|
|
|
3149
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3150
|
-
<div class="fragment"><div class="line"><a name="
|
|
3151
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
3146
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00553">553</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3147
|
+
<div class="fragment"><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordtype">bool</span> isPtrTy = cs.getInstruction()->getType()->isPointerTy();</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <span class="keywordflow">return</span> isPtrTy && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">isStaticExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(cs));</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a1bc9bb7bd6c9682debf3ffab7182abf5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">SVF::SVFUtil::isStaticExtFun</a></div><div class="ttdeci">bool isStaticExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a static global call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00391">SVFUtil.h:391</a></div></div>
|
|
3148
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
3152
3149
|
</div><!-- fragment -->
|
|
3153
3150
|
</div>
|
|
3154
3151
|
</div>
|
|
@@ -3176,9 +3173,9 @@ template<class X , class Y > </div>
|
|
|
3176
3173
|
</table>
|
|
3177
3174
|
</div><div class="memdoc">
|
|
3178
3175
|
|
|
3179
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3180
|
-
<div class="fragment"><div class="line"><a name="
|
|
3181
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#
|
|
3176
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00559">559</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3177
|
+
<div class="fragment"><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> {</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keywordtype">bool</span> isPtrTy = inst->getType()->isPointerTy();</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordflow">return</span> isPtrTy && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">isStaticExtFun</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">getCallee</a>(inst));</div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a1bc9bb7bd6c9682debf3ffab7182abf5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a1bc9bb7bd6c9682debf3ffab7182abf5">SVF::SVFUtil::isStaticExtFun</a></div><div class="ttdeci">bool isStaticExtFun(const SVFFunction *fun)</div><div class="ttdoc">Return true if the call is a static global call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00391">SVFUtil.h:391</a></div></div>
|
|
3178
|
+
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af26c7636bfef7ab2a36cccdcf12c3538"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af26c7636bfef7ab2a36cccdcf12c3538">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00276">SVFUtil.h:276</a></div></div>
|
|
3182
3179
|
</div><!-- fragment -->
|
|
3183
3180
|
</div>
|
|
3184
3181
|
</div>
|
|
@@ -3209,8 +3206,8 @@ template<class X , class Y > </div>
|
|
|
3209
3206
|
<p>Return true if the call is a static global call. </p>
|
|
3210
3207
|
<p>note that this function is not suppose to be used externally </p>
|
|
3211
3208
|
|
|
3212
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3213
|
-
<div class="fragment"><div class="line"><a name="
|
|
3209
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00391">391</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3210
|
+
<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno"> 392</span> {</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">return</span> fun && ExtAPI::getExtAPI()->has_static(fun);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div></div><!-- fragment -->
|
|
3214
3211
|
</div>
|
|
3215
3212
|
</div>
|
|
3216
3213
|
<a id="a3af5073a1cdc000678f7e4bbc943f5d5"></a>
|
|
@@ -3238,8 +3235,8 @@ template<class X , class Y > </div>
|
|
|
3238
3235
|
</div><div class="memdoc">
|
|
3239
3236
|
<p>Return true if this is a thread exit call </p>
|
|
3240
3237
|
|
|
3241
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3242
|
-
<div class="fragment"><div class="line"><a name="
|
|
3238
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00617">617</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3239
|
+
<div class="fragment"><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> {</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDExit(cs);</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> }</div></div><!-- fragment -->
|
|
3243
3240
|
</div>
|
|
3244
3241
|
</div>
|
|
3245
3242
|
<a id="aae025d6727ef34fbeaa7ad48a4dabdcd"></a>
|
|
@@ -3266,8 +3263,8 @@ template<class X , class Y > </div>
|
|
|
3266
3263
|
</table>
|
|
3267
3264
|
</div><div class="memdoc">
|
|
3268
3265
|
|
|
3269
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3270
|
-
<div class="fragment"><div class="line"><a name="
|
|
3266
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00621">621</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3267
|
+
<div class="fragment"><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> {</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDExit(inst);</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> }</div></div><!-- fragment -->
|
|
3271
3268
|
</div>
|
|
3272
3269
|
</div>
|
|
3273
3270
|
<a id="a5c2abeb363081381c3dc939ab511e3f0"></a>
|
|
@@ -3295,8 +3292,8 @@ template<class X , class Y > </div>
|
|
|
3295
3292
|
</div><div class="memdoc">
|
|
3296
3293
|
<p>Return true if this is a thread creation call </p>
|
|
3297
3294
|
|
|
3298
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3299
|
-
<div class="fragment"><div class="line"><a name="
|
|
3295
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00581">581</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3296
|
+
<div class="fragment"><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> {</div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDFork(cs);</div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div></div><!-- fragment -->
|
|
3300
3297
|
</div>
|
|
3301
3298
|
</div>
|
|
3302
3299
|
<a id="a834afc0042c24ed5a1dd00cadc1f00c3"></a>
|
|
@@ -3323,8 +3320,8 @@ template<class X , class Y > </div>
|
|
|
3323
3320
|
</table>
|
|
3324
3321
|
</div><div class="memdoc">
|
|
3325
3322
|
|
|
3326
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3327
|
-
<div class="fragment"><div class="line"><a name="
|
|
3323
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00585">585</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3324
|
+
<div class="fragment"><div class="line"><a name="l00586"></a><span class="lineno"> 586</span> {</div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDFork(inst);</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div></div><!-- fragment -->
|
|
3328
3325
|
</div>
|
|
3329
3326
|
</div>
|
|
3330
3327
|
<a id="a194a8cf292726bd6cd54307b555c068a"></a>
|
|
@@ -3352,8 +3349,8 @@ template<class X , class Y > </div>
|
|
|
3352
3349
|
</div><div class="memdoc">
|
|
3353
3350
|
<p>Return true if this is a thread join call </p>
|
|
3354
3351
|
|
|
3355
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3356
|
-
<div class="fragment"><div class="line"><a name="
|
|
3352
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00605">605</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3353
|
+
<div class="fragment"><div class="line"><a name="l00606"></a><span class="lineno"> 606</span> {</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDJoin(cs);</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span> }</div></div><!-- fragment -->
|
|
3357
3354
|
</div>
|
|
3358
3355
|
</div>
|
|
3359
3356
|
<a id="a14793b41b05439a8a82fdce02e0587d5"></a>
|
|
@@ -3380,8 +3377,8 @@ template<class X , class Y > </div>
|
|
|
3380
3377
|
</table>
|
|
3381
3378
|
</div><div class="memdoc">
|
|
3382
3379
|
|
|
3383
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3384
|
-
<div class="fragment"><div class="line"><a name="
|
|
3380
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00609">609</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3381
|
+
<div class="fragment"><div class="line"><a name="l00610"></a><span class="lineno"> 610</span> {</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordflow">return</span> ThreadAPI::getThreadAPI()->isTDJoin(inst);</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> }</div></div><!-- fragment -->
|
|
3385
3382
|
</div>
|
|
3386
3383
|
</div>
|
|
3387
3384
|
<a id="a36c91f952a69875c33d4bd0b05a27ff2"></a>
|
|
@@ -3414,8 +3411,8 @@ template<typename Data > </div>
|
|
|
3414
3411
|
|
|
3415
3412
|
<p>Given a map mapping points-to sets to a count, adds from into to. </p>
|
|
3416
3413
|
|
|
3417
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3418
|
-
<div class="fragment"><div class="line"><a name="
|
|
3414
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00294">294</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3415
|
+
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">typename</span> Map<Data, unsigned>::value_type &ptocc : from)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  to[ptocc.first] += ptocc.second;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> }</div></div><!-- fragment -->
|
|
3419
3416
|
</div>
|
|
3420
3417
|
</div>
|
|
3421
3418
|
<a id="a72502f7f536418621485e90ab98c2016"></a>
|
|
@@ -3444,8 +3441,8 @@ template<typename T > </div>
|
|
|
3444
3441
|
</table>
|
|
3445
3442
|
</div><div class="memdoc">
|
|
3446
3443
|
|
|
3447
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3448
|
-
<div class="fragment"><div class="line"><a name="
|
|
3444
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00717">717</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3445
|
+
<div class="fragment"><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> {</div><div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(t);</div><div class="line"><a name="l00720"></a><span class="lineno"> 720</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00717">SVFUtil.h:717</a></div></div>
|
|
3449
3446
|
</div><!-- fragment -->
|
|
3450
3447
|
</div>
|
|
3451
3448
|
</div>
|
|
@@ -3572,8 +3569,8 @@ template<typename Key , typename KeySet > </div>
|
|
|
3572
3569
|
|
|
3573
3570
|
<p>Removes an element from a Set/CondSet (or anything implementing ::erase). </p>
|
|
3574
3571
|
|
|
3575
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3576
|
-
<div class="fragment"><div class="line"><a name="
|
|
3572
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00320">320</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3573
|
+
<div class="fragment"><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  keySet.erase(key);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div></div><!-- fragment -->
|
|
3577
3574
|
</div>
|
|
3578
3575
|
</div>
|
|
3579
3576
|
<a id="aa59af7fc01a534662b3b1524186ef97e"></a>
|
|
@@ -3612,8 +3609,8 @@ template<typename Key , typename KeySet > </div>
|
|
|
3612
3609
|
|
|
3613
3610
|
<p>Removes a NodeID from a NodeBS. </p>
|
|
3614
3611
|
|
|
3615
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3616
|
-
<div class="fragment"><div class="line"><a name="
|
|
3612
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00326">326</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3613
|
+
<div class="fragment"><div class="line"><a name="l00327"></a><span class="lineno"> 327</span> {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  keySet.reset(key);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div></div><!-- fragment -->
|
|
3617
3614
|
</div>
|
|
3618
3615
|
</div>
|
|
3619
3616
|
<a id="a6cfe12afa463d0ceddeee11540c33ab3"></a>
|
|
@@ -3687,8 +3684,8 @@ template<typename Key , typename KeySet > </div>
|
|
|
3687
3684
|
|
|
3688
3685
|
<p>Split into two substrings around the first occurrence of a separator string. </p>
|
|
3689
3686
|
|
|
3690
|
-
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#
|
|
3691
|
-
<div class="fragment"><div class="line"><a name="
|
|
3687
|
+
<p class="definition">Definition at line <a class="el" href="SVFUtil_8h_source.html#l00231">231</a> of file <a class="el" href="SVFUtil_8h_source.html">SVFUtil.h</a>.</p>
|
|
3688
|
+
<div class="fragment"><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  std::vector<std::string> output;</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  std::string::size_type prev_pos = 0, pos = 0;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">while</span>((pos = s.find(seperator, pos)) != std::string::npos)</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  {</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> substring( s.substr(prev_pos, pos-prev_pos) );</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  output.push_back(substring);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  prev_pos = ++pos;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  output.push_back(s.substr(prev_pos, pos-prev_pos));</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> output;</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> }</div><div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
3692
3689
|
</div><!-- fragment -->
|
|
3693
3690
|
</div>
|
|
3694
3691
|
</div>
|
|
@@ -3801,7 +3798,7 @@ template<typename Key , typename KeySet > </div>
|
|
|
3801
3798
|
|
|
3802
3799
|
<p class="definition">Definition at line <a class="el" href="SVFUtil_8cpp_source.html#l00456">456</a> of file <a class="el" href="SVFUtil_8cpp_source.html">SVFUtil.cpp</a>.</p>
|
|
3803
3800
|
<div class="fragment"><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> {</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">llvm::raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  assert(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> != <span class="keyword">nullptr</span> && <span class="stringliteral">"Given null type!"</span>);</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  rawstr << *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>;</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> }</div><div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
3804
|
-
<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#
|
|
3801
|
+
<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#l00082">BasicTypes.h:82</a></div></div>
|
|
3805
3802
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
3806
3803
|
</div><!-- fragment -->
|
|
3807
3804
|
</div>
|
|
@@ -3826,7 +3823,7 @@ template<typename Key , typename KeySet > </div>
|
|
|
3826
3823
|
<p class="definition">Definition at line <a class="el" href="SVFUtil_8cpp_source.html#l00390">390</a> of file <a class="el" href="SVFUtil_8cpp_source.html">SVFUtil.cpp</a>.</p>
|
|
3827
3824
|
<div class="fragment"><div class="line"><a name="l00391"></a><span class="lineno"> 391</span> {</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">if</span>(value)</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  {</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a>* fun = SVFUtil::dyn_cast<Function>(value))</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  rawstr << <span class="stringliteral">" "</span> << fun->getName() << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  rawstr << <span class="stringliteral">" "</span> << *value << <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  rawstr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">getSourceLoc</a>(value);</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  }</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
|
|
3828
3825
|
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
3829
|
-
<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#
|
|
3826
|
+
<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#l00082">BasicTypes.h:82</a></div></div>
|
|
3830
3827
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
3831
3828
|
</div><!-- fragment -->
|
|
3832
3829
|
</div>
|