svf-tools 1.0.466 → 1.0.467
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/BDDExpr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +6 -6
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +21 -20
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -3
- 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 +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/DCHG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +9 -9
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +24 -23
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +2 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +61 -60
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MHP_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +15 -14
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +3 -3
- 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/SVFGStat_8cpp_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 +53 -52
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +3 -3
- 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/SVFStatements_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +9 -9
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +33 -32
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +12 -11
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8h_source.html +10 -10
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +77 -77
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +3 -3
- 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 +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
- 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 +1 -1
- 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 +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +7 -7
- 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 +1 -1
- 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_1CloneDummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +1 -1
- 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 +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
- 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_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_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +21 -21
- 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 +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +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 +11 -11
- 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_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 +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
- 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 +10 -8
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +25 -25
- 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 +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +14 -13
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +8 -8
- 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 +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +109 -106
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- 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 +42 -40
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +15 -14
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +30 -30
- 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 +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +2 -2
- 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 +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +10 -10
- 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_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
- package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
- package/SVF-doxygen/html/html/globals_s.html +10 -4
- package/SVF-doxygen/html/html/namespaceSVF.html +40 -40
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +233 -199
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +38 -36
- package/SVF-doxygen/html/html/namespacemembers_func.html +4 -1
- package/SVF-doxygen/html/html/namespacemembers_g.html +8 -5
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_7.js +1 -0
- package/SVF-doxygen/html/html/search/functions_6.js +1 -0
- 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 +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- 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/structstd_1_1hash_3_01SVF_1_1CxtStmt_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 +3 -3
- package/include/SVF-FE/LLVMUtil.h +11 -1
- package/include/Util/BasicTypes.h +4 -0
- package/lib/MemoryModel/LocationSet.cpp +2 -2
- package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +1 -1
- package/lib/SVF-FE/BreakConstantExpr.cpp +3 -1
- package/lib/SVF-FE/CPPUtil.cpp +2 -2
- package/lib/SVF-FE/LLVMUtil.cpp +2 -2
- package/lib/SVF-FE/SVFIRBuilder.cpp +3 -3
- package/lib/SVF-FE/SymbolTableBuilder.cpp +2 -2
- package/lib/Util/PTAStat.cpp +1 -0
- package/package.json +1 -1
|
@@ -95,10 +95,10 @@ $(function() {
|
|
|
95
95
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00104">SVFBasicTypes.h:104</a></div></div>
|
|
96
96
|
<div class="ttc" id="svf-ex_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="svf-ex_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00142">svf-ex.cpp:142</a></div></div>
|
|
97
97
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_ad4c6a48b60c870d63049fe7272cc7eb8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(Data data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00159">WorkList.h:159</a></div></div>
|
|
98
|
-
<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#
|
|
98
|
+
<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>
|
|
99
99
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a2f8e91c075d90be66412a079fe73e936"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a></div><div class="ttdeci">static void releaseLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00077">LLVMModule.h:77</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
|
|
101
|
-
<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#
|
|
101
|
+
<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#l00083">BasicTypes.h:83</a></div></div>
|
|
102
102
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00206">PointerAnalysis.h:206</a></div></div>
|
|
103
103
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00111">SVFVariables.h:111</a></div></div>
|
|
104
104
|
<div class="ttc" id="classSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00084">ICFG.h:84</a></div></div>
|
|
@@ -125,7 +125,7 @@ $(function() {
|
|
|
125
125
|
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
|
|
126
126
|
<div class="ttc" id="svf-ex_8cpp_html_af45b449c07f1c975eea45d40d1cc37f6"><div class="ttname"><a href="svf-ex_8cpp.html#af45b449c07f1c975eea45d40d1cc37f6">traverseOnICFG</a></div><div class="ttdeci">void traverseOnICFG(ICFG *icfg, const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="svf-ex_8cpp_source.html#l00077">svf-ex.cpp:77</a></div></div>
|
|
127
127
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a8fa72918fce7e9c0b2dc34b683a797c6"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">SVF::FIFOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00174">WorkList.h:174</a></div></div>
|
|
128
|
-
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
128
|
+
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
|
|
129
129
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00131">PointsTo.h:131</a></div></div>
|
|
130
130
|
<div class="ttc" id="LLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
|
|
131
131
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00057">PointerAnalysis.h:57</a></div></div>
|
|
@@ -104,6 +104,16 @@ inline bool isHeapAllocExtFunViaArg(const SVFFunction* fun)
|
|
|
104
104
|
return fun && ExtAPI::getExtAPI()->is_arg_alloc(fun);
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
static inline Type *getPtrElementType(const PointerType* pty)
|
|
108
|
+
{
|
|
109
|
+
#if (LLVM_VERSION_MAJOR < 14)
|
|
110
|
+
return pty->getElementType();
|
|
111
|
+
#else
|
|
112
|
+
assert(!pty->isOpaque() && "Opaque Pointer is used, please recompile the source adding '-Xclang -no-opaque-pointer'");
|
|
113
|
+
return pty->getNonOpaquePointerElementType();
|
|
114
|
+
#endif
|
|
115
|
+
}
|
|
116
|
+
|
|
107
117
|
/// interfaces to be used externally
|
|
108
118
|
inline bool isHeapAllocExtCallViaRet(const CallSite cs)
|
|
109
119
|
{
|
|
@@ -248,7 +258,7 @@ inline const PointerType *getRefTypeOfHeapAllocOrStatic(const CallSite cs)
|
|
|
248
258
|
int argPos = getHeapAllocHoldingArgPosition(cs);
|
|
249
259
|
const Value *arg = cs.getArgument(argPos);
|
|
250
260
|
if (const PointerType *argType = SVFUtil::dyn_cast<PointerType>(arg->getType()))
|
|
251
|
-
refType = SVFUtil::dyn_cast<PointerType>(argType
|
|
261
|
+
refType = SVFUtil::dyn_cast<PointerType>(getPtrElementType(argType));
|
|
252
262
|
}
|
|
253
263
|
// Case 2: heap/static object held by return value.
|
|
254
264
|
else
|
|
@@ -51,6 +51,10 @@
|
|
|
51
51
|
#include <llvm/ADT/GraphTraits.h> // for Graphtraits
|
|
52
52
|
#include <llvm/Transforms/Utils/Local.h> // for FindDbgAddrUses
|
|
53
53
|
|
|
54
|
+
#if (LLVM_VERSION_MAJOR >= 14)
|
|
55
|
+
#include <llvm/BinaryFormat/Dwarf.h>
|
|
56
|
+
#endif
|
|
57
|
+
|
|
54
58
|
#include "llvm/Analysis/LoopInfo.h"
|
|
55
59
|
#include "llvm/IR/CFG.h"
|
|
56
60
|
#include "llvm/BinaryFormat/Dwarf.h"
|
|
@@ -72,7 +72,7 @@ u32_t LocationSet::getElementNum(const Type* type) const
|
|
|
72
72
|
{
|
|
73
73
|
/// This is a pointer arithmic
|
|
74
74
|
if(const PointerType* pty = SVFUtil::dyn_cast<PointerType>(type))
|
|
75
|
-
return getElementNum(pty
|
|
75
|
+
return getElementNum(getPtrElementType(pty));
|
|
76
76
|
else
|
|
77
77
|
return 1;
|
|
78
78
|
}
|
|
@@ -134,7 +134,7 @@ s32_t LocationSet::accumulateConstantOffset() const
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
if(const PointerType* pty = SVFUtil::dyn_cast<PointerType>(type))
|
|
137
|
-
totalConstOffset += op->getSExtValue() * getElementNum(pty
|
|
137
|
+
totalConstOffset += op->getSExtValue() * getElementNum(getPtrElementType(pty));
|
|
138
138
|
else
|
|
139
139
|
{
|
|
140
140
|
s32_t offset = op->getSExtValue();
|
|
@@ -277,7 +277,7 @@ void PointerAnalysis::dumpAllTypes()
|
|
|
277
277
|
Type* type = node->getValue()->getType();
|
|
278
278
|
SymbolTableInfo::SymbolInfo()->printFlattenFields(type);
|
|
279
279
|
if (PointerType* ptType = SVFUtil::dyn_cast<PointerType>(type))
|
|
280
|
-
SymbolTableInfo::SymbolInfo()->printFlattenFields(ptType
|
|
280
|
+
SymbolTableInfo::SymbolInfo()->printFlattenFields(getPtrElementType(ptType));
|
|
281
281
|
}
|
|
282
282
|
}
|
|
283
283
|
|
|
@@ -490,7 +490,7 @@ void SymbolTableInfo::printFlattenFields(const Type* type)
|
|
|
490
490
|
|
|
491
491
|
else if (const PointerType* pt= SVFUtil::dyn_cast<PointerType> (type))
|
|
492
492
|
{
|
|
493
|
-
u32_t eSize = getNumOfFlattenElements(pt
|
|
493
|
+
u32_t eSize = getNumOfFlattenElements(getPtrElementType(pt));
|
|
494
494
|
outs() << " {Type: ";
|
|
495
495
|
outs() << type2String(pt);
|
|
496
496
|
outs() << "}\n";
|
|
@@ -40,7 +40,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
40
40
|
//
|
|
41
41
|
//===----------------------------------------------------------------------===//
|
|
42
42
|
|
|
43
|
-
#define DEBUG_TYPE "break-constgeps"
|
|
44
43
|
|
|
45
44
|
#include "llvm/ADT/Statistic.h"
|
|
46
45
|
#include "llvm/IR/Constants.h"
|
|
@@ -62,6 +61,9 @@ using namespace SVF;
|
|
|
62
61
|
// Identifier variable for the pass
|
|
63
62
|
char BreakConstantGEPs::ID = 0;
|
|
64
63
|
char MergeFunctionRets::ID = 0;
|
|
64
|
+
|
|
65
|
+
#define DEBUG_TYPE "break-constgeps"
|
|
66
|
+
|
|
65
67
|
// Statistics
|
|
66
68
|
STATISTIC (GEPChanges, "Number of Converted GEP Constant Expressions");
|
|
67
69
|
STATISTIC (TotalChanges, "Number of Converted Constant Expressions");
|
package/lib/SVF-FE/CPPUtil.cpp
CHANGED
|
@@ -233,7 +233,7 @@ bool cppUtil::isLoadVtblInst(const LoadInst *loadInst)
|
|
|
233
233
|
for (u32_t i = 0; i < 3; ++i)
|
|
234
234
|
{
|
|
235
235
|
if (const PointerType *ptrTy = SVFUtil::dyn_cast<PointerType>(elemTy))
|
|
236
|
-
elemTy = ptrTy
|
|
236
|
+
elemTy = SVFUtil::getPtrElementType(ptrTy);
|
|
237
237
|
else
|
|
238
238
|
return false;
|
|
239
239
|
}
|
|
@@ -419,7 +419,7 @@ string cppUtil::getClassNameFromType(const Type *ty)
|
|
|
419
419
|
string className = "";
|
|
420
420
|
if (const PointerType *ptrType = SVFUtil::dyn_cast<PointerType>(ty))
|
|
421
421
|
{
|
|
422
|
-
const Type *elemType = ptrType
|
|
422
|
+
const Type *elemType = SVFUtil::getPtrElementType(ptrType);
|
|
423
423
|
if (SVFUtil::isa<StructType>(elemType) &&
|
|
424
424
|
!((SVFUtil::cast<StructType>(elemType))->isLiteral()))
|
|
425
425
|
{
|
package/lib/SVF-FE/LLVMUtil.cpp
CHANGED
|
@@ -275,7 +275,7 @@ const Value* SVFUtil::getUniqueUseViaCastInst(const Value* val)
|
|
|
275
275
|
const PointerType * type = SVFUtil::dyn_cast<PointerType>(val->getType());
|
|
276
276
|
assert(type && "this value should be a pointer type!");
|
|
277
277
|
/// If type is void* (i8*) and val is only used at a bitcast instruction
|
|
278
|
-
if (IntegerType *IT = SVFUtil::dyn_cast<IntegerType>(type
|
|
278
|
+
if (IntegerType *IT = SVFUtil::dyn_cast<IntegerType>(getPtrElementType(type)))
|
|
279
279
|
{
|
|
280
280
|
if (IT->getBitWidth() == 8 && val->getNumUses()==1)
|
|
281
281
|
{
|
|
@@ -314,7 +314,7 @@ const Type* SVFUtil::getTypeOfHeapAlloc(const Instruction *inst)
|
|
|
314
314
|
}
|
|
315
315
|
|
|
316
316
|
assert(type && "not a pointer type?");
|
|
317
|
-
return type
|
|
317
|
+
return getPtrElementType(type);
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
/*!
|
|
@@ -276,7 +276,7 @@ bool SVFIRBuilder::computeGepOffset(const User *V, LocationSet& ls)
|
|
|
276
276
|
// If it's a non-constant offset access
|
|
277
277
|
// If its point-to target is struct or array, it's likely an array accessing (%result = gep %struct.A* %a, i32 %non-const-index)
|
|
278
278
|
// If its point-to target is single value (pointer arithmetic), then it's a variant gep (%result = gep i8* %p, i32 %non-const-index)
|
|
279
|
-
if(!op && gepTy->isPointerTy() && gepTy
|
|
279
|
+
if(!op && gepTy->isPointerTy() && getPtrElementType(SVFUtil::dyn_cast<PointerType>(gepTy))->isSingleValueType())
|
|
280
280
|
return false;
|
|
281
281
|
|
|
282
282
|
// The actual index
|
|
@@ -1013,7 +1013,7 @@ const Type *SVFIRBuilder::getBaseTypeAndFlattenedFields(const Value *V, std::vec
|
|
|
1013
1013
|
const Value* value = getBaseValueForExtArg(V);
|
|
1014
1014
|
const Type *T = value->getType();
|
|
1015
1015
|
while (const PointerType *ptype = SVFUtil::dyn_cast<PointerType>(T))
|
|
1016
|
-
T = ptype
|
|
1016
|
+
T = getPtrElementType(ptype);
|
|
1017
1017
|
|
|
1018
1018
|
u32_t numOfElems = SymbolTableInfo::SymbolInfo()->getNumOfFlattenElements(T);
|
|
1019
1019
|
/// use user-specified size for this copy operation if the size is a constaint int
|
|
@@ -1327,7 +1327,7 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
|
|
|
1327
1327
|
Value *arg = cs.getArgument(i);
|
|
1328
1328
|
if(const PointerType* pty = SVFUtil::dyn_cast<PointerType>(arg->getType()))
|
|
1329
1329
|
{
|
|
1330
|
-
if(pty
|
|
1330
|
+
if(getPtrElementType(pty)->isPointerTy())
|
|
1331
1331
|
{
|
|
1332
1332
|
NodeID dummy = pag->addDummyValNode();
|
|
1333
1333
|
addLoadEdge(pag->getValueNode(arg),dummy);
|
|
@@ -503,7 +503,7 @@ ObjTypeInfo* SymbolTableBuilder::createObjTypeInfo(const Value *val)
|
|
|
503
503
|
|
|
504
504
|
if (refTy)
|
|
505
505
|
{
|
|
506
|
-
Type *objTy = refTy
|
|
506
|
+
Type *objTy = getPtrElementType(refTy);
|
|
507
507
|
ObjTypeInfo* typeInfo = new ObjTypeInfo(objTy, Options::MaxFieldLimit);
|
|
508
508
|
initTypeInfo(typeInfo,val);
|
|
509
509
|
return typeInfo;
|
|
@@ -535,7 +535,7 @@ void SymbolTableBuilder::analyzeObjType(ObjTypeInfo* typeinfo, const Value* val)
|
|
|
535
535
|
|
|
536
536
|
const PointerType * refty = SVFUtil::dyn_cast<PointerType>(val->getType());
|
|
537
537
|
assert(refty && "this value should be a pointer type!");
|
|
538
|
-
Type* elemTy = refty
|
|
538
|
+
Type* elemTy = getPtrElementType(refty);
|
|
539
539
|
bool isPtrObj = false;
|
|
540
540
|
// Find the inter nested array element
|
|
541
541
|
while (const ArrayType *AT= SVFUtil::dyn_cast<ArrayType>(elemTy))
|
package/lib/Util/PTAStat.cpp
CHANGED
|
@@ -221,6 +221,7 @@ void PTAStat::performStat()
|
|
|
221
221
|
generalNumMap[NumOfObjsHasConstStruct] = numOfHasConstStruct;
|
|
222
222
|
generalNumMap[NumOfObjsHasConstArray] = numOfHasConstArray;
|
|
223
223
|
generalNumMap[NumOfNonPtrObjs] = numOfScalar;
|
|
224
|
+
generalNumMap[NumOfConstantObjs] = numOfConstant;
|
|
224
225
|
|
|
225
226
|
generalNumMap[NumOfIndirectCallSites] = pag->getIndirectCallsites().size();
|
|
226
227
|
generalNumMap["TotalCallSite"] = pag->getCallSiteSet().size();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.467",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|