svf-tools 1.0.348 → 1.0.352
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/AndersenSFR_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/Andersen_8h_source.html +13 -13
- package/SVF-doxygen/html/html/CHG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +45 -46
- package/SVF-doxygen/html/html/ConsG_8h_source.html +22 -22
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +10 -8
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +24 -22
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +17 -17
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +15 -14
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +25 -25
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +7 -8
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +7 -8
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +13 -6
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +12 -14
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +4 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +5 -6
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +4 -5
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +9 -10
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +4 -4
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +2 -3
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +53 -55
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +39 -41
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +38 -41
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +22 -24
- package/SVF-doxygen/html/html/SVFStatements_8h.html +0 -4
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +150 -160
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +101 -100
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +14 -13
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +13 -13
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +50 -51
- package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/html/annotated.html +100 -102
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +64 -64
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +43 -42
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +30 -31
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +34 -39
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +30 -31
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +32 -33
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +33 -34
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +47 -48
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CHEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CHNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CSC-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +29 -30
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +32 -33
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +33 -34
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +99 -100
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DCHNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +9 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +134 -134
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +93 -92
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +43 -42
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +18 -16
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +148 -59
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +49 -49
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +7 -8
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +29 -30
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +120 -150
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MRVer-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MRVer.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +41 -42
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +11 -12
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +32 -33
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +32 -33
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +29 -30
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +110 -111
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +152 -151
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +67 -71
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +27 -28
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +28 -29
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +28 -29
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +28 -29
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +28 -29
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +22 -21
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +31 -32
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +39 -40
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +79 -80
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +20 -20
- package/SVF-doxygen/html/html/classes.html +95 -93
- package/SVF-doxygen/html/html/functions_a.html +19 -16
- package/SVF-doxygen/html/html/functions_c.html +22 -22
- package/SVF-doxygen/html/html/functions_eval_g.html +2 -1
- package/SVF-doxygen/html/html/functions_eval_n.html +0 -1
- package/SVF-doxygen/html/html/functions_eval_v.html +0 -1
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +20 -17
- package/SVF-doxygen/html/html/functions_func_c.html +20 -22
- package/SVF-doxygen/html/html/functions_func_f.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +37 -40
- package/SVF-doxygen/html/html/functions_func_i.html +8 -5
- package/SVF-doxygen/html/html/functions_func_n.html +0 -3
- package/SVF-doxygen/html/html/functions_func_o.html +5 -7
- package/SVF-doxygen/html/html/functions_func_r.html +2 -2
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_func_t.html +0 -2
- package/SVF-doxygen/html/html/functions_func_v.html +1 -4
- package/SVF-doxygen/html/html/functions_g.html +30 -32
- package/SVF-doxygen/html/html/functions_i.html +13 -10
- package/SVF-doxygen/html/html/functions_l.html +4 -4
- package/SVF-doxygen/html/html/functions_m.html +3 -3
- package/SVF-doxygen/html/html/functions_n.html +23 -27
- package/SVF-doxygen/html/html/functions_o.html +6 -8
- package/SVF-doxygen/html/html/functions_p.html +7 -7
- package/SVF-doxygen/html/html/functions_r.html +2 -2
- package/SVF-doxygen/html/html/functions_s.html +7 -5
- package/SVF-doxygen/html/html/functions_t.html +4 -8
- package/SVF-doxygen/html/html/functions_type_g.html +3 -3
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_type_o.html +1 -1
- package/SVF-doxygen/html/html/functions_v.html +10 -11
- package/SVF-doxygen/html/html/functions_vars_a.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_f.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_m.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_n.html +22 -22
- package/SVF-doxygen/html/html/functions_vars_t.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_v.html +5 -2
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/hierarchy.html +55 -57
- package/SVF-doxygen/html/html/namespaceSVF.html +22 -26
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +5 -5
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -3
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +3 -3
- package/SVF-doxygen/html/html/search/all_1.js +9 -8
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +9 -9
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_16.js +7 -7
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +3 -3
- package/SVF-doxygen/html/html/search/all_7.js +19 -20
- package/SVF-doxygen/html/html/search/all_9.js +4 -3
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_d.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +20 -21
- package/SVF-doxygen/html/html/search/all_f.js +4 -4
- package/SVF-doxygen/html/html/search/classes_12.js +0 -1
- package/SVF-doxygen/html/html/search/classes_b.js +0 -1
- package/SVF-doxygen/html/html/search/enumvalues_12.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_6.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +8 -7
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +1 -2
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +16 -17
- package/SVF-doxygen/html/html/search/functions_8.js +3 -2
- package/SVF-doxygen/html/html/search/functions_a.js +1 -1
- package/SVF-doxygen/html/html/search/functions_c.js +0 -1
- package/SVF-doxygen/html/html/search/functions_d.js +3 -3
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_6.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +4 -4
- package/SVF-doxygen/html/html/search/variables_16.js +3 -2
- package/SVF-doxygen/html/html/search/variables_6.js +2 -2
- package/SVF-doxygen/html/html/search/variables_d.js +3 -3
- package/SVF-doxygen/html/html/search/variables_e.js +18 -18
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
- 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_01VFG_01_5_01_4.html +18 -18
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +5 -5
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsG.h +2 -2
- package/include/Graphs/ConsGEdge.h +1 -1
- package/include/Graphs/ConsGNode.h +16 -16
- package/include/Graphs/GenericGraph.h +4 -4
- package/include/Graphs/IRGraph.h +5 -5
- package/include/Graphs/PTACallGraph.h +2 -2
- package/include/Graphs/VFG.h +2 -2
- package/include/MSSA/MSSAMuChi.h +1 -1
- package/include/MSSA/MemRegion.h +2 -2
- package/include/MemoryModel/LocationSet.h +10 -48
- package/include/MemoryModel/PAGBuilderFromFile.h +1 -1
- package/include/MemoryModel/PointerAnalysis.h +1 -1
- package/include/MemoryModel/SVFIR.h +5 -5
- package/include/MemoryModel/SVFStatements.h +18 -95
- package/include/MemoryModel/SVFVariables.h +9 -6
- package/include/MemoryModel/SymbolTableInfo.h +3 -3
- package/include/SVF-FE/DCHG.h +1 -1
- package/include/SVF-FE/SVFIRBuilder.h +7 -7
- package/include/Util/IRAnnotator.h +3 -3
- package/include/Util/SVFBasicTypes.h +3 -3
- package/include/WPA/Andersen.h +11 -11
- package/include/WPA/AndersenSFR.h +1 -1
- package/include/WPA/CSC.h +1 -1
- package/include/WPA/FlowSensitive.h +13 -13
- package/include/WPA/VersionedFlowSensitive.h +2 -2
- package/lib/DDA/ContextDDA.cpp +4 -5
- package/lib/DDA/DDAClient.cpp +6 -6
- package/lib/DDA/DDAStat.cpp +1 -1
- package/lib/DDA/FlowDDA.cpp +4 -5
- package/lib/Graphs/ConsG.cpp +30 -35
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/Graphs/SVFG.cpp +2 -2
- package/lib/Graphs/SVFGStat.cpp +2 -2
- package/lib/Graphs/VFG.cpp +36 -43
- package/lib/MSSA/MemRegion.cpp +2 -2
- package/lib/MTA/MHP.cpp +2 -2
- package/lib/MTA/MTAAnnotator.cpp +3 -3
- package/lib/MemoryModel/LocationSet.cpp +49 -9
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +3 -3
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/lib/MemoryModel/SVFIR.cpp +27 -35
- package/lib/MemoryModel/SVFStatements.cpp +0 -22
- package/lib/MemoryModel/SVFVariables.cpp +1 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +4 -4
- package/lib/SVF-FE/CPPUtil.cpp +6 -6
- package/lib/SVF-FE/DCHG.cpp +1 -1
- package/lib/SVF-FE/Graph2Json.cpp +24 -27
- package/lib/SVF-FE/LLVMUtil.cpp +1 -1
- package/lib/SVF-FE/SVFIRBuilder.cpp +14 -13
- package/lib/SVF-FE/SymbolTableBuilder.cpp +1 -1
- package/lib/Util/Conditions.cpp +1 -1
- package/lib/Util/PTAStat.cpp +9 -9
- package/lib/Util/TypeBasedHeapCloning.cpp +6 -6
- package/lib/WPA/Andersen.cpp +13 -13
- package/lib/WPA/AndersenSFR.cpp +8 -8
- package/lib/WPA/AndersenStat.cpp +2 -2
- package/lib/WPA/CSC.cpp +6 -6
- package/lib/WPA/FlowSensitive.cpp +4 -7
- package/lib/WPA/FlowSensitiveStat.cpp +2 -2
- package/lib/WPA/FlowSensitiveTBHC.cpp +6 -9
- package/lib/WPA/TypeAnalysis.cpp +3 -3
- package/package.json +1 -1
package/include/WPA/Andersen.h
CHANGED
|
@@ -119,20 +119,20 @@ public:
|
|
|
119
119
|
|
|
120
120
|
/// Statistics
|
|
121
121
|
//@{
|
|
122
|
-
static
|
|
123
|
-
static
|
|
124
|
-
static
|
|
125
|
-
static
|
|
126
|
-
static
|
|
127
|
-
static
|
|
128
|
-
static
|
|
129
|
-
|
|
130
|
-
static
|
|
122
|
+
static u32_t numOfProcessedAddr; /// Number of processed Addr edge
|
|
123
|
+
static u32_t numOfProcessedCopy; /// Number of processed Copy edge
|
|
124
|
+
static u32_t numOfProcessedGep; /// Number of processed Gep edge
|
|
125
|
+
static u32_t numOfProcessedLoad; /// Number of processed Load edge
|
|
126
|
+
static u32_t numOfProcessedStore; /// Number of processed Store edge
|
|
127
|
+
static u32_t numOfSfrs;
|
|
128
|
+
static u32_t numOfFieldExpand;
|
|
129
|
+
|
|
130
|
+
static u32_t numOfSCCDetection;
|
|
131
131
|
static double timeOfSCCDetection;
|
|
132
132
|
static double timeOfSCCMerges;
|
|
133
133
|
static double timeOfCollapse;
|
|
134
|
-
static
|
|
135
|
-
static
|
|
134
|
+
static u32_t AveragePointsToSetSize;
|
|
135
|
+
static u32_t MaxPointsToSetSize;
|
|
136
136
|
static double timeOfProcessCopyGep;
|
|
137
137
|
static double timeOfProcessLoadStore;
|
|
138
138
|
static double timeOfUpdateCallGraph;
|
|
@@ -149,7 +149,7 @@ public:
|
|
|
149
149
|
protected:
|
|
150
150
|
void initialize();
|
|
151
151
|
void PWCDetect();
|
|
152
|
-
void fieldExpand(NodeSet& initials,
|
|
152
|
+
void fieldExpand(NodeSet& initials, s64_t offset, NodeBS& strides, PointsTo& expandPts);
|
|
153
153
|
bool processGepPts(PointsTo& pts, const GepCGEdge* edge);
|
|
154
154
|
bool mergeSrcToTgt(NodeID nodeId, NodeID newRepId);
|
|
155
155
|
|
package/include/WPA/CSC.h
CHANGED
|
@@ -288,19 +288,19 @@ protected:
|
|
|
288
288
|
|
|
289
289
|
/// Statistics.
|
|
290
290
|
//@{
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
291
|
+
u32_t numOfProcessedAddr; /// Number of processed Addr node
|
|
292
|
+
u32_t numOfProcessedCopy; /// Number of processed Copy node
|
|
293
|
+
u32_t numOfProcessedGep; /// Number of processed Gep node
|
|
294
|
+
u32_t numOfProcessedPhi; /// Number of processed Phi node
|
|
295
|
+
u32_t numOfProcessedLoad; /// Number of processed Load node
|
|
296
|
+
u32_t numOfProcessedStore; /// Number of processed Store node
|
|
297
|
+
u32_t numOfProcessedActualParam; /// Number of processed actual param node
|
|
298
|
+
u32_t numOfProcessedFormalRet; /// Number of processed formal ret node
|
|
299
|
+
u32_t numOfProcessedMSSANode; /// Number of processed mssa node
|
|
300
|
+
|
|
301
|
+
u32_t maxSCCSize;
|
|
302
|
+
u32_t numOfSCC;
|
|
303
|
+
u32_t numOfNodesInSCC;
|
|
304
304
|
|
|
305
305
|
double solveTime; ///< time of solve.
|
|
306
306
|
double sccTime; ///< time of SCC detection.
|
|
@@ -223,8 +223,8 @@ private:
|
|
|
223
223
|
|
|
224
224
|
/// Additional statistics.
|
|
225
225
|
//@{
|
|
226
|
-
|
|
227
|
-
|
|
226
|
+
u32_t numPrelabeledNodes; ///< Number of prelabeled nodes.
|
|
227
|
+
u32_t numPrelabelVersions; ///< Number of versions created during prelabeling.
|
|
228
228
|
|
|
229
229
|
double prelabelingTime; ///< Time to prelabel SVFG.
|
|
230
230
|
double meldLabelingTime; ///< Time to meld label SVFG.
|
package/lib/DDA/ContextDDA.cpp
CHANGED
|
@@ -140,19 +140,18 @@ CxtPtSet ContextDDA::processGepPts(const GepSVFGNode* gep, const CxtPtSet& srcPt
|
|
|
140
140
|
tmpDstPts.set(ptd);
|
|
141
141
|
else
|
|
142
142
|
{
|
|
143
|
-
|
|
143
|
+
const GepStmt* gepStmt = SVFUtil::cast<GepStmt>(gep->getPAGEdge());
|
|
144
|
+
if (gepStmt->isVariantFieldGep())
|
|
144
145
|
{
|
|
145
146
|
setObjFieldInsensitive(ptd.get_id());
|
|
146
147
|
CxtVar var(ptd.get_cond(),getFIObjVar(ptd.get_id()));
|
|
147
148
|
tmpDstPts.set(var);
|
|
148
149
|
}
|
|
149
|
-
else
|
|
150
|
+
else
|
|
150
151
|
{
|
|
151
|
-
CxtVar var(ptd.get_cond(),getGepObjVar(ptd.get_id(),
|
|
152
|
+
CxtVar var(ptd.get_cond(),getGepObjVar(ptd.get_id(),gepStmt->getLocationSet()));
|
|
152
153
|
tmpDstPts.set(var);
|
|
153
154
|
}
|
|
154
|
-
else
|
|
155
|
-
assert(false && "new gep edge?");
|
|
156
155
|
}
|
|
157
156
|
}
|
|
158
157
|
|
package/lib/DDA/DDAClient.cpp
CHANGED
|
@@ -155,8 +155,8 @@ void FunptrDDAClient::performStat(PointerAnalysis* pta)
|
|
|
155
155
|
OrderedNodeSet& AliasDDAClient::collectCandidateQueries(SVFIR* pag)
|
|
156
156
|
{
|
|
157
157
|
setPAG(pag);
|
|
158
|
-
|
|
159
|
-
for (
|
|
158
|
+
SVFStmt::SVFStmtSetTy& loads = pag->getSVFStmtSet(SVFStmt::Load);
|
|
159
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = loads.begin(), eiter =
|
|
160
160
|
loads.end(); iter != eiter; ++iter)
|
|
161
161
|
{
|
|
162
162
|
PAGNode* loadsrc = (*iter)->getSrcNode();
|
|
@@ -164,16 +164,16 @@ OrderedNodeSet& AliasDDAClient::collectCandidateQueries(SVFIR* pag)
|
|
|
164
164
|
addCandidate(loadsrc->getId());
|
|
165
165
|
}
|
|
166
166
|
|
|
167
|
-
|
|
168
|
-
for (
|
|
167
|
+
SVFStmt::SVFStmtSetTy& stores = pag->getSVFStmtSet(SVFStmt::Store);
|
|
168
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
|
|
169
169
|
stores.end(); iter != eiter; ++iter)
|
|
170
170
|
{
|
|
171
171
|
PAGNode* storedst = (*iter)->getDstNode();
|
|
172
172
|
storeDstNodes.insert(storedst);
|
|
173
173
|
addCandidate(storedst->getId());
|
|
174
174
|
}
|
|
175
|
-
|
|
176
|
-
for (
|
|
175
|
+
SVFStmt::SVFStmtSetTy& geps = pag->getSVFStmtSet(SVFStmt::Gep);
|
|
176
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = geps.begin(), eiter =
|
|
177
177
|
geps.end(); iter != eiter; ++iter)
|
|
178
178
|
{
|
|
179
179
|
PAGNode* gepsrc = (*iter)->getSrcNode();
|
package/lib/DDA/DDAStat.cpp
CHANGED
|
@@ -242,7 +242,7 @@ void DDAStat::performStat()
|
|
|
242
242
|
PTNumStatMap["PointsToBlkPtr"] = _NumOfBlackholePtr;
|
|
243
243
|
PTNumStatMap["NumOfMustAA"] = _TotalNumOfMustAliases;
|
|
244
244
|
PTNumStatMap["NumOfInfePath"] = _TotalNumOfInfeasiblePath;
|
|
245
|
-
PTNumStatMap["NumOfStore"] = SVFIR::getPAG()->getPTASVFStmtSet(
|
|
245
|
+
PTNumStatMap["NumOfStore"] = SVFIR::getPAG()->getPTASVFStmtSet(SVFStmt::Store).size();
|
|
246
246
|
PTNumStatMap["MemoryUsageVmrss"] = _vmrssUsageAfter - _vmrssUsageBefore;
|
|
247
247
|
PTNumStatMap["MemoryUsageVmsize"] = _vmsizeUsageAfter - _vmsizeUsageBefore;
|
|
248
248
|
|
package/lib/DDA/FlowDDA.cpp
CHANGED
|
@@ -126,18 +126,17 @@ PointsTo FlowDDA::processGepPts(const GepSVFGNode* gep, const PointsTo& srcPts)
|
|
|
126
126
|
tmpDstPts.set(ptd);
|
|
127
127
|
else
|
|
128
128
|
{
|
|
129
|
-
|
|
129
|
+
const GepStmt* gepStmt = SVFUtil::cast<GepStmt>(gep->getPAGEdge());
|
|
130
|
+
if (gepStmt->isVariantFieldGep())
|
|
130
131
|
{
|
|
131
132
|
setObjFieldInsensitive(ptd);
|
|
132
133
|
tmpDstPts.set(getFIObjVar(ptd));
|
|
133
134
|
}
|
|
134
|
-
else
|
|
135
|
+
else
|
|
135
136
|
{
|
|
136
|
-
NodeID fieldSrcPtdNode = getGepObjVar(ptd,
|
|
137
|
+
NodeID fieldSrcPtdNode = getGepObjVar(ptd, gepStmt->getLocationSet());
|
|
137
138
|
tmpDstPts.set(fieldSrcPtdNode);
|
|
138
139
|
}
|
|
139
|
-
else
|
|
140
|
-
assert(false && "new gep edge?");
|
|
141
140
|
}
|
|
142
141
|
}
|
|
143
142
|
DBOUT(DDDA, outs() << "\t return created gep objs {");
|
package/lib/Graphs/ConsG.cpp
CHANGED
|
@@ -49,24 +49,24 @@ void ConstraintGraph::buildCG()
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
// initialize edges
|
|
52
|
-
|
|
53
|
-
for (
|
|
52
|
+
SVFStmt::SVFStmtSetTy& addrs = getPAGEdgeSet(SVFStmt::Addr);
|
|
53
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = addrs.begin(), eiter =
|
|
54
54
|
addrs.end(); iter != eiter; ++iter)
|
|
55
55
|
{
|
|
56
56
|
const AddrStmt* edge = SVFUtil::cast<AddrStmt>(*iter);
|
|
57
57
|
addAddrCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
for (
|
|
60
|
+
SVFStmt::SVFStmtSetTy& copys = getPAGEdgeSet(SVFStmt::Copy);
|
|
61
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = copys.begin(), eiter =
|
|
62
62
|
copys.end(); iter != eiter; ++iter)
|
|
63
63
|
{
|
|
64
64
|
const CopyStmt* edge = SVFUtil::cast<CopyStmt>(*iter);
|
|
65
65
|
addCopyCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
for (
|
|
68
|
+
SVFStmt::SVFStmtSetTy& phis = getPAGEdgeSet(SVFStmt::Phi);
|
|
69
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = phis.begin(), eiter =
|
|
70
70
|
phis.end(); iter != eiter; ++iter)
|
|
71
71
|
{
|
|
72
72
|
const PhiStmt* edge = SVFUtil::cast<PhiStmt>(*iter);
|
|
@@ -74,64 +74,59 @@ void ConstraintGraph::buildCG()
|
|
|
74
74
|
addCopyCGEdge(opVar->getId(),edge->getResID());
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
|
|
78
|
-
for (
|
|
77
|
+
SVFStmt::SVFStmtSetTy& calls = getPAGEdgeSet(SVFStmt::Call);
|
|
78
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = calls.begin(), eiter =
|
|
79
79
|
calls.end(); iter != eiter; ++iter)
|
|
80
80
|
{
|
|
81
81
|
const CallPE* edge = SVFUtil::cast<CallPE>(*iter);
|
|
82
82
|
addCopyCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
for (
|
|
85
|
+
SVFStmt::SVFStmtSetTy& rets = getPAGEdgeSet(SVFStmt::Ret);
|
|
86
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = rets.begin(), eiter =
|
|
87
87
|
rets.end(); iter != eiter; ++iter)
|
|
88
88
|
{
|
|
89
89
|
const RetPE* edge = SVFUtil::cast<RetPE>(*iter);
|
|
90
90
|
addCopyCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
for (
|
|
93
|
+
SVFStmt::SVFStmtSetTy& tdfks = getPAGEdgeSet(SVFStmt::ThreadFork);
|
|
94
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = tdfks.begin(), eiter =
|
|
95
95
|
tdfks.end(); iter != eiter; ++iter)
|
|
96
96
|
{
|
|
97
97
|
const TDForkPE* edge = SVFUtil::cast<TDForkPE>(*iter);
|
|
98
98
|
addCopyCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
for (
|
|
101
|
+
SVFStmt::SVFStmtSetTy& tdjns = getPAGEdgeSet(SVFStmt::ThreadJoin);
|
|
102
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = tdjns.begin(), eiter =
|
|
103
103
|
tdjns.end(); iter != eiter; ++iter)
|
|
104
104
|
{
|
|
105
105
|
const TDJoinPE* edge = SVFUtil::cast<TDJoinPE>(*iter);
|
|
106
106
|
addCopyCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
for (
|
|
109
|
+
SVFStmt::SVFStmtSetTy& ngeps = getPAGEdgeSet(SVFStmt::Gep);
|
|
110
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = ngeps.begin(), eiter =
|
|
111
111
|
ngeps.end(); iter != eiter; ++iter)
|
|
112
112
|
{
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
for (PAGEdge::SVFStmtSetTy::iterator iter = vgeps.begin(), eiter =
|
|
119
|
-
vgeps.end(); iter != eiter; ++iter)
|
|
120
|
-
{
|
|
121
|
-
VariantGepStmt* edge = SVFUtil::cast<VariantGepStmt>(*iter);
|
|
122
|
-
addVariantGepCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
113
|
+
GepStmt* edge = SVFUtil::cast<GepStmt>(*iter);
|
|
114
|
+
if(edge->isVariantFieldGep())
|
|
115
|
+
addVariantGepCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
116
|
+
else
|
|
117
|
+
addNormalGepCGEdge(edge->getRHSVarID(),edge->getLHSVarID(),edge->getLocationSet());
|
|
123
118
|
}
|
|
124
119
|
|
|
125
|
-
|
|
126
|
-
for (
|
|
120
|
+
SVFStmt::SVFStmtSetTy& loads = getPAGEdgeSet(SVFStmt::Load);
|
|
121
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = loads.begin(), eiter =
|
|
127
122
|
loads.end(); iter != eiter; ++iter)
|
|
128
123
|
{
|
|
129
124
|
LoadStmt* edge = SVFUtil::cast<LoadStmt>(*iter);
|
|
130
125
|
addLoadCGEdge(edge->getRHSVarID(),edge->getLHSVarID());
|
|
131
126
|
}
|
|
132
127
|
|
|
133
|
-
|
|
134
|
-
for (
|
|
128
|
+
SVFStmt::SVFStmtSetTy& stores = getPAGEdgeSet(SVFStmt::Store);
|
|
129
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
|
|
135
130
|
stores.end(); iter != eiter; ++iter)
|
|
136
131
|
{
|
|
137
132
|
StoreStmt* edge = SVFUtil::cast<StoreStmt>(*iter);
|
|
@@ -366,7 +361,7 @@ void ConstraintGraph::removeAddrEdge(AddrCGEdge* edge)
|
|
|
366
361
|
{
|
|
367
362
|
getConstraintNode(edge->getSrcID())->removeOutgoingAddrEdge(edge);
|
|
368
363
|
getConstraintNode(edge->getDstID())->removeIncomingAddrEdge(edge);
|
|
369
|
-
|
|
364
|
+
u32_t num = AddrCGEdgeSet.erase(edge);
|
|
370
365
|
delete edge;
|
|
371
366
|
assert(num && "edge not in the set, can not remove!!!");
|
|
372
367
|
}
|
|
@@ -378,7 +373,7 @@ void ConstraintGraph::removeLoadEdge(LoadCGEdge* edge)
|
|
|
378
373
|
{
|
|
379
374
|
getConstraintNode(edge->getSrcID())->removeOutgoingLoadEdge(edge);
|
|
380
375
|
getConstraintNode(edge->getDstID())->removeIncomingLoadEdge(edge);
|
|
381
|
-
|
|
376
|
+
u32_t num = LoadCGEdgeSet.erase(edge);
|
|
382
377
|
delete edge;
|
|
383
378
|
assert(num && "edge not in the set, can not remove!!!");
|
|
384
379
|
}
|
|
@@ -390,7 +385,7 @@ void ConstraintGraph::removeStoreEdge(StoreCGEdge* edge)
|
|
|
390
385
|
{
|
|
391
386
|
getConstraintNode(edge->getSrcID())->removeOutgoingStoreEdge(edge);
|
|
392
387
|
getConstraintNode(edge->getDstID())->removeIncomingStoreEdge(edge);
|
|
393
|
-
|
|
388
|
+
u32_t num = StoreCGEdgeSet.erase(edge);
|
|
394
389
|
delete edge;
|
|
395
390
|
assert(num && "edge not in the set, can not remove!!!");
|
|
396
391
|
}
|
|
@@ -403,7 +398,7 @@ void ConstraintGraph::removeDirectEdge(ConstraintEdge* edge)
|
|
|
403
398
|
|
|
404
399
|
getConstraintNode(edge->getSrcID())->removeOutgoingDirectEdge(edge);
|
|
405
400
|
getConstraintNode(edge->getDstID())->removeIncomingDirectEdge(edge);
|
|
406
|
-
|
|
401
|
+
u32_t num = directEdgeSet.erase(edge);
|
|
407
402
|
|
|
408
403
|
assert(num && "edge not in the set, can not remove!!!");
|
|
409
404
|
delete edge;
|
|
@@ -562,7 +557,7 @@ void ConstraintGraph::print()
|
|
|
562
557
|
}
|
|
563
558
|
else if (NormalGepCGEdge* ngep = SVFUtil::dyn_cast<NormalGepCGEdge>(*iter))
|
|
564
559
|
{
|
|
565
|
-
outs() << ngep->getSrcID() << " -- NormalGep (" << ngep->
|
|
560
|
+
outs() << ngep->getSrcID() << " -- NormalGep (" << ngep->getConstantFieldIdx()
|
|
566
561
|
<< ") --> " << ngep->getDstID() << "\n";
|
|
567
562
|
}
|
|
568
563
|
else if (VariantGepCGEdge* vgep = SVFUtil::dyn_cast<VariantGepCGEdge>(*iter))
|
package/lib/Graphs/ICFG.cpp
CHANGED
|
@@ -316,7 +316,7 @@ ICFGEdge* ICFG::getICFGEdge(const ICFGNode* src, const ICFGNode* dst, ICFGEdge::
|
|
|
316
316
|
{
|
|
317
317
|
|
|
318
318
|
ICFGEdge * edge = nullptr;
|
|
319
|
-
|
|
319
|
+
u32_t counter = 0;
|
|
320
320
|
for (ICFGEdge::ICFGEdgeSetTy::iterator iter = src->OutEdgeBegin();
|
|
321
321
|
iter != src->OutEdgeEnd(); ++iter)
|
|
322
322
|
{
|
package/lib/Graphs/SVFG.cpp
CHANGED
|
@@ -224,8 +224,8 @@ void SVFG::addSVFGNodesForAddrTakenVars()
|
|
|
224
224
|
{
|
|
225
225
|
|
|
226
226
|
// set defs for address-taken vars defined at store statements
|
|
227
|
-
|
|
228
|
-
for (
|
|
227
|
+
SVFStmt::SVFStmtSetTy& stores = getPAGEdgeSet(SVFStmt::Store);
|
|
228
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
|
|
229
229
|
stores.end(); iter != eiter; ++iter)
|
|
230
230
|
{
|
|
231
231
|
StoreStmt* store = SVFUtil::cast<StoreStmt>(*iter);
|
package/lib/Graphs/SVFGStat.cpp
CHANGED
|
@@ -310,7 +310,7 @@ void SVFGStat::calculateNodeDegrees(SVFGNode* node, NodeSet& nodeHasIndInEdge, N
|
|
|
310
310
|
totalInEdge += inEdges.size();
|
|
311
311
|
|
|
312
312
|
// indirect in edge
|
|
313
|
-
|
|
313
|
+
u32_t indInEdges = 0;
|
|
314
314
|
SVFGEdge::SVFGEdgeSetTy::const_iterator edgeIt = inEdges.begin();
|
|
315
315
|
SVFGEdge::SVFGEdgeSetTy::const_iterator edgeEit = inEdges.end();
|
|
316
316
|
for (; edgeIt != edgeEit; ++edgeIt)
|
|
@@ -350,7 +350,7 @@ void SVFGStat::calculateNodeDegrees(SVFGNode* node, NodeSet& nodeHasIndInEdge, N
|
|
|
350
350
|
totalOutEdge += outEdges.size();
|
|
351
351
|
|
|
352
352
|
// indirect out edge
|
|
353
|
-
|
|
353
|
+
u32_t indOutEdges = 0;
|
|
354
354
|
edgeIt = outEdges.begin();
|
|
355
355
|
edgeEit = outEdges.end();
|
|
356
356
|
for (; edgeIt != edgeEit; ++edgeIt)
|
package/lib/Graphs/VFG.cpp
CHANGED
|
@@ -336,16 +336,16 @@ void VFG::addVFGNodes()
|
|
|
336
336
|
addNullPtrVFGNode(pag->getGNode(pag->getNullPtr()));
|
|
337
337
|
|
|
338
338
|
// initialize address nodes
|
|
339
|
-
|
|
340
|
-
for (
|
|
339
|
+
SVFStmt::SVFStmtSetTy& addrs = getPAGEdgeSet(SVFStmt::Addr);
|
|
340
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = addrs.begin(), eiter =
|
|
341
341
|
addrs.end(); iter != eiter; ++iter)
|
|
342
342
|
{
|
|
343
343
|
addAddrVFGNode(SVFUtil::cast<AddrStmt>(*iter));
|
|
344
344
|
}
|
|
345
345
|
|
|
346
346
|
// initialize copy nodes
|
|
347
|
-
|
|
348
|
-
for (
|
|
347
|
+
SVFStmt::SVFStmtSetTy& copys = getPAGEdgeSet(SVFStmt::Copy);
|
|
348
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = copys.begin(), eiter =
|
|
349
349
|
copys.end(); iter != eiter; ++iter)
|
|
350
350
|
{
|
|
351
351
|
const CopyStmt* edge = SVFUtil::cast<CopyStmt>(*iter);
|
|
@@ -354,38 +354,31 @@ void VFG::addVFGNodes()
|
|
|
354
354
|
}
|
|
355
355
|
|
|
356
356
|
// initialize gep nodes
|
|
357
|
-
|
|
358
|
-
for (
|
|
357
|
+
SVFStmt::SVFStmtSetTy& ngeps = getPAGEdgeSet(SVFStmt::Gep);
|
|
358
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = ngeps.begin(), eiter =
|
|
359
359
|
ngeps.end(); iter != eiter; ++iter)
|
|
360
360
|
{
|
|
361
|
-
addGepVFGNode(SVFUtil::cast<
|
|
362
|
-
}
|
|
363
|
-
|
|
364
|
-
PAGEdge::SVFStmtSetTy& vgeps = getPAGEdgeSet(PAGEdge::VariantGep);
|
|
365
|
-
for (PAGEdge::SVFStmtSetTy::iterator iter = vgeps.begin(), eiter =
|
|
366
|
-
vgeps.end(); iter != eiter; ++iter)
|
|
367
|
-
{
|
|
368
|
-
addGepVFGNode(SVFUtil::cast<VariantGepStmt>(*iter));
|
|
361
|
+
addGepVFGNode(SVFUtil::cast<GepStmt>(*iter));
|
|
369
362
|
}
|
|
370
363
|
|
|
371
364
|
// initialize load nodes
|
|
372
|
-
|
|
373
|
-
for (
|
|
365
|
+
SVFStmt::SVFStmtSetTy& loads = getPAGEdgeSet(SVFStmt::Load);
|
|
366
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = loads.begin(), eiter =
|
|
374
367
|
loads.end(); iter != eiter; ++iter)
|
|
375
368
|
{
|
|
376
369
|
addLoadVFGNode(SVFUtil::cast<LoadStmt>(*iter));
|
|
377
370
|
}
|
|
378
371
|
|
|
379
372
|
// initialize store nodes
|
|
380
|
-
|
|
381
|
-
for (
|
|
373
|
+
SVFStmt::SVFStmtSetTy& stores = getPAGEdgeSet(SVFStmt::Store);
|
|
374
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = stores.begin(), eiter =
|
|
382
375
|
stores.end(); iter != eiter; ++iter)
|
|
383
376
|
{
|
|
384
377
|
addStoreVFGNode(SVFUtil::cast<StoreStmt>(*iter));
|
|
385
378
|
}
|
|
386
379
|
|
|
387
|
-
|
|
388
|
-
for (
|
|
380
|
+
SVFStmt::SVFStmtSetTy& forks = getPAGEdgeSet(SVFStmt::ThreadFork);
|
|
381
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = forks.begin(), eiter =
|
|
389
382
|
forks.end(); iter != eiter; ++iter)
|
|
390
383
|
{
|
|
391
384
|
TDForkPE* forkedge = SVFUtil::cast<TDForkPE>(*iter);
|
|
@@ -429,10 +422,10 @@ void VFG::addVFGNodes()
|
|
|
429
422
|
continue;
|
|
430
423
|
|
|
431
424
|
CallPESet callPEs;
|
|
432
|
-
if (param->hasIncomingEdges(
|
|
425
|
+
if (param->hasIncomingEdges(SVFStmt::Call))
|
|
433
426
|
{
|
|
434
|
-
for (
|
|
435
|
-
param->getIncomingEdgesEnd(
|
|
427
|
+
for (SVFStmt::SVFStmtSetTy::const_iterator cit = param->getIncomingEdgesBegin(SVFStmt::Call), ecit =
|
|
428
|
+
param->getIncomingEdgesEnd(SVFStmt::Call); cit != ecit; ++cit)
|
|
436
429
|
{
|
|
437
430
|
CallPE* callPE = SVFUtil::cast<CallPE>(*cit);
|
|
438
431
|
if (isInterestedPAGNode(callPE->getRHSVar()))
|
|
@@ -449,10 +442,10 @@ void VFG::addVFGNodes()
|
|
|
449
442
|
continue;
|
|
450
443
|
|
|
451
444
|
CallPESet callPEs;
|
|
452
|
-
if (varParam->hasIncomingEdges(
|
|
445
|
+
if (varParam->hasIncomingEdges(SVFStmt::Call))
|
|
453
446
|
{
|
|
454
|
-
for(
|
|
455
|
-
ecit = varParam->getIncomingEdgesEnd(
|
|
447
|
+
for(SVFStmt::SVFStmtSetTy::const_iterator cit = varParam->getIncomingEdgesBegin(SVFStmt::Call),
|
|
448
|
+
ecit = varParam->getIncomingEdgesEnd(SVFStmt::Call); cit!=ecit; ++cit)
|
|
456
449
|
{
|
|
457
450
|
CallPE* callPE = SVFUtil::cast<CallPE>(*cit);
|
|
458
451
|
if(isInterestedPAGNode(callPE->getRHSVar()))
|
|
@@ -471,10 +464,10 @@ void VFG::addVFGNodes()
|
|
|
471
464
|
const PAGNode* uniqueFunRetNode = it->second;
|
|
472
465
|
|
|
473
466
|
RetPESet retPEs;
|
|
474
|
-
if (uniqueFunRetNode->hasOutgoingEdges(
|
|
467
|
+
if (uniqueFunRetNode->hasOutgoingEdges(SVFStmt::Ret))
|
|
475
468
|
{
|
|
476
|
-
for (
|
|
477
|
-
ecit = uniqueFunRetNode->getOutgoingEdgesEnd(
|
|
469
|
+
for (SVFStmt::SVFStmtSetTy::const_iterator cit = uniqueFunRetNode->getOutgoingEdgesBegin(SVFStmt::Ret),
|
|
470
|
+
ecit = uniqueFunRetNode->getOutgoingEdgesEnd(SVFStmt::Ret);
|
|
478
471
|
cit != ecit; ++cit)
|
|
479
472
|
{
|
|
480
473
|
const RetPE* retPE = SVFUtil::cast<RetPE>(*cit);
|
|
@@ -488,8 +481,8 @@ void VFG::addVFGNodes()
|
|
|
488
481
|
}
|
|
489
482
|
|
|
490
483
|
// initialize llvm phi nodes (phi of top level pointers)
|
|
491
|
-
|
|
492
|
-
for (
|
|
484
|
+
SVFStmt::SVFStmtSetTy& phis = getPAGEdgeSet(SVFStmt::Phi);
|
|
485
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = phis.begin(), eiter =
|
|
493
486
|
phis.end(); iter != eiter; ++iter)
|
|
494
487
|
{
|
|
495
488
|
const PhiStmt* edge = SVFUtil::cast<PhiStmt>(*iter);
|
|
@@ -497,8 +490,8 @@ void VFG::addVFGNodes()
|
|
|
497
490
|
addIntraPHIVFGNode(edge);
|
|
498
491
|
}
|
|
499
492
|
// initialize llvm binary nodes (binary operators)
|
|
500
|
-
|
|
501
|
-
for (
|
|
493
|
+
SVFStmt::SVFStmtSetTy& binaryops = getPAGEdgeSet(SVFStmt::BinaryOp);
|
|
494
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = binaryops.begin(), eiter =
|
|
502
495
|
binaryops.end(); iter != eiter; ++iter)
|
|
503
496
|
{
|
|
504
497
|
const BinaryOPStmt* edge = SVFUtil::cast<BinaryOPStmt>(*iter);
|
|
@@ -506,8 +499,8 @@ void VFG::addVFGNodes()
|
|
|
506
499
|
addBinaryOPVFGNode(edge);
|
|
507
500
|
}
|
|
508
501
|
// initialize llvm unary nodes (unary operators)
|
|
509
|
-
|
|
510
|
-
for (
|
|
502
|
+
SVFStmt::SVFStmtSetTy& unaryops = getPAGEdgeSet(SVFStmt::UnaryOp);
|
|
503
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = unaryops.begin(), eiter =
|
|
511
504
|
unaryops.end(); iter != eiter; ++iter)
|
|
512
505
|
{
|
|
513
506
|
const UnaryOPStmt* edge = SVFUtil::cast<UnaryOPStmt>(*iter);
|
|
@@ -515,8 +508,8 @@ void VFG::addVFGNodes()
|
|
|
515
508
|
addUnaryOPVFGNode(edge);
|
|
516
509
|
}
|
|
517
510
|
// initialize llvm unary nodes (unary operators)
|
|
518
|
-
|
|
519
|
-
for (
|
|
511
|
+
SVFStmt::SVFStmtSetTy& brs = getPAGEdgeSet(SVFStmt::Branch);
|
|
512
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = brs.begin(), eiter =
|
|
520
513
|
brs.end(); iter != eiter; ++iter)
|
|
521
514
|
{
|
|
522
515
|
const BranchStmt* edge = SVFUtil::cast<BranchStmt>(*iter);
|
|
@@ -524,8 +517,8 @@ void VFG::addVFGNodes()
|
|
|
524
517
|
addBranchVFGNode(edge);
|
|
525
518
|
}
|
|
526
519
|
// initialize llvm cmp nodes (comparision)
|
|
527
|
-
|
|
528
|
-
for (
|
|
520
|
+
SVFStmt::SVFStmtSetTy& cmps = getPAGEdgeSet(SVFStmt::Cmp);
|
|
521
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = cmps.begin(), eiter =
|
|
529
522
|
cmps.end(); iter != eiter; ++iter)
|
|
530
523
|
{
|
|
531
524
|
const CmpStmt* edge = SVFUtil::cast<CmpStmt>(*iter);
|
|
@@ -692,8 +685,8 @@ void VFG::connectDirectVFGEdges()
|
|
|
692
685
|
/// connect direct value-flow edges (parameter passing) for thread fork/join
|
|
693
686
|
if(Options::EnableThreadCallGraph){
|
|
694
687
|
/// add fork edge
|
|
695
|
-
|
|
696
|
-
for (
|
|
688
|
+
SVFStmt::SVFStmtSetTy& forks = getPAGEdgeSet(SVFStmt::ThreadFork);
|
|
689
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = forks.begin(), eiter =
|
|
697
690
|
forks.end(); iter != eiter; ++iter)
|
|
698
691
|
{
|
|
699
692
|
TDForkPE* forkedge = SVFUtil::cast<TDForkPE>(*iter);
|
|
@@ -702,8 +695,8 @@ void VFG::connectDirectVFGEdges()
|
|
|
702
695
|
addInterEdgeFromAPToFP(acutalParm,formalParm,getCallSiteID(forkedge->getCallSite(), formalParm->getFun()));
|
|
703
696
|
}
|
|
704
697
|
/// add join edge
|
|
705
|
-
|
|
706
|
-
for (
|
|
698
|
+
SVFStmt::SVFStmtSetTy& joins = getPAGEdgeSet(SVFStmt::ThreadJoin);
|
|
699
|
+
for (SVFStmt::SVFStmtSetTy::iterator iter = joins.begin(), eiter =
|
|
707
700
|
joins.end(); iter != eiter; ++iter)
|
|
708
701
|
{
|
|
709
702
|
TDJoinPE* joinedge = SVFUtil::cast<TDJoinPE>(*iter);
|
package/lib/MSSA/MemRegion.cpp
CHANGED
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
using namespace SVF;
|
|
37
37
|
using namespace SVFUtil;
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
u32_t MemRegion::totalMRNum = 0;
|
|
40
|
+
u32_t MRVer::totalVERNum = 0;
|
|
41
41
|
|
|
42
42
|
MRGenerator::MRGenerator(BVDataPTAImpl* p, bool ptrOnly) :
|
|
43
43
|
pta(p), ptrOnlyMSSA(ptrOnly)
|
package/lib/MTA/MHP.cpp
CHANGED
|
@@ -1045,7 +1045,7 @@ static bool accessSameArrayIndex(const GetElementPtrInst* ptr1, const GetElement
|
|
|
1045
1045
|
{
|
|
1046
1046
|
if(ConstantInt* ci = SVFUtil::dyn_cast<ConstantInt>(gi.getOperand()))
|
|
1047
1047
|
{
|
|
1048
|
-
|
|
1048
|
+
s64_t idx = ci->getSExtValue();
|
|
1049
1049
|
ptr1vec.push_back(idx);
|
|
1050
1050
|
}
|
|
1051
1051
|
else
|
|
@@ -1058,7 +1058,7 @@ static bool accessSameArrayIndex(const GetElementPtrInst* ptr1, const GetElement
|
|
|
1058
1058
|
{
|
|
1059
1059
|
if(ConstantInt* ci = SVFUtil::dyn_cast<ConstantInt>(gi.getOperand()))
|
|
1060
1060
|
{
|
|
1061
|
-
|
|
1061
|
+
s64_t idx = ci->getSExtValue();
|
|
1062
1062
|
ptr2vec.push_back(idx);
|
|
1063
1063
|
}
|
|
1064
1064
|
else
|
package/lib/MTA/MTAAnnotator.cpp
CHANGED
|
@@ -122,8 +122,8 @@ void MTAAnnotator::pruneThreadLocal(PointerAnalysis* pta)
|
|
|
122
122
|
PointsTo worklist;
|
|
123
123
|
|
|
124
124
|
/// find fork arguments' objects
|
|
125
|
-
const
|
|
126
|
-
for (
|
|
125
|
+
const SVFStmt::SVFStmtSetTy& forkedges = pag->getPTASVFStmtSet(SVFStmt::ThreadFork);
|
|
126
|
+
for (SVFStmt::SVFStmtSetTy::const_iterator it = forkedges.begin(), eit = forkedges.end(); it != eit; ++it)
|
|
127
127
|
{
|
|
128
128
|
PAGEdge* edge = *it;
|
|
129
129
|
worklist |= pta->getPts(edge->getDstID());
|
|
@@ -135,7 +135,7 @@ void MTAAnnotator::pruneThreadLocal(PointerAnalysis* pta)
|
|
|
135
135
|
for (SVFIR::SVFStmtSet::const_iterator it = globaledges.begin(), eit = globaledges.end(); it != eit; ++it)
|
|
136
136
|
{
|
|
137
137
|
const PAGEdge* edge = *it;
|
|
138
|
-
if (edge->getEdgeKind() ==
|
|
138
|
+
if (edge->getEdgeKind() == SVFStmt::Addr)
|
|
139
139
|
{
|
|
140
140
|
worklist.set(edge->getSrcID());
|
|
141
141
|
}
|