svf-tools 1.0.309 → 1.0.313
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/AndersenHCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/AndersenWaveDiffWithType_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/Andersen_8cpp.html +1 -0
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +59 -57
- package/SVF-doxygen/html/html/Andersen_8h_source.html +118 -118
- package/SVF-doxygen/html/html/BasicTypes_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +54 -55
- package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +17 -16
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +16 -16
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ConsG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +14 -14
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExternalPAG_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/ExternalPAG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -5
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +82 -81
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/ICFG_8h_source.html +6 -6
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +5 -5
- 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_8h_source.html +1 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemModel_8cpp_source.html +8 -52
- package/SVF-doxygen/html/html/MemModel_8h_source.html +44 -44
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Options_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/Options_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/PAGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PAGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGNode_8h_source.html +10 -10
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +35 -35
- package/SVF-doxygen/html/html/PAG_8h_source.html +21 -21
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/PTAType_8h_source.html +4 -4
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PathCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +34 -33
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +66 -66
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +22 -22
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +23 -23
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFModule_8h.html +3 -0
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +53 -46
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +25 -18
- package/SVF-doxygen/html/html/SymbolTableInfo_8h.html +0 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +36 -38
- 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 +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/VFG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +134 -136
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- 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_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +231 -231
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +62 -60
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +54 -54
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +42 -42
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +73 -72
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +132 -129
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1CopyPE.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_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +58 -57
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocObjTypeInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +7 -10
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +92 -199
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +67 -167
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PAG.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PAGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +32 -32
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +39 -38
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +153 -116
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule-members.html +1 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +114 -81
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +78 -73
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +365 -140
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1TypeSystem.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +11 -11
- package/SVF-doxygen/html/html/classes.html +90 -90
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/functions_0x7e.html +5 -8
- package/SVF-doxygen/html/html/functions_a.html +13 -10
- package/SVF-doxygen/html/html/functions_c.html +31 -28
- package/SVF-doxygen/html/html/functions_func.html +12 -9
- package/SVF-doxygen/html/html/functions_func_0x7e.html +5 -8
- package/SVF-doxygen/html/html/functions_func_c.html +22 -21
- package/SVF-doxygen/html/html/functions_func_g.html +11 -13
- package/SVF-doxygen/html/html/functions_func_i.html +8 -7
- package/SVF-doxygen/html/html/functions_func_l.html +2 -8
- package/SVF-doxygen/html/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/html/functions_func_v.html +0 -3
- package/SVF-doxygen/html/html/functions_g.html +6 -8
- package/SVF-doxygen/html/html/functions_i.html +13 -12
- package/SVF-doxygen/html/html/functions_l.html +1 -5
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +3 -3
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +17 -15
- package/SVF-doxygen/html/html/functions_t.html +7 -7
- package/SVF-doxygen/html/html/functions_v.html +5 -8
- package/SVF-doxygen/html/html/functions_vars_l.html +1 -1
- package/SVF-doxygen/html/html/hierarchy.html +2 -4
- package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +0 -4
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +40 -39
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +3 -2
- package/SVF-doxygen/html/html/search/all_10.js +5 -5
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +8 -8
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_16.js +1 -2
- package/SVF-doxygen/html/html/search/all_1b.js +3 -4
- package/SVF-doxygen/html/html/search/all_3.js +5 -4
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +3 -2
- package/SVF-doxygen/html/html/search/all_c.js +2 -3
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/classes_9.js +1 -3
- package/SVF-doxygen/html/html/search/functions_0.js +3 -2
- package/SVF-doxygen/html/html/search/functions_13.js +0 -1
- package/SVF-doxygen/html/html/search/functions_16.js +3 -4
- package/SVF-doxygen/html/html/search/functions_2.js +5 -4
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_8.js +2 -1
- package/SVF-doxygen/html/html/search/functions_a.js +1 -3
- package/SVF-doxygen/html/html/search/functions_b.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CHGraph_01_5_01_4.html +12 -12
- 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_01OfflineConsG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -7
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/include/Graphs/GenericGraph.h +5 -8
- package/include/MemoryModel/MemModel.h +5 -21
- package/include/MemoryModel/PersistentPointsToCache.h +13 -7
- package/include/MemoryModel/PointerAnalysisImpl.h +1 -0
- package/include/SVF-FE/CHG.h +1 -1
- package/include/SVF-FE/SymbolTableInfo.h +14 -56
- package/include/Util/SVFBasicTypes.h +4 -2
- package/include/Util/SVFModule.h +16 -0
- package/include/WPA/Andersen.h +2 -7
- package/lib/Graphs/PAG.cpp +3 -10
- package/lib/MemoryModel/MemModel.cpp +10 -436
- package/lib/SVF-FE/CHG.cpp +0 -6
- package/lib/SVF-FE/CPPUtil.cpp +2 -0
- package/lib/SVF-FE/SymbolTableInfo.cpp +139 -12
- package/lib/Util/Options.cpp +2 -10
- package/lib/WPA/Andersen.cpp +13 -1
- package/package.json +1 -1
- package/tools/Example/svf-ex.cpp +6 -3
|
@@ -172,18 +172,12 @@ public:
|
|
|
172
172
|
{
|
|
173
173
|
|
|
174
174
|
}
|
|
175
|
-
/// Initialize the object type
|
|
176
|
-
void init(const Value* value);
|
|
177
175
|
|
|
178
|
-
///
|
|
179
|
-
|
|
180
|
-
virtual u32_t getObjSize(const Value* val);
|
|
181
|
-
|
|
182
|
-
/// Analyse types of gobal and stack objects
|
|
183
|
-
void analyzeGlobalStackObjType(const Value* val);
|
|
176
|
+
/// Analyse types of heap and static objects
|
|
177
|
+
void analyzeHeapObjType(const Type* type);
|
|
184
178
|
|
|
185
179
|
/// Analyse types of heap and static objects
|
|
186
|
-
void
|
|
180
|
+
void analyzeStaticObjType(const Type* type);
|
|
187
181
|
|
|
188
182
|
/// Get LLVM type
|
|
189
183
|
inline const Type* getType() const
|
|
@@ -295,25 +289,15 @@ private:
|
|
|
295
289
|
public:
|
|
296
290
|
|
|
297
291
|
/// Constructor
|
|
298
|
-
MemObj(const Value *val
|
|
299
|
-
|
|
300
|
-
/// Constructor for black hole and constant obj
|
|
301
|
-
MemObj(SymID id, const Type* type = nullptr);
|
|
292
|
+
MemObj(SymID id, ObjTypeInfo* ti, const Value *val = nullptr);
|
|
302
293
|
|
|
303
294
|
/// Destructor
|
|
304
295
|
~MemObj()
|
|
305
296
|
{
|
|
306
297
|
destroy();
|
|
307
298
|
}
|
|
308
|
-
|
|
309
|
-
/// Initialize the object
|
|
310
|
-
void init(const Value *val);
|
|
311
|
-
|
|
312
|
-
/// Initialize black hole and constant object
|
|
313
|
-
void init(const Type* type);
|
|
314
|
-
|
|
315
299
|
/// Get obj type
|
|
316
|
-
const
|
|
300
|
+
const Type* getType() const;
|
|
317
301
|
|
|
318
302
|
/// Get max field offset limit
|
|
319
303
|
inline Size_t getMaxFieldOffsetLimit() const
|
|
@@ -45,21 +45,27 @@ public:
|
|
|
45
45
|
initStats();
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
+
/// Clear the cache.
|
|
49
|
+
void clear()
|
|
50
|
+
{
|
|
51
|
+
for (const Data *d : idToPts) delete d;
|
|
52
|
+
idToPts.clear();
|
|
53
|
+
ptsToId.clear();
|
|
54
|
+
|
|
55
|
+
unionCache.clear();
|
|
56
|
+
complementCache.clear();
|
|
57
|
+
intersectionCache.clear();
|
|
58
|
+
}
|
|
59
|
+
|
|
48
60
|
/// Resets the cache removing everything except the emptyData it was initialised with.
|
|
49
61
|
void reset(void)
|
|
50
62
|
{
|
|
51
|
-
|
|
52
|
-
idToPts.clear();
|
|
53
|
-
ptsToId.clear();
|
|
63
|
+
clear();
|
|
54
64
|
|
|
55
65
|
// Put the empty data back in.
|
|
56
66
|
ptsToId[Data()] = emptyPointsToId();
|
|
57
67
|
idToPts.push_back(new Data());
|
|
58
68
|
|
|
59
|
-
unionCache.clear();
|
|
60
|
-
complementCache.clear();
|
|
61
|
-
intersectionCache.clear();
|
|
62
|
-
|
|
63
69
|
idCounter = 1;
|
|
64
70
|
// Cache is empty...
|
|
65
71
|
initStats();
|
package/include/SVF-FE/CHG.h
CHANGED
|
@@ -206,7 +206,7 @@ public:
|
|
|
206
206
|
{
|
|
207
207
|
assert(isBlkObjOrConstantObj(symId));
|
|
208
208
|
assert(objMap.find(symId)==objMap.end());
|
|
209
|
-
objMap[symId] = new MemObj(symId);;
|
|
209
|
+
objMap[symId] = new MemObj(symId, createObjTypeInfo());;
|
|
210
210
|
}
|
|
211
211
|
|
|
212
212
|
inline MemObj* getBlkObj() const
|
|
@@ -242,7 +242,7 @@ public:
|
|
|
242
242
|
inline const MemObj* createDummyObj(SymID symId, const Type* type)
|
|
243
243
|
{
|
|
244
244
|
assert(objMap.find(symId)==objMap.end() && "this dummy obj has been created before");
|
|
245
|
-
MemObj* memObj = new MemObj(symId, type);
|
|
245
|
+
MemObj* memObj = new MemObj(symId, createObjTypeInfo(type));
|
|
246
246
|
objMap[symId] = memObj;
|
|
247
247
|
return memObj;
|
|
248
248
|
}
|
|
@@ -433,6 +433,18 @@ protected:
|
|
|
433
433
|
/// Collect simple type (non-aggregate) info
|
|
434
434
|
virtual void collectSimpleTypeInfo(const Type* T);
|
|
435
435
|
|
|
436
|
+
/// Create an objectInfo based on LLVM value
|
|
437
|
+
ObjTypeInfo* createObjTypeInfo(const Value *val);
|
|
438
|
+
/// Create an objectInfo based on LLVM type (value is null, and type could be null, representing a dummy object)
|
|
439
|
+
ObjTypeInfo* createObjTypeInfo(const Type *type = nullptr);
|
|
440
|
+
|
|
441
|
+
/// Initialize TypeInfo based on LLVM Value
|
|
442
|
+
void initTypeInfo(ObjTypeInfo* typeinfo, const Value* value);
|
|
443
|
+
/// Analyse types of all flattened fields of this object
|
|
444
|
+
void analyzeGlobalStackObjType(ObjTypeInfo* typeinfo, const Value* val);
|
|
445
|
+
/// Return size of this object based on LLVM value
|
|
446
|
+
u32_t getObjSize(const Value* val);
|
|
447
|
+
|
|
436
448
|
/// Every type T is mapped to StInfo
|
|
437
449
|
/// which contains size (fsize) , offset(foffset)
|
|
438
450
|
/// fsize[i] is the number of fields in the largest such struct, else fsize[i] = 1.
|
|
@@ -447,60 +459,6 @@ protected:
|
|
|
447
459
|
};
|
|
448
460
|
|
|
449
461
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
/*!
|
|
453
|
-
* Bytes/bits-level modeling of memory locations to handle weakly type languages.
|
|
454
|
-
* (declared with one type but accessed as another)
|
|
455
|
-
* Abstract memory objects are created according to the static allocated size.
|
|
456
|
-
*/
|
|
457
|
-
class LocSymTableInfo : public SymbolTableInfo
|
|
458
|
-
{
|
|
459
|
-
|
|
460
|
-
public:
|
|
461
|
-
/// Constructor
|
|
462
|
-
LocSymTableInfo()
|
|
463
|
-
{
|
|
464
|
-
}
|
|
465
|
-
/// Destructor
|
|
466
|
-
virtual ~LocSymTableInfo()
|
|
467
|
-
{
|
|
468
|
-
}
|
|
469
|
-
/// Compute gep offset
|
|
470
|
-
virtual bool computeGepOffset(const User *V, LocationSet& ls);
|
|
471
|
-
/// Given an offset from a Gep Instruction, return it modulus offset by considering memory layout
|
|
472
|
-
virtual LocationSet getModulusOffset(const MemObj* obj, const LocationSet& ls);
|
|
473
|
-
|
|
474
|
-
/// Verify struct size construction
|
|
475
|
-
void verifyStructSize(StInfo *stInfo, u32_t structSize);
|
|
476
|
-
|
|
477
|
-
protected:
|
|
478
|
-
/// Collect the struct info
|
|
479
|
-
virtual void collectStructInfo(const StructType *T);
|
|
480
|
-
/// Collect the array info
|
|
481
|
-
virtual void collectArrayInfo(const ArrayType *T);
|
|
482
|
-
};
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
class LocObjTypeInfo : public ObjTypeInfo
|
|
486
|
-
{
|
|
487
|
-
|
|
488
|
-
public:
|
|
489
|
-
/// Constructor
|
|
490
|
-
LocObjTypeInfo(const Value* val, Type* t, Size_t max) : ObjTypeInfo(val,t,max)
|
|
491
|
-
{
|
|
492
|
-
|
|
493
|
-
}
|
|
494
|
-
/// Destructor
|
|
495
|
-
virtual ~LocObjTypeInfo()
|
|
496
|
-
{
|
|
497
|
-
|
|
498
|
-
}
|
|
499
|
-
/// Get the size of this object
|
|
500
|
-
u32_t getObjSize(const Value* val);
|
|
501
|
-
|
|
502
|
-
};
|
|
503
|
-
|
|
504
462
|
} // End namespace SVF
|
|
505
463
|
|
|
506
464
|
#endif /* INCLUDE_SVF_FE_SYMBOLTABLEINFO_H_ */
|
|
@@ -138,7 +138,9 @@ template <> struct Hash<NodePair>
|
|
|
138
138
|
// and u64_t. If NodeID is not actually u32_t or size_t
|
|
139
139
|
// is not u64_t we should be fine since we get a
|
|
140
140
|
// consistent result.
|
|
141
|
-
|
|
141
|
+
uint32_t first = (uint32_t)(p.first);
|
|
142
|
+
uint32_t second = (uint32_t)(p.second);
|
|
143
|
+
return ((uint64_t)(first) << 32) | (uint64_t)(second);
|
|
142
144
|
}
|
|
143
145
|
};
|
|
144
146
|
|
|
@@ -266,7 +268,7 @@ template <> struct std::hash<SVF::NodePair> {
|
|
|
266
268
|
// consistent result.
|
|
267
269
|
uint32_t first = (uint32_t)(p.first);
|
|
268
270
|
uint32_t second = (uint32_t)(p.second);
|
|
269
|
-
return ((uint64_t)(
|
|
271
|
+
return ((uint64_t)(first) << 32) | (uint64_t)(second);
|
|
270
272
|
}
|
|
271
273
|
};
|
|
272
274
|
|
package/include/Util/SVFModule.h
CHANGED
|
@@ -31,6 +31,9 @@
|
|
|
31
31
|
#define SVFMODULE_H_
|
|
32
32
|
|
|
33
33
|
#include "Util/BasicTypes.h"
|
|
34
|
+
#include "Util/ExtAPI.h"
|
|
35
|
+
#include "Util/NodeIDAllocator.h"
|
|
36
|
+
#include "Util/ThreadAPI.h"
|
|
34
37
|
|
|
35
38
|
namespace SVF
|
|
36
39
|
{
|
|
@@ -68,6 +71,19 @@ public:
|
|
|
68
71
|
{
|
|
69
72
|
}
|
|
70
73
|
|
|
74
|
+
~SVFModule()
|
|
75
|
+
{
|
|
76
|
+
for (auto * f : FunctionSet)
|
|
77
|
+
delete f;
|
|
78
|
+
|
|
79
|
+
auto * extAPI = ExtAPI::getExtAPI();
|
|
80
|
+
delete extAPI;
|
|
81
|
+
extAPI = nullptr;
|
|
82
|
+
NodeIDAllocator::unset();
|
|
83
|
+
auto * threadAPI = SVF::ThreadAPI::getThreadAPI();
|
|
84
|
+
delete threadAPI;
|
|
85
|
+
threadAPI = nullptr;
|
|
86
|
+
}
|
|
71
87
|
|
|
72
88
|
static inline void setPagFromTXT(std::string txt)
|
|
73
89
|
{
|
package/include/WPA/Andersen.h
CHANGED
|
@@ -53,19 +53,14 @@ class AndersenBase: public WPAConstraintSolver, public BVDataPTAImpl
|
|
|
53
53
|
public:
|
|
54
54
|
|
|
55
55
|
/// Constructor
|
|
56
|
-
|
|
56
|
+
AndersenBase(PAG* _pag, PTATY type = Andersen_BASE, bool alias_check = true)
|
|
57
57
|
: BVDataPTAImpl(_pag, type, alias_check), consCG(nullptr)
|
|
58
58
|
{
|
|
59
59
|
iterationForPrintStat = OnTheFlyIterBudgetForStat;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
/// Destructor
|
|
63
|
-
|
|
64
|
-
{
|
|
65
|
-
if (consCG != nullptr)
|
|
66
|
-
delete consCG;
|
|
67
|
-
consCG = nullptr;
|
|
68
|
-
}
|
|
63
|
+
~AndersenBase() override;
|
|
69
64
|
|
|
70
65
|
/// Andersen analysis
|
|
71
66
|
virtual void analyze() override;
|
package/lib/Graphs/PAG.cpp
CHANGED
|
@@ -867,18 +867,11 @@ LocationSet PAG::getLocationSetFromBaseNode(NodeID nodeId)
|
|
|
867
867
|
*/
|
|
868
868
|
void PAG::destroy()
|
|
869
869
|
{
|
|
870
|
-
for (PAGEdge::PAGKindToEdgeSetMapTy::iterator I =
|
|
871
|
-
PAGEdgeKindToSetMap.begin(), E = PAGEdgeKindToSetMap.end(); I != E;
|
|
872
|
-
++I)
|
|
873
|
-
{
|
|
874
|
-
for (PAGEdge::PAGEdgeSetTy::iterator edgeIt = I->second.begin(),
|
|
875
|
-
endEdgeIt = I->second.end(); edgeIt != endEdgeIt; ++edgeIt)
|
|
876
|
-
{
|
|
877
|
-
delete *edgeIt;
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
870
|
SymbolTableInfo::releaseSymbolInfo();
|
|
881
871
|
symInfo = nullptr;
|
|
872
|
+
|
|
873
|
+
delete icfg;
|
|
874
|
+
icfg = nullptr;
|
|
882
875
|
}
|
|
883
876
|
|
|
884
877
|
/*!
|