svf-tools 1.0.284 → 1.0.285
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/Andersen_8h_source.html +5 -5
- package/SVF-doxygen/html/html/BasicTypes_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +5 -5
- 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/ICFG_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +11 -11
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +103 -34
- package/SVF-doxygen/html/html/MemRegion_8h.html +3 -3
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +97 -109
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +43 -42
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +46 -47
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +29 -29
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +19 -21
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +81 -81
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGBuilder_8h.html +2 -1
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +20 -19
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -4
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +21 -21
- package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -0
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +46 -45
- package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -13
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp.html +9 -8
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +34 -33
- package/SVF-doxygen/html/html/SVFUtil_8h.html +14 -2
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +43 -36
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/annotated.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +4 -4
- 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_1AddrPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +58 -59
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +19 -22
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +48 -49
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +9 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +60 -61
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +63 -64
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +59 -60
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +63 -64
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +5 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +67 -68
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +58 -59
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType-members.html +64 -65
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiffWithType.html +4 -7
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +135 -138
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BranchCondManager.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +115 -115
- package/SVF-doxygen/html/html/classSVF_1_1CondPointsToSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CopyPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +63 -62
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +94 -92
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1EntryCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExternalPAG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FIObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +65 -66
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +51 -52
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +62 -63
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +35 -38
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +74 -75
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +17 -20
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +71 -70
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +88 -86
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +71 -70
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +126 -124
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocSymTableInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +76 -75
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +515 -506
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSACHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSADEF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion-members.html +9 -10
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +38 -56
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +132 -132
- package/SVF-doxygen/html/html/classSVF_1_1MemSSADF.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MutablePTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PAGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PersistentIncDFPTData.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache-members.html +28 -27
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +144 -111
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetMU.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +62 -62
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +37 -37
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +49 -49
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +52 -53
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +6 -9
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StorePE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +51 -52
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -6
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +10 -10
- 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 +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ValPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +82 -83
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -8
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -7
- package/SVF-doxygen/html/html/classes.html +2 -2
- package/SVF-doxygen/html/html/functions_a.html +10 -10
- package/SVF-doxygen/html/html/functions_c.html +11 -11
- package/SVF-doxygen/html/html/functions_e.html +4 -7
- package/SVF-doxygen/html/html/functions_f.html +17 -14
- package/SVF-doxygen/html/html/functions_func.html +10 -10
- package/SVF-doxygen/html/html/functions_func_c.html +5 -5
- package/SVF-doxygen/html/html/functions_func_g.html +33 -30
- package/SVF-doxygen/html/html/functions_func_h.html +1 -1
- package/SVF-doxygen/html/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/html/functions_func_m.html +2 -2
- package/SVF-doxygen/html/html/functions_func_o.html +3 -3
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +30 -27
- package/SVF-doxygen/html/html/functions_h.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +7 -7
- package/SVF-doxygen/html/html/functions_l.html +4 -4
- package/SVF-doxygen/html/html/functions_m.html +2 -2
- package/SVF-doxygen/html/html/functions_o.html +7 -9
- package/SVF-doxygen/html/html/functions_p.html +17 -13
- package/SVF-doxygen/html/html/functions_r.html +8 -4
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_t.html +3 -3
- package/SVF-doxygen/html/html/functions_type_c.html +1 -1
- package/SVF-doxygen/html/html/functions_type_e.html +0 -3
- package/SVF-doxygen/html/html/functions_type_f.html +4 -1
- package/SVF-doxygen/html/html/functions_type_l.html +1 -1
- package/SVF-doxygen/html/html/functions_type_p.html +3 -3
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_c.html +5 -5
- package/SVF-doxygen/html/html/functions_vars_f.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_i.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_p.html +1 -1
- package/SVF-doxygen/html/html/globals_s.html +3 -3
- package/SVF-doxygen/html/html/hierarchy.html +2 -2
- package/SVF-doxygen/html/html/menudata.js +1 -0
- package/SVF-doxygen/html/html/namespaceSVF.html +3 -3
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +250 -122
- package/SVF-doxygen/html/html/namespacemembers_c.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_e.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_func.html +23 -10
- package/SVF-doxygen/html/html/namespacemembers_m.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_p.html +4 -1
- package/SVF-doxygen/html/html/namespacemembers_type_e.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_type_p.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +10 -10
- package/SVF-doxygen/html/html/search/all_10.js +12 -11
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +12 -11
- package/SVF-doxygen/html/html/search/all_5.js +2 -1
- package/SVF-doxygen/html/html/search/all_6.js +4 -3
- package/SVF-doxygen/html/html/search/all_7.js +14 -13
- package/SVF-doxygen/html/html/search/all_8.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +5 -4
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/classes_4.js +2 -1
- package/SVF-doxygen/html/html/search/functions_0.js +10 -10
- package/SVF-doxygen/html/html/search/functions_10.js +2 -2
- package/SVF-doxygen/html/html/search/functions_2.js +6 -5
- package/SVF-doxygen/html/html/search/functions_6.js +14 -13
- package/SVF-doxygen/html/html/search/functions_7.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_b.js +3 -2
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_4.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_5.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_b.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_f.js +3 -3
- package/SVF-doxygen/html/html/search/variables_10.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +5 -5
- package/SVF-doxygen/html/html/search/variables_6.js +3 -3
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1MemRegion_1_1equalMemRegion.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalNodeBS.html +134 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1equalPointsTo.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PAG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/Graphs/SVFG.h +4 -4
- package/include/Graphs/SVFGOPT.h +4 -4
- package/include/MSSA/MemPartition.h +10 -10
- package/include/MSSA/MemRegion.h +40 -64
- package/include/MSSA/MemSSA.h +1 -4
- package/include/MSSA/SVFGBuilder.h +1 -0
- package/include/MemoryModel/LocationSet.h +3 -3
- package/include/MemoryModel/PersistentPointsToCache.h +19 -8
- package/include/MemoryModel/PointerAnalysisImpl.h +3 -4
- package/include/Util/SVFUtil.h +44 -1
- package/lib/Graphs/SVFG.cpp +12 -12
- package/lib/Graphs/SVFGOPT.cpp +6 -6
- package/lib/MSSA/MemPartition.cpp +31 -31
- package/lib/MSSA/MemRegion.cpp +59 -35
- package/lib/MSSA/MemSSA.cpp +5 -0
- package/lib/MemoryModel/LocationSet.cpp +2 -2
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -4
- package/lib/Util/SVFUtil.cpp +3 -2
- package/package.json +1 -1
|
@@ -88,11 +88,11 @@ Inheritance diagram for SVF::IntraDisjointMRG:</div>
|
|
|
88
88
|
<table class="memberdecls">
|
|
89
89
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
|
90
90
|
Public Types</h2></td></tr>
|
|
91
|
-
<tr class="memitem:
|
|
92
|
-
<tr class="separator:
|
|
93
|
-
<tr class="memitem:a824dec1bb1df5052252e7fe0dd55a894"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
91
|
+
<tr class="memitem:a5ff8d1cade33445ef7c17f0aedd6a4d1"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>< <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a></td></tr>
|
|
92
|
+
<tr class="separator:a5ff8d1cade33445ef7c17f0aedd6a4d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
93
|
+
<tr class="memitem:a824dec1bb1df5052252e7fe0dd55a894"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a824dec1bb1df5052252e7fe0dd55a894">FunToPtsMap</a></td></tr>
|
|
94
94
|
<tr class="separator:a824dec1bb1df5052252e7fe0dd55a894"><td class="memSeparator" colspan="2"> </td></tr>
|
|
95
|
-
<tr class="memitem:ad59c11753db0b310246418df4c62f639"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#
|
|
95
|
+
<tr class="memitem:ad59c11753db0b310246418df4c62f639"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad59c11753db0b310246418df4c62f639">FunToInterMap</a></td></tr>
|
|
96
96
|
<tr class="separator:ad59c11753db0b310246418df4c62f639"><td class="memSeparator" colspan="2"> </td></tr>
|
|
97
97
|
<tr class="inherit_header pub_types_classSVF_1_1MRGenerator"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classSVF_1_1MRGenerator')"><img src="closed.png" alt="-"/> Public Types inherited from <a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td></tr>
|
|
98
98
|
<tr class="memitem:a68d50c752252bd40c402c7b99b95f0fc inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList</a>< <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a></td></tr>
|
|
@@ -102,12 +102,14 @@ Public Types</h2></td></tr>
|
|
|
102
102
|
<tr class="separator:a98ac3bf264e6a85d172c2c4264ea908f inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
103
103
|
<tr class="memitem:a82be01b460a498c07fb6a8aba853ed31 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> *, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31">PAGEdgeToFunMap</a></td></tr>
|
|
104
104
|
<tr class="separator:a82be01b460a498c07fb6a8aba853ed31 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
105
|
-
<tr class="memitem:
|
|
106
|
-
<tr class="separator:
|
|
107
|
-
<tr class="memitem:
|
|
108
|
-
<tr class="separator:
|
|
109
|
-
<tr class="memitem:
|
|
110
|
-
<tr class="separator:
|
|
105
|
+
<tr class="memitem:a8b254a0c5063e25f297d1b00fb0b515e inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>< <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html">SVFUtil::equalNodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a></td></tr>
|
|
106
|
+
<tr class="separator:a8b254a0c5063e25f297d1b00fb0b515e inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
107
|
+
<tr class="memitem:ad492e2940936fc7df06127f0cb94d47a inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">FunToPointsToMap</a></td></tr>
|
|
108
|
+
<tr class="separator:ad492e2940936fc7df06127f0cb94d47a inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
109
|
+
<tr class="memitem:a6b8bbb60126105cc77c1a6a4c46677fd inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">FunToPointsTosMap</a></td></tr>
|
|
110
|
+
<tr class="separator:a6b8bbb60126105cc77c1a6a4c46677fd inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
111
|
+
<tr class="memitem:a665836fd866c6393fc4a251eb4929dae inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a>< <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="structSVF_1_1SVFUtil_1_1equalNodeBS.html">SVFUtil::equalNodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a665836fd866c6393fc4a251eb4929dae">PtsToRepPtsSetMap</a></td></tr>
|
|
112
|
+
<tr class="separator:a665836fd866c6393fc4a251eb4929dae inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
111
113
|
<tr class="memitem:a090070379a09460aef0c07270d32d27b inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">FunToMRsMap</a></td></tr>
|
|
112
114
|
<tr class="memdesc:a090070379a09460aef0c07270d32d27b inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Map a function to its region set. <a href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">More...</a><br /></td></tr>
|
|
113
115
|
<tr class="separator:a090070379a09460aef0c07270d32d27b inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -125,13 +127,13 @@ Public Types</h2></td></tr>
|
|
|
125
127
|
<tr class="separator:a9d2221818297a7abeb8d8736093105d0 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
126
128
|
<tr class="memitem:a71b5ce2c754ffff5a84fdb0c3aa16819 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a71b5ce2c754ffff5a84fdb0c3aa16819">CallSiteToMRsMap</a></td></tr>
|
|
127
129
|
<tr class="separator:a71b5ce2c754ffff5a84fdb0c3aa16819 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
128
|
-
<tr class="memitem:
|
|
129
|
-
<tr class="memdesc:
|
|
130
|
-
<tr class="separator:
|
|
131
|
-
<tr class="memitem:
|
|
132
|
-
<tr class="separator:
|
|
133
|
-
<tr class="memitem:
|
|
134
|
-
<tr class="separator:
|
|
130
|
+
<tr class="memitem:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">LoadsToPointsToMap</a></td></tr>
|
|
131
|
+
<tr class="memdesc:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Map loads/stores/callsites to their cpts set. <a href="classSVF_1_1MRGenerator.html#a7b9b1c326d075a9be473680fef6a9616">More...</a><br /></td></tr>
|
|
132
|
+
<tr class="separator:a7b9b1c326d075a9be473680fef6a9616 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
133
|
+
<tr class="memitem:a45e786ca09aa6cbfcf17d8e5a166a801 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a45e786ca09aa6cbfcf17d8e5a166a801">StoresToPointsToMap</a></td></tr>
|
|
134
|
+
<tr class="separator:a45e786ca09aa6cbfcf17d8e5a166a801 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
135
|
+
<tr class="memitem:a9d22e9d113393c536c5fe473fd76f388 inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9d22e9d113393c536c5fe473fd76f388">CallSiteToPointsToMap</a></td></tr>
|
|
136
|
+
<tr class="separator:a9d22e9d113393c536c5fe473fd76f388 inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
135
137
|
<tr class="memitem:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">FunToNodeBSMap</a></td></tr>
|
|
136
138
|
<tr class="memdesc:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Maps Mod-Ref analysis. <a href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">More...</a><br /></td></tr>
|
|
137
139
|
<tr class="separator:ab01e492f002c73e2c89eb0b4c8f9647d inherit pub_types_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -148,12 +150,12 @@ Public Member Functions</h2></td></tr>
|
|
|
148
150
|
<tr class="inherit_header pub_methods_classSVF_1_1MRGenerator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1MRGenerator')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td></tr>
|
|
149
151
|
<tr class="memitem:a1f69924c587c4e68a029fd4e86cffacf inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1f69924c587c4e68a029fd4e86cffacf">getMRSet</a> ()</td></tr>
|
|
150
152
|
<tr class="separator:a1f69924c587c4e68a029fd4e86cffacf inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
151
|
-
<tr class="memitem:
|
|
152
|
-
<tr class="memdesc:
|
|
153
|
-
<tr class="separator:
|
|
154
|
-
<tr class="memitem:
|
|
155
|
-
<tr class="memdesc:
|
|
156
|
-
<tr class="separator:
|
|
153
|
+
<tr class="memitem:a98b3481580be48cff7e93bf3c8a29dac inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">getRepPointsTo</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts) const</td></tr>
|
|
154
|
+
<tr class="memdesc:a98b3481580be48cff7e93bf3c8a29dac inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Get superset cpts set. <a href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">More...</a><br /></td></tr>
|
|
155
|
+
<tr class="separator:a98b3481580be48cff7e93bf3c8a29dac inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
156
|
+
<tr class="memitem:a55d38020bbece70847f7e72bb02bc4af inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1MemRegion.html">MemRegion</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a55d38020bbece70847f7e72bb02bc4af">getMR</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts) const</td></tr>
|
|
157
|
+
<tr class="memdesc:a55d38020bbece70847f7e72bb02bc4af inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Get a memory region according to cpts. <a href="classSVF_1_1MRGenerator.html#a55d38020bbece70847f7e72bb02bc4af">More...</a><br /></td></tr>
|
|
158
|
+
<tr class="separator:a55d38020bbece70847f7e72bb02bc4af inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
157
159
|
<tr class="memitem:ad34e796ebc49f5749de39e81374dc7a7 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad34e796ebc49f5749de39e81374dc7a7">getMRNum</a> () const</td></tr>
|
|
158
160
|
<tr class="separator:ad34e796ebc49f5749de39e81374dc7a7 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
159
161
|
<tr class="memitem:a46e08638c8b5e6f6755de045c94862c4 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a46e08638c8b5e6f6755de045c94862c4">~MRGenerator</a> ()</td></tr>
|
|
@@ -165,12 +167,12 @@ Public Member Functions</h2></td></tr>
|
|
|
165
167
|
<tr class="memitem:a3121380139c7ae96d2045d66203253b6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">getFunction</a> (const <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> *pagEdge) const</td></tr>
|
|
166
168
|
<tr class="memdesc:a3121380139c7ae96d2045d66203253b6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Get the function which <a class="el" href="classSVF_1_1PAG.html">PAG</a> Edge located. <a href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">More...</a><br /></td></tr>
|
|
167
169
|
<tr class="separator:a3121380139c7ae96d2045d66203253b6 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
168
|
-
<tr class="memitem:
|
|
169
|
-
<tr class="memdesc:
|
|
170
|
-
<tr class="separator:
|
|
171
|
-
<tr class="memitem:
|
|
172
|
-
<tr class="memdesc:
|
|
173
|
-
<tr class="separator:
|
|
170
|
+
<tr class="memitem:a8832a53d8f6a5eb0a07551ca19c5513d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8832a53d8f6a5eb0a07551ca19c5513d">hasPAGEdgeList</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
171
|
+
<tr class="memdesc:a8832a53d8f6a5eb0a07551ca19c5513d inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Whether this instruction has <a class="el" href="classSVF_1_1PAG.html">PAG</a> Edge. <a href="classSVF_1_1MRGenerator.html#a8832a53d8f6a5eb0a07551ca19c5513d">More...</a><br /></td></tr>
|
|
172
|
+
<tr class="separator:a8832a53d8f6a5eb0a07551ca19c5513d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
173
|
+
<tr class="memitem:a5875a7f064e468d5eceba737eeb44791 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a1715322c61a3f41f1a093098591869d4">PAGEdgeList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a5875a7f064e468d5eceba737eeb44791">getPAGEdgesFromInst</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
174
|
+
<tr class="memdesc:a5875a7f064e468d5eceba737eeb44791 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Given an instruction, get all its the <a class="el" href="classSVF_1_1PAGEdge.html">PAGEdge</a> (statement) in sequence. <a href="classSVF_1_1MRGenerator.html#a5875a7f064e468d5eceba737eeb44791">More...</a><br /></td></tr>
|
|
175
|
+
<tr class="separator:a5875a7f064e468d5eceba737eeb44791 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
174
176
|
<tr class="memitem:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
175
177
|
<tr class="memdesc:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Get Memory Region set. <a href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">More...</a><br /></td></tr>
|
|
176
178
|
<tr class="separator:a64ba36ddcd304f6543e416c552763879 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -186,11 +188,11 @@ Public Member Functions</h2></td></tr>
|
|
|
186
188
|
<tr class="separator:a7ede01d58bb2490ded5895ca5bd45948 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
187
189
|
<tr class="memitem:acb78098bf1fc8c3a80720a3dff3a0a1d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acb78098bf1fc8c3a80720a3dff3a0a1d">getCallSiteModMRSet</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
188
190
|
<tr class="separator:acb78098bf1fc8c3a80720a3dff3a0a1d inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
189
|
-
<tr class="memitem:
|
|
190
|
-
<tr class="memdesc:
|
|
191
|
-
<tr class="separator:
|
|
192
|
-
<tr class="memitem:
|
|
193
|
-
<tr class="separator:
|
|
191
|
+
<tr class="memitem:af0d1a34ce38e9b20ee6fc7b27fcd5198 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af0d1a34ce38e9b20ee6fc7b27fcd5198">getModInfoForCall</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
192
|
+
<tr class="memdesc:af0d1a34ce38e9b20ee6fc7b27fcd5198 inherit pub_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">getModRefInfo APIs <a href="classSVF_1_1MRGenerator.html#af0d1a34ce38e9b20ee6fc7b27fcd5198">More...</a><br /></td></tr>
|
|
193
|
+
<tr class="separator:af0d1a34ce38e9b20ee6fc7b27fcd5198 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
194
|
+
<tr class="memitem:acbc431cc7fb72135e592d74709ea7a77 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acbc431cc7fb72135e592d74709ea7a77">getRefInfoForCall</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
195
|
+
<tr class="separator:acbc431cc7fb72135e592d74709ea7a77 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
194
196
|
<tr class="memitem:a455e0ba173141ac8ce76a655ac52205f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a7e833aa9feaf931fb44fb1e3fd502a6c">ModRefInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a455e0ba173141ac8ce76a655ac52205f">getModRefInfo</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
195
197
|
<tr class="separator:a455e0ba173141ac8ce76a655ac52205f inherit pub_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
196
198
|
<tr class="memitem:a9f1d1604fb884e5c99702556915396f9 inherit pub_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a7e833aa9feaf931fb44fb1e3fd502a6c">ModRefInfo</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9f1d1604fb884e5c99702556915396f9">getModRefInfo</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *V)</td></tr>
|
|
@@ -203,25 +205,25 @@ Protected Member Functions</h2></td></tr>
|
|
|
203
205
|
<tr class="memitem:a6d2434f0e3a318b89b7b9fa4f5613b64"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a6d2434f0e3a318b89b7b9fa4f5613b64">partitionMRs</a> ()</td></tr>
|
|
204
206
|
<tr class="memdesc:a6d2434f0e3a318b89b7b9fa4f5613b64"><td class="mdescLeft"> </td><td class="mdescRight">Partition regions. <a href="#a6d2434f0e3a318b89b7b9fa4f5613b64">More...</a><br /></td></tr>
|
|
205
207
|
<tr class="separator:a6d2434f0e3a318b89b7b9fa4f5613b64"><td class="memSeparator" colspan="2"> </td></tr>
|
|
206
|
-
<tr class="memitem:
|
|
207
|
-
<tr class="separator:
|
|
208
|
-
<tr class="memitem:
|
|
209
|
-
<tr class="separator:
|
|
210
|
-
<tr class="memitem:
|
|
211
|
-
<tr class="memdesc:
|
|
212
|
-
<tr class="separator:
|
|
213
|
-
<tr class="memitem:
|
|
214
|
-
<tr class="memdesc:
|
|
215
|
-
<tr class="separator:
|
|
216
|
-
<tr class="memitem:
|
|
217
|
-
<tr class="memdesc:
|
|
218
|
-
<tr class="separator:
|
|
208
|
+
<tr class="memitem:ae577d4d6f3a6e6fb62f6eff49ca6be88"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">getMRsForLoad</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &aliasMRs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
209
|
+
<tr class="separator:ae577d4d6f3a6e6fb62f6eff49ca6be88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
210
|
+
<tr class="memitem:a8d390306f30e8b9736a3d1228ef5bf3a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a8d390306f30e8b9736a3d1228ef5bf3a">getMRsForLoadFromInterList</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &mrs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &inters)</td></tr>
|
|
211
|
+
<tr class="separator:a8d390306f30e8b9736a3d1228ef5bf3a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
212
|
+
<tr class="memitem:a89ca36aaf82f17963abaa67c88415272"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a89ca36aaf82f17963abaa67c88415272">getMRsForCallSiteRef</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &aliasMRs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
213
|
+
<tr class="memdesc:a89ca36aaf82f17963abaa67c88415272"><td class="mdescLeft"> </td><td class="mdescRight">Get memory regions to be inserted at a load statement. <a href="#a89ca36aaf82f17963abaa67c88415272">More...</a><br /></td></tr>
|
|
214
|
+
<tr class="separator:a89ca36aaf82f17963abaa67c88415272"><td class="memSeparator" colspan="2"> </td></tr>
|
|
215
|
+
<tr class="memitem:a17d0ad0c62982d2b03121e935469e7b2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a17d0ad0c62982d2b03121e935469e7b2">createDisjointMR</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts)</td></tr>
|
|
216
|
+
<tr class="memdesc:a17d0ad0c62982d2b03121e935469e7b2"><td class="mdescLeft"> </td><td class="mdescRight">Create disjoint memory region. <a href="#a17d0ad0c62982d2b03121e935469e7b2">More...</a><br /></td></tr>
|
|
217
|
+
<tr class="separator:a17d0ad0c62982d2b03121e935469e7b2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
218
|
+
<tr class="memitem:adb3ed119aee3f1bc62b9679ee095580d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#adb3ed119aee3f1bc62b9679ee095580d">computeIntersections</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> &inters)</td></tr>
|
|
219
|
+
<tr class="memdesc:adb3ed119aee3f1bc62b9679ee095580d"><td class="mdescLeft"> </td><td class="mdescRight">Compute intersections between cpts and computed cpts intersections before. <a href="#adb3ed119aee3f1bc62b9679ee095580d">More...</a><br /></td></tr>
|
|
220
|
+
<tr class="separator:adb3ed119aee3f1bc62b9679ee095580d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
219
221
|
<tr class="inherit_header pro_methods_classSVF_1_1MRGenerator"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classSVF_1_1MRGenerator')"><img src="closed.png" alt="-"/> Protected Member Functions inherited from <a class="el" href="classSVF_1_1MRGenerator.html">SVF::MRGenerator</a></td></tr>
|
|
220
|
-
<tr class="memitem:
|
|
221
|
-
<tr class="separator:
|
|
222
|
-
<tr class="memitem:
|
|
223
|
-
<tr class="memdesc:
|
|
224
|
-
<tr class="separator:
|
|
222
|
+
<tr class="memitem:ac8fedbb65a582135354c939183d48f46 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">MRGenerator</a> (<a class="el" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a> *p, bool ptrOnly)</td></tr>
|
|
223
|
+
<tr class="separator:ac8fedbb65a582135354c939183d48f46 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
224
|
+
<tr class="memitem:ac18324bd2b862c3cdbf65494bf69ecb5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">createMR</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts)</td></tr>
|
|
225
|
+
<tr class="memdesc:ac18324bd2b862c3cdbf65494bf69ecb5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Generate a memory region and put in into functions which use it. <a href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">More...</a><br /></td></tr>
|
|
226
|
+
<tr class="separator:ac18324bd2b862c3cdbf65494bf69ecb5 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
225
227
|
<tr class="memitem:afdae3e11009966856736d9aa1e2ad5bd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#afdae3e11009966856736d9aa1e2ad5bd">collectGlobals</a> ()</td></tr>
|
|
226
228
|
<tr class="memdesc:afdae3e11009966856736d9aa1e2ad5bd inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Collect all global variables for later escape analysis. <a href="classSVF_1_1MRGenerator.html#afdae3e11009966856736d9aa1e2ad5bd">More...</a><br /></td></tr>
|
|
227
229
|
<tr class="separator:afdae3e11009966856736d9aa1e2ad5bd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -234,36 +236,36 @@ Protected Member Functions</h2></td></tr>
|
|
|
234
236
|
<tr class="memitem:a9c1da53188729eb743e1a33bbad87af7 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9c1da53188729eb743e1a33bbad87af7">updateAliasMRs</a> ()</td></tr>
|
|
235
237
|
<tr class="memdesc:a9c1da53188729eb743e1a33bbad87af7 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Update aliased regions for loads/stores/callsites. <a href="classSVF_1_1MRGenerator.html#a9c1da53188729eb743e1a33bbad87af7">More...</a><br /></td></tr>
|
|
236
238
|
<tr class="separator:a9c1da53188729eb743e1a33bbad87af7 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
237
|
-
<tr class="memitem:
|
|
238
|
-
<tr class="memdesc:
|
|
239
|
-
<tr class="separator:
|
|
240
|
-
<tr class="memitem:
|
|
241
|
-
<tr class="memdesc:
|
|
242
|
-
<tr class="separator:
|
|
243
|
-
<tr class="memitem:
|
|
244
|
-
<tr class="memdesc:
|
|
245
|
-
<tr class="separator:
|
|
239
|
+
<tr class="memitem:a66d94d15fb94e90a771f6b3dd7c0ecdd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a66d94d15fb94e90a771f6b3dd7c0ecdd">sortPointsTo</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts)</td></tr>
|
|
240
|
+
<tr class="memdesc:a66d94d15fb94e90a771f6b3dd7c0ecdd inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Given a condition pts, insert into cptsToRepCPtsMap for region generation. <a href="classSVF_1_1MRGenerator.html#a66d94d15fb94e90a771f6b3dd7c0ecdd">More...</a><br /></td></tr>
|
|
241
|
+
<tr class="separator:a66d94d15fb94e90a771f6b3dd7c0ecdd inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
242
|
+
<tr class="memitem:a28130cc55ab317d383ba6593f323b12a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">isAliasedMR</a> (const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1MemRegion.html">MemRegion</a> *mr)</td></tr>
|
|
243
|
+
<tr class="memdesc:a28130cc55ab317d383ba6593f323b12a inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Whether a region is aliased with a conditional points-to. <a href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">More...</a><br /></td></tr>
|
|
244
|
+
<tr class="separator:a28130cc55ab317d383ba6593f323b12a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
245
|
+
<tr class="memitem:ad740188222439c089907fa6c6c951f02 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02">getAliasMemRegions</a> (<a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> &aliasMRs, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
246
|
+
<tr class="memdesc:ad740188222439c089907fa6c6c951f02 inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Get all aliased mem regions from function fun according to cpts. <a href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02">More...</a><br /></td></tr>
|
|
247
|
+
<tr class="separator:ad740188222439c089907fa6c6c951f02 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
246
248
|
<tr class="memitem:adc9d530e6f010596d91cd3711dc1358b inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#adc9d530e6f010596d91cd3711dc1358b">modRefAnalysis</a> (<a class="el" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a> *callGraphNode, <a class="el" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> &worklist)</td></tr>
|
|
247
249
|
<tr class="memdesc:adc9d530e6f010596d91cd3711dc1358b inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Mod-Ref analysis for callsite invoking this callGraphNode. <a href="classSVF_1_1MRGenerator.html#adc9d530e6f010596d91cd3711dc1358b">More...</a><br /></td></tr>
|
|
248
250
|
<tr class="separator:adc9d530e6f010596d91cd3711dc1358b inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
249
251
|
<tr class="memitem:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">handleCallsiteModRef</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &mod, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &ref, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
250
252
|
<tr class="memdesc:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Get Mod-Ref of a callee function. <a href="classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a">More...</a><br /></td></tr>
|
|
251
253
|
<tr class="separator:a123a2ea51b04f1398b9ee66567f5014a inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
252
|
-
<tr class="memitem:
|
|
253
|
-
<tr class="memdesc:
|
|
254
|
-
<tr class="separator:
|
|
255
|
-
<tr class="memitem:
|
|
256
|
-
<tr class="separator:
|
|
257
|
-
<tr class="memitem:
|
|
258
|
-
<tr class="separator:
|
|
259
|
-
<tr class="memitem:
|
|
260
|
-
<tr class="separator:
|
|
254
|
+
<tr class="memitem:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">addCPtsToStore</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1StorePE.html">StorePE</a> *st, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
255
|
+
<tr class="memdesc:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Add cpts to store/load. <a href="classSVF_1_1MRGenerator.html#aa9900773ce82da953385df2e6487200e">More...</a><br /></td></tr>
|
|
256
|
+
<tr class="separator:aa9900773ce82da953385df2e6487200e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
257
|
+
<tr class="memitem:a4cd3d3af2cfad7b5c086f00ab8e68169 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a4cd3d3af2cfad7b5c086f00ab8e68169">addCPtsToLoad</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1LoadPE.html">LoadPE</a> *ld, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
258
|
+
<tr class="separator:a4cd3d3af2cfad7b5c086f00ab8e68169 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
259
|
+
<tr class="memitem:a77cf2b1959581da2b0cdf88291664ff3 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">addCPtsToCallSiteRefs</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
260
|
+
<tr class="separator:a77cf2b1959581da2b0cdf88291664ff3 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
261
|
+
<tr class="memitem:a3c9e58dee18cde9a6e1575e34955af78 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">addCPtsToCallSiteMods</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
262
|
+
<tr class="separator:a3c9e58dee18cde9a6e1575e34955af78 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
261
263
|
<tr class="memitem:a1cb94c8a0379eb30c99f0c3cb2bfebaf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1cb94c8a0379eb30c99f0c3cb2bfebaf">hasCPtsList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun) const</td></tr>
|
|
262
264
|
<tr class="separator:a1cb94c8a0379eb30c99f0c3cb2bfebaf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
263
|
-
<tr class="memitem:a6d86c8ebe87cb54f39e52daa7ffb0e2e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
265
|
+
<tr class="memitem:a6d86c8ebe87cb54f39e52daa7ffb0e2e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e">getPointsToList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
264
266
|
<tr class="separator:a6d86c8ebe87cb54f39e52daa7ffb0e2e inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
265
|
-
<tr class="memitem:
|
|
266
|
-
<tr class="separator:
|
|
267
|
+
<tr class="memitem:a1331e6f0941838064d77a5adaa5c6303 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">FunToPointsTosMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a> ()</td></tr>
|
|
268
|
+
<tr class="separator:a1331e6f0941838064d77a5adaa5c6303 inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
267
269
|
<tr class="memitem:a899c81db92c6bcf24f6f9b769e02e5bf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a899c81db92c6bcf24f6f9b769e02e5bf">addRefSideEffectOfFunction</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun, const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &refs)</td></tr>
|
|
268
270
|
<tr class="memdesc:a899c81db92c6bcf24f6f9b769e02e5bf inherit pro_methods_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Add/Get methods for side-effect of functions and callsites. <a href="classSVF_1_1MRGenerator.html#a899c81db92c6bcf24f6f9b769e02e5bf">More...</a><br /></td></tr>
|
|
269
271
|
<tr class="separator:a899c81db92c6bcf24f6f9b769e02e5bf inherit pro_methods_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -297,11 +299,11 @@ Protected Member Functions</h2></td></tr>
|
|
|
297
299
|
</table><table class="memberdecls">
|
|
298
300
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
|
299
301
|
Private Member Functions</h2></td></tr>
|
|
300
|
-
<tr class="memitem:ae3c857c056f4e6e863843bafba7fdea1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
302
|
+
<tr class="memitem:ae3c857c056f4e6e863843bafba7fdea1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae3c857c056f4e6e863843bafba7fdea1">getPtsSubSetMap</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func)</td></tr>
|
|
301
303
|
<tr class="separator:ae3c857c056f4e6e863843bafba7fdea1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
302
|
-
<tr class="memitem:aa8c653e895ff0889615cdbf349be7652"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
304
|
+
<tr class="memitem:aa8c653e895ff0889615cdbf349be7652"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func)</td></tr>
|
|
303
305
|
<tr class="separator:aa8c653e895ff0889615cdbf349be7652"><td class="memSeparator" colspan="2"> </td></tr>
|
|
304
|
-
<tr class="memitem:ad0640ef6e02d9a90964ca495c0fd8f53"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
306
|
+
<tr class="memitem:ad0640ef6e02d9a90964ca495c0fd8f53"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad0640ef6e02d9a90964ca495c0fd8f53">getPtsSubSetMap</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *func) const</td></tr>
|
|
305
307
|
<tr class="separator:ad0640ef6e02d9a90964ca495c0fd8f53"><td class="memSeparator" colspan="2"> </td></tr>
|
|
306
308
|
</table><table class="memberdecls">
|
|
307
309
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
|
|
@@ -317,7 +319,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
317
319
|
<tr class="memitem:af94bd8155a23273aab2396334d905119 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a></td></tr>
|
|
318
320
|
<tr class="memdesc:af94bd8155a23273aab2396334d905119 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">A set of All memory regions. <a href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">More...</a><br /></td></tr>
|
|
319
321
|
<tr class="separator:af94bd8155a23273aab2396334d905119 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
320
|
-
<tr class="memitem:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
322
|
+
<tr class="memitem:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a665836fd866c6393fc4a251eb4929dae">PtsToRepPtsSetMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a></td></tr>
|
|
321
323
|
<tr class="memdesc:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="mdescLeft"> </td><td class="mdescRight">Map a condition pts to its rep conditional pts (super set points-to) <a href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">More...</a><br /></td></tr>
|
|
322
324
|
<tr class="separator:ab4d1ff0357d389a65ff1c2112ce631a1 inherit pro_attribs_classSVF_1_1MRGenerator"><td class="memSeparator" colspan="2"> </td></tr>
|
|
323
325
|
</table>
|
|
@@ -333,7 +335,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
333
335
|
<div class="memproto">
|
|
334
336
|
<table class="memname">
|
|
335
337
|
<tr>
|
|
336
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1MRGenerator.html#
|
|
338
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>> <a class="el" href="classSVF_1_1IntraDisjointMRG.html#ad59c11753db0b310246418df4c62f639">SVF::IntraDisjointMRG::FunToInterMap</a></td>
|
|
337
339
|
</tr>
|
|
338
340
|
</table>
|
|
339
341
|
</div><div class="memdoc">
|
|
@@ -349,7 +351,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
349
351
|
<div class="memproto">
|
|
350
352
|
<table class="memname">
|
|
351
353
|
<tr>
|
|
352
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
354
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*, <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a>> <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a824dec1bb1df5052252e7fe0dd55a894">SVF::IntraDisjointMRG::FunToPtsMap</a></td>
|
|
353
355
|
</tr>
|
|
354
356
|
</table>
|
|
355
357
|
</div><div class="memdoc">
|
|
@@ -358,14 +360,14 @@ Additional Inherited Members</h2></td></tr>
|
|
|
358
360
|
|
|
359
361
|
</div>
|
|
360
362
|
</div>
|
|
361
|
-
<a id="
|
|
362
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
363
|
+
<a id="a5ff8d1cade33445ef7c17f0aedd6a4d1"></a>
|
|
364
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a5ff8d1cade33445ef7c17f0aedd6a4d1">◆ </a></span>PtsToSubPtsMap</h2>
|
|
363
365
|
|
|
364
366
|
<div class="memitem">
|
|
365
367
|
<div class="memproto">
|
|
366
368
|
<table class="memname">
|
|
367
369
|
<tr>
|
|
368
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a><<a class="el" href="namespaceSVF.html#
|
|
370
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap</a><<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>, <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>> <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">SVF::IntraDisjointMRG::PtsToSubPtsMap</a></td>
|
|
369
371
|
</tr>
|
|
370
372
|
</table>
|
|
371
373
|
</div><div class="memdoc">
|
|
@@ -410,7 +412,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
410
412
|
</div><div class="memdoc">
|
|
411
413
|
|
|
412
414
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8h_source.html#l00080">80</a> of file <a class="el" href="MemPartition_8h_source.html">MemPartition.h</a>.</p>
|
|
413
|
-
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  : <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
415
|
+
<div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  : <a class="code" href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">MRGenerator</a>(p, ptrOnly)</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {}</div><div class="ttc" id="classSVF_1_1MRGenerator_html_ac8fedbb65a582135354c939183d48f46"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac8fedbb65a582135354c939183d48f46">SVF::MRGenerator::MRGenerator</a></div><div class="ttdeci">MRGenerator(BVDataPTAImpl *p, bool ptrOnly)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00042">MemRegion.cpp:42</a></div></div>
|
|
414
416
|
</div><!-- fragment -->
|
|
415
417
|
</div>
|
|
416
418
|
</div>
|
|
@@ -442,8 +444,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
442
444
|
</div>
|
|
443
445
|
</div>
|
|
444
446
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
445
|
-
<a id="
|
|
446
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
447
|
+
<a id="adb3ed119aee3f1bc62b9679ee095580d"></a>
|
|
448
|
+
<h2 class="memtitle"><span class="permalink"><a href="#adb3ed119aee3f1bc62b9679ee095580d">◆ </a></span>computeIntersections()</h2>
|
|
447
449
|
|
|
448
450
|
<div class="memitem">
|
|
449
451
|
<div class="memproto">
|
|
@@ -454,13 +456,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
454
456
|
<tr>
|
|
455
457
|
<td class="memname">void IntraDisjointMRG::computeIntersections </td>
|
|
456
458
|
<td>(</td>
|
|
457
|
-
<td class="paramtype">const <a class="el" href="namespaceSVF.html#
|
|
459
|
+
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td>
|
|
458
460
|
<td class="paramname"><em>cpts</em>, </td>
|
|
459
461
|
</tr>
|
|
460
462
|
<tr>
|
|
461
463
|
<td class="paramkey"></td>
|
|
462
464
|
<td></td>
|
|
463
|
-
<td class="paramtype"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
465
|
+
<td class="paramtype"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> & </td>
|
|
464
466
|
<td class="paramname"><em>inters</em> </td>
|
|
465
467
|
</tr>
|
|
466
468
|
<tr>
|
|
@@ -480,13 +482,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
480
482
|
<p>Compute intersections between cpts and computed cpts intersections before. </p>
|
|
481
483
|
|
|
482
484
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00152">152</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
|
|
483
|
-
<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (inters.find(cpts) != inters.end())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="comment">// Skip this cpts if it is already in the map.</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpts.count() == 1)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">// If this cpts has only one element, it will not intersect with any cpts in inters,</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">// just add it into intersection set.</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  inters.insert(cpts);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> toBeDeleted;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">PointsToList</a> newInters;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> cpts_copy = cpts; <span class="comment">// make a copy since cpts may be changed.</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="comment">// check intersections with existing cpts in subSetMap</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  interIt != interEit; ++interIt)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& inter = *interIt;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">if</span> (cpts_copy.intersects(inter))</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// compute intersection between cpts and inter</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> new_inter = inter;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  new_inter &= cpts_copy;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="comment">// remove old intersection and add new one if possible</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (new_inter != inter)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  toBeDeleted.insert(inter);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  newInters.insert(new_inter);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">// compute complement after intersection</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a> complement = inter;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  complement.intersectWithComplement(new_inter);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">if</span> (complement.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  newInters.insert(complement);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  cpts_copy.intersectWithComplement(new_inter);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span> (cpts_copy.empty())</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">// remove old intersections</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator it = toBeDeleted.begin(), eit = toBeDeleted.end();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  it != eit; ++it)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& temp_cpts = *it;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  inters.erase(temp_cpts);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// add new intersections</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator it = newInters.begin(), eit = newInters.end();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  it != eit; ++it)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">PointsTo</a>& temp_cpts = *it;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  inters.insert(temp_cpts);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">// add remaining set into inters</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span> (cpts_copy.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  inters.insert(cpts_copy);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div><div class="ttc" id="classSVF_1_1MRGenerator_html_a2a9b87b7b9a567a7fd94e9267f3eb054"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet< PointsTo, SVFUtil::equalPointsTo > PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00144">MemRegion.h:144</a></div></div>
|
|
484
|
-
<div class="ttc" id="
|
|
485
|
+
<div class="fragment"><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> {</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (inters.find(cpts) != inters.end())</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="comment">// Skip this cpts if it is already in the map.</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (cpts.count() == 1)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="comment">// If this cpts has only one element, it will not intersect with any cpts in inters,</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">// just add it into intersection set.</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  inters.insert(cpts);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> toBeDeleted;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> newInters;</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> cpts_copy = cpts; <span class="comment">// make a copy since cpts may be changed.</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="comment">// check intersections with existing cpts in subSetMap</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  interIt != interEit; ++interIt)</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& inter = *interIt;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">if</span> (cpts_copy.intersects(inter))</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="comment">// compute intersection between cpts and inter</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> new_inter = inter;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  new_inter &= cpts_copy;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="comment">// remove old intersection and add new one if possible</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (new_inter != inter)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  toBeDeleted.insert(inter);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  newInters.insert(new_inter);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="comment">// compute complement after intersection</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> complement = inter;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  complement.intersectWithComplement(new_inter);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">if</span> (complement.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  newInters.insert(complement);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  cpts_copy.intersectWithComplement(new_inter);</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">if</span> (cpts_copy.empty())</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">// remove old intersections</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator it = toBeDeleted.begin(), eit = toBeDeleted.end();</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  it != eit; ++it)</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& temp_cpts = *it;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  inters.erase(temp_cpts);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// add new intersections</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator it = newInters.begin(), eit = newInters.end();</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  it != eit; ++it)</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& temp_cpts = *it;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  inters.insert(temp_cpts);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">// add remaining set into inters</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span> (cpts_copy.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  inters.insert(cpts_copy);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span> }</div><div class="ttc" id="classSVF_1_1MRGenerator_html_a8b254a0c5063e25f297d1b00fb0b515e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet< NodeBS, SVFUtil::equalNodeBS > PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00138">MemRegion.h:138</a></div></div>
|
|
486
|
+
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
|
|
485
487
|
</div><!-- fragment -->
|
|
486
488
|
</div>
|
|
487
489
|
</div>
|
|
488
|
-
<a id="
|
|
489
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
490
|
+
<a id="a17d0ad0c62982d2b03121e935469e7b2"></a>
|
|
491
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a17d0ad0c62982d2b03121e935469e7b2">◆ </a></span>createDisjointMR()</h2>
|
|
490
492
|
|
|
491
493
|
<div class="memitem">
|
|
492
494
|
<div class="memproto">
|
|
@@ -503,7 +505,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
503
505
|
<tr>
|
|
504
506
|
<td class="paramkey"></td>
|
|
505
507
|
<td></td>
|
|
506
|
-
<td class="paramtype">const <a class="el" href="namespaceSVF.html#
|
|
508
|
+
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td>
|
|
507
509
|
<td class="paramname"><em>cpts</em> </td>
|
|
508
510
|
</tr>
|
|
509
511
|
<tr>
|
|
@@ -523,8 +525,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
523
525
|
<p>Create memory regions for each points-to target. </p>
|
|
524
526
|
|
|
525
527
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00232">232</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
|
|
526
|
-
<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="comment">// set the rep cpts as itself.</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a>[cpts] = cpts;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="comment">// add memory region for this points-to target.</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
527
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_ab4d1ff0357d389a65ff1c2112ce631a1"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">SVF::MRGenerator::cptsToRepCPtsMap</a></div><div class="ttdeci">PtsToRepPtsSetMap cptsToRepCPtsMap</div><div class="ttdoc">Map a condition pts to its rep conditional pts (super set points-to) </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#
|
|
528
|
+
<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> {</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="comment">// set the rep cpts as itself.</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a>[cpts] = cpts;</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="comment">// add memory region for this points-to target.</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">createMR</a>(func, cpts);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> }</div><div class="ttc" id="classSVF_1_1MRGenerator_html_ac18324bd2b862c3cdbf65494bf69ecb5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5">SVF::MRGenerator::createMR</a></div><div class="ttdeci">void createMR(const SVFFunction *fun, const NodeBS &cpts)</div><div class="ttdoc">Generate a memory region and put in into functions which use it. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00070">MemRegion.cpp:70</a></div></div>
|
|
529
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_ab4d1ff0357d389a65ff1c2112ce631a1"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">SVF::MRGenerator::cptsToRepCPtsMap</a></div><div class="ttdeci">PtsToRepPtsSetMap cptsToRepCPtsMap</div><div class="ttdoc">Map a condition pts to its rep conditional pts (super set points-to) </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00275">MemRegion.h:275</a></div></div>
|
|
528
530
|
</div><!-- fragment -->
|
|
529
531
|
</div>
|
|
530
532
|
</div>
|
|
@@ -538,7 +540,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
538
540
|
<td class="mlabels-left">
|
|
539
541
|
<table class="memname">
|
|
540
542
|
<tr>
|
|
541
|
-
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
543
|
+
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>& SVF::IntraDisjointMRG::getIntersList </td>
|
|
542
544
|
<td>(</td>
|
|
543
545
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
544
546
|
<td class="paramname"><em>func</em></td><td>)</td>
|
|
@@ -557,8 +559,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
557
559
|
</div><!-- fragment -->
|
|
558
560
|
</div>
|
|
559
561
|
</div>
|
|
560
|
-
<a id="
|
|
561
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
562
|
+
<a id="a89ca36aaf82f17963abaa67c88415272"></a>
|
|
563
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a89ca36aaf82f17963abaa67c88415272">◆ </a></span>getMRsForCallSiteRef()</h2>
|
|
562
564
|
|
|
563
565
|
<div class="memitem">
|
|
564
566
|
<div class="memproto">
|
|
@@ -575,7 +577,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
575
577
|
<tr>
|
|
576
578
|
<td class="paramkey"></td>
|
|
577
579
|
<td></td>
|
|
578
|
-
<td class="paramtype">const <a class="el" href="namespaceSVF.html#
|
|
580
|
+
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td>
|
|
579
581
|
<td class="paramname"><em>cpts</em>, </td>
|
|
580
582
|
</tr>
|
|
581
583
|
<tr>
|
|
@@ -598,17 +600,17 @@ Additional Inherited Members</h2></td></tr>
|
|
|
598
600
|
</div><div class="memdoc">
|
|
599
601
|
|
|
600
602
|
<p>Get memory regions to be inserted at a load statement. </p>
|
|
601
|
-
<p>Get memory regions to be inserted at a load statement. Just process as <a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
603
|
+
<p>Get memory regions to be inserted at a load statement. Just process as <a class="el" href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">getMRsForLoad()</a>. </p>
|
|
602
604
|
|
|
603
|
-
<p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#
|
|
605
|
+
<p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#a02c60ceb7c9c37bcf83c739aa4083acc">SVF::MRGenerator</a>.</p>
|
|
604
606
|
|
|
605
607
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00262">262</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
|
|
606
|
-
<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1IntraDisjointMRG.html#
|
|
608
|
+
<div class="fragment"><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> {</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">getMRsForLoad</a>(aliasMRs, cpts, fun);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> }</div><div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_ae577d4d6f3a6e6fb62f6eff49ca6be88"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#ae577d4d6f3a6e6fb62f6eff49ca6be88">SVF::IntraDisjointMRG::getMRsForLoad</a></div><div class="ttdeci">virtual void getMRsForLoad(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00096">MemPartition.h:96</a></div></div>
|
|
607
609
|
</div><!-- fragment -->
|
|
608
610
|
</div>
|
|
609
611
|
</div>
|
|
610
|
-
<a id="
|
|
611
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
612
|
+
<a id="ae577d4d6f3a6e6fb62f6eff49ca6be88"></a>
|
|
613
|
+
<h2 class="memtitle"><span class="permalink"><a href="#ae577d4d6f3a6e6fb62f6eff49ca6be88">◆ </a></span>getMRsForLoad()</h2>
|
|
612
614
|
|
|
613
615
|
<div class="memitem">
|
|
614
616
|
<div class="memproto">
|
|
@@ -625,7 +627,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
625
627
|
<tr>
|
|
626
628
|
<td class="paramkey"></td>
|
|
627
629
|
<td></td>
|
|
628
|
-
<td class="paramtype">const <a class="el" href="namespaceSVF.html#
|
|
630
|
+
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td>
|
|
629
631
|
<td class="paramname"><em>cpts</em>, </td>
|
|
630
632
|
</tr>
|
|
631
633
|
<tr>
|
|
@@ -655,19 +657,19 @@ Additional Inherited Members</h2></td></tr>
|
|
|
655
657
|
</dd>
|
|
656
658
|
</dl>
|
|
657
659
|
|
|
658
|
-
<p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#
|
|
660
|
+
<p>Reimplemented from <a class="el" href="classSVF_1_1MRGenerator.html#abe8d6217250d227e743e4b581497aae8">SVF::MRGenerator</a>.</p>
|
|
659
661
|
|
|
660
|
-
<p>Reimplemented in <a class="el" href="classSVF_1_1InterDisjointMRG.html#
|
|
662
|
+
<p>Reimplemented in <a class="el" href="classSVF_1_1InterDisjointMRG.html#ae7846579fc473ae5eb6c9a8fac712d9a">SVF::InterDisjointMRG</a>.</p>
|
|
661
663
|
|
|
662
664
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8h_source.html#l00096">96</a> of file <a class="el" href="MemPartition_8h_source.html">MemPartition.h</a>.</p>
|
|
663
|
-
<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
665
|
+
<div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>& inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a8d390306f30e8b9736a3d1228ef5bf3a">getMRsForLoadFromInterList</a>(aliasMRs, cpts, inters);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div><div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a8d390306f30e8b9736a3d1228ef5bf3a"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a8d390306f30e8b9736a3d1228ef5bf3a">SVF::IntraDisjointMRG::getMRsForLoadFromInterList</a></div><div class="ttdeci">void getMRsForLoadFromInterList(MRSet &mrs, const NodeBS &cpts, const PointsToList &inters)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00241">MemPartition.cpp:241</a></div></div>
|
|
666
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_a8b254a0c5063e25f297d1b00fb0b515e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet< NodeBS, SVFUtil::equalNodeBS > PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00138">MemRegion.h:138</a></div></div>
|
|
664
667
|
<div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_aa8c653e895ff0889615cdbf349be7652"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">SVF::IntraDisjointMRG::getIntersList</a></div><div class="ttdeci">PointsToList & getIntersList(const SVFFunction *func)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00120">MemPartition.h:120</a></div></div>
|
|
665
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_a2a9b87b7b9a567a7fd94e9267f3eb054"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a2a9b87b7b9a567a7fd94e9267f3eb054">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet< PointsTo, SVFUtil::equalPointsTo > PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00144">MemRegion.h:144</a></div></div>
|
|
666
668
|
</div><!-- fragment -->
|
|
667
669
|
</div>
|
|
668
670
|
</div>
|
|
669
|
-
<a id="
|
|
670
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
671
|
+
<a id="a8d390306f30e8b9736a3d1228ef5bf3a"></a>
|
|
672
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8d390306f30e8b9736a3d1228ef5bf3a">◆ </a></span>getMRsForLoadFromInterList()</h2>
|
|
671
673
|
|
|
672
674
|
<div class="memitem">
|
|
673
675
|
<div class="memproto">
|
|
@@ -684,13 +686,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
684
686
|
<tr>
|
|
685
687
|
<td class="paramkey"></td>
|
|
686
688
|
<td></td>
|
|
687
|
-
<td class="paramtype">const <a class="el" href="namespaceSVF.html#
|
|
689
|
+
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> & </td>
|
|
688
690
|
<td class="paramname"><em>cpts</em>, </td>
|
|
689
691
|
</tr>
|
|
690
692
|
<tr>
|
|
691
693
|
<td class="paramkey"></td>
|
|
692
694
|
<td></td>
|
|
693
|
-
<td class="paramtype">const <a class="el" href="classSVF_1_1MRGenerator.html#
|
|
695
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a> & </td>
|
|
694
696
|
<td class="paramname"><em>inters</em> </td>
|
|
695
697
|
</tr>
|
|
696
698
|
<tr>
|
|
@@ -707,10 +709,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
707
709
|
</div><div class="memdoc">
|
|
708
710
|
|
|
709
711
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00241">241</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
|
|
710
|
-
<div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  PointsToList::const_iterator it = inters.begin();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  PointsToList::const_iterator eit = inters.end();</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#
|
|
711
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_af94bd8155a23273aab2396334d905119"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">SVF::MRGenerator::memRegSet</a></div><div class="ttdeci">MRSet memRegSet</div><div class="ttdoc">A set of All memory regions. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#
|
|
712
|
-
<div class="ttc" id="
|
|
713
|
-
<div class="ttc" id="
|
|
712
|
+
<div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> {</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  PointsToList::const_iterator it = inters.begin();</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  PointsToList::const_iterator eit = inters.end();</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& inter = *it;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keywordflow">if</span> (cpts.contains(inter))</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  {</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a> mr(inter);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  MRSet::iterator mit = <a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>.find(&mr);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(mit!=<a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>.end() && <span class="stringliteral">"memory region not found!!"</span>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  mrs.insert(*mit);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
713
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_af94bd8155a23273aab2396334d905119"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">SVF::MRGenerator::memRegSet</a></div><div class="ttdeci">MRSet memRegSet</div><div class="ttdoc">A set of All memory regions. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00273">MemRegion.h:273</a></div></div>
|
|
714
|
+
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
|
|
715
|
+
<div class="ttc" id="classSVF_1_1MemRegion_html"><div class="ttname"><a href="classSVF_1_1MemRegion.html">SVF::MemRegion</a></div><div class="ttdoc">Memory Region class. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00050">MemRegion.h:50</a></div></div>
|
|
714
716
|
</div><!-- fragment -->
|
|
715
717
|
</div>
|
|
716
718
|
</div>
|
|
@@ -724,7 +726,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
724
726
|
<td class="mlabels-left">
|
|
725
727
|
<table class="memname">
|
|
726
728
|
<tr>
|
|
727
|
-
<td class="memname"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
729
|
+
<td class="memname"><a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a>& SVF::IntraDisjointMRG::getPtsSubSetMap </td>
|
|
728
730
|
<td>(</td>
|
|
729
731
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
730
732
|
<td class="paramname"><em>func</em></td><td>)</td>
|
|
@@ -753,7 +755,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
753
755
|
<td class="mlabels-left">
|
|
754
756
|
<table class="memname">
|
|
755
757
|
<tr>
|
|
756
|
-
<td class="memname">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#
|
|
758
|
+
<td class="memname">const <a class="el" href="classSVF_1_1IntraDisjointMRG.html#a5ff8d1cade33445ef7c17f0aedd6a4d1">PtsToSubPtsMap</a>& SVF::IntraDisjointMRG::getPtsSubSetMap </td>
|
|
757
759
|
<td>(</td>
|
|
758
760
|
<td class="paramtype">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td>
|
|
759
761
|
<td class="paramname"><em>func</em></td><td>)</td>
|
|
@@ -804,13 +806,13 @@ Additional Inherited Members</h2></td></tr>
|
|
|
804
806
|
<p>Reimplemented in <a class="el" href="classSVF_1_1InterDisjointMRG.html#a807cf159e53c2fb2903296207185dda0">SVF::InterDisjointMRG</a>.</p>
|
|
805
807
|
|
|
806
808
|
<p class="definition">Definition at line <a class="el" href="MemPartition_8cpp_source.html#l00122">122</a> of file <a class="el" href="MemPartition_8cpp_source.html">MemPartition.cpp</a>.</p>
|
|
807
|
-
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">for</span>(
|
|
808
|
-
<div class="ttc" id="
|
|
809
|
-
<div class="ttc" id="
|
|
810
|
-
<div class="ttc" id="
|
|
809
|
+
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> {</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">for</span>(FunToPointsTosMap::iterator it = <a class="code" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>().begin(),</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  eit = <a class="code" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>().end(); it!=eit; ++it)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = it->first;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">for</span>(PointsToList::iterator cit = it->second.begin(), ecit = it->second.end();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  cit!=ecit; ++cit)</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  {</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& cpts = *cit;</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>& inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="classSVF_1_1IntraDisjointMRG.html#adb3ed119aee3f1bc62b9679ee095580d">computeIntersections</a>(cpts, inters);</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>& inters = <a class="code" href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">getIntersList</a>(fun);</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">for</span> (PointsToList::const_iterator interIt = inters.begin(), interEit = inters.end();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  interIt != interEit; ++interIt)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& inter = *interIt;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="classSVF_1_1IntraDisjointMRG.html#a17d0ad0c62982d2b03121e935469e7b2">createDisjointMR</a>(fun, inter);</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div><div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
|
|
810
|
+
<div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_adb3ed119aee3f1bc62b9679ee095580d"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#adb3ed119aee3f1bc62b9679ee095580d">SVF::IntraDisjointMRG::computeIntersections</a></div><div class="ttdeci">void computeIntersections(const NodeBS &cpts, PointsToList &inters)</div><div class="ttdoc">Compute intersections between cpts and computed cpts intersections before. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00152">MemPartition.cpp:152</a></div></div>
|
|
811
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_a1331e6f0941838064d77a5adaa5c6303"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">SVF::MRGenerator::getFunToPointsToList</a></div><div class="ttdeci">FunToPointsTosMap & getFunToPointsToList()</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00366">MemRegion.h:366</a></div></div>
|
|
812
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_a8b254a0c5063e25f297d1b00fb0b515e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">SVF::MRGenerator::PointsToList</a></div><div class="ttdeci">OrderedSet< NodeBS, SVFUtil::equalNodeBS > PointsToList</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00138">MemRegion.h:138</a></div></div>
|
|
813
|
+
<div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_a17d0ad0c62982d2b03121e935469e7b2"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#a17d0ad0c62982d2b03121e935469e7b2">SVF::IntraDisjointMRG::createDisjointMR</a></div><div class="ttdeci">void createDisjointMR(const SVFFunction *func, const NodeBS &cpts)</div><div class="ttdoc">Create disjoint memory region. </div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8cpp_source.html#l00232">MemPartition.cpp:232</a></div></div>
|
|
811
814
|
<div class="ttc" id="classSVF_1_1IntraDisjointMRG_html_aa8c653e895ff0889615cdbf349be7652"><div class="ttname"><a href="classSVF_1_1IntraDisjointMRG.html#aa8c653e895ff0889615cdbf349be7652">SVF::IntraDisjointMRG::getIntersList</a></div><div class="ttdeci">PointsToList & getIntersList(const SVFFunction *func)</div><div class="ttdef"><b>Definition:</b> <a href="MemPartition_8h_source.html#l00120">MemPartition.h:120</a></div></div>
|
|
812
|
-
<div class="ttc" id="
|
|
813
|
-
<div class="ttc" id="namespaceSVF_html_a0c6594b4bae7924369bb61943c1da4fb"><div class="ttname"><a href="namespaceSVF.html#a0c6594b4bae7924369bb61943c1da4fb">SVF::PointsTo</a></div><div class="ttdeci">NodeBS PointsTo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00088">SVFBasicTypes.h:88</a></div></div>
|
|
815
|
+
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00087">SVFBasicTypes.h:87</a></div></div>
|
|
814
816
|
</div><!-- fragment -->
|
|
815
817
|
</div>
|
|
816
818
|
</div>
|