svf-tools 1.0.587 → 1.0.589
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/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/Andersen_8h_source.html +17 -17
- package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +7 -7
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +27 -27
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/CHG_8h_source.html +8 -8
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Casting_8h.html +1 -0
- package/SVF-doxygen/html/html/Casting_8h_source.html +42 -42
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +21 -21
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +38 -38
- package/SVF-doxygen/html/html/ConsG_8h_source.html +28 -28
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +25 -23
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +36 -36
- package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -15
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +16 -16
- package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +8 -8
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +61 -61
- package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +37 -34
- package/SVF-doxygen/html/html/ICFG_8h_source.html +30 -30
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +28 -28
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +18 -18
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +35 -36
- package/SVF-doxygen/html/html/MHP_8h_source.html +15 -15
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +11 -11
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/MTA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +41 -41
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +14 -14
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -7
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PCG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +9 -9
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +31 -31
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +63 -63
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +83 -84
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SCC_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +5 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -27
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +73 -74
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +14 -14
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +58 -58
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +75 -75
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +34 -34
- package/SVF-doxygen/html/html/SVFLoop_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +23 -23
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +47 -47
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +59 -59
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +22 -23
- package/SVF-doxygen/html/html/TCT_8h_source.html +21 -21
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +6 -6
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -14
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +97 -97
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +72 -69
- package/SVF-doxygen/html/html/VFG_8h_source.html +57 -57
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +7 -7
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +5 -5
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WorkList_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +64 -66
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +216 -217
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +15 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +259 -260
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +16 -18
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +271 -272
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +257 -258
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +164 -165
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +67 -69
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +191 -192
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +20 -22
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +185 -186
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +189 -190
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +153 -154
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +19 -21
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +80 -80
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +120 -120
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +255 -256
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
- 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_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +283 -284
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +28 -30
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +274 -275
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +88 -90
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +41 -42
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +71 -67
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +60 -60
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +70 -71
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +108 -108
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +120 -121
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +258 -276
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +97 -97
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +79 -79
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +255 -255
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +132 -132
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +103 -103
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +228 -229
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +59 -60
- 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 +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +221 -222
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +24 -26
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +168 -165
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +324 -325
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +70 -72
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1 -1
- package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +9 -12
- package/SVF-doxygen/html/html/functions_func.html +4 -4
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_r.html +8 -8
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +8 -8
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +8 -8
- package/SVF-doxygen/html/html/functions_p.html +14 -16
- package/SVF-doxygen/html/html/functions_r.html +10 -12
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_type.html +0 -3
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/namespaceSVF.html +175 -193
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +55 -55
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +44 -44
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
- package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +4 -5
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_11.js +10 -10
- package/SVF-doxygen/html/html/search/all_12.js +5 -6
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +3 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_10.js +8 -8
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +0 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01typename_01std_1_1enable__if_3_01std_1_1101a002941fb8432b76e90258f1ec6b7.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +6 -6
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +15 -15
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +21 -21
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +6 -6
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -8
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +9 -9
- package/include/Graphs/ConsGNode.h +48 -24
- package/include/Graphs/GenericGraph.h +4 -2
- package/include/Graphs/ICFG.h +3 -2
- package/include/Graphs/SVFGOPT.h +7 -7
- package/include/Graphs/VFG.h +3 -2
- package/include/MSSA/MemSSA.h +6 -6
- package/include/MemoryModel/PersistentPointsToDS.h +1 -1
- package/include/MemoryModel/PointerAnalysis.h +0 -1
- package/include/MemoryModel/SVFIR.h +3 -1
- package/include/SABER/SaberCondAllocator.h +7 -2
- package/include/SVF-FE/BasicTypes.h +7 -1
- package/include/SVF-FE/IRAnnotator.h +3 -1
- package/include/Util/BasicTypes.h +1 -22
- package/include/Util/Casting.h +1 -0
- package/include/Util/SVFBasicTypes.h +0 -5
- package/include/Util/SparseBitVector.h +2 -0
- package/lib/DDA/ContextDDA.cpp +8 -5
- package/lib/Graphs/ConsG.cpp +46 -23
- package/lib/Graphs/ICFG.cpp +8 -4
- package/lib/Graphs/VFG.cpp +6 -3
- package/lib/MSSA/MemRegion.cpp +1 -0
- package/lib/MTA/MHP.cpp +4 -4
- package/lib/MTA/TCT.cpp +2 -1
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +3 -1
- package/lib/SABER/SaberCondAllocator.cpp +3 -1
- package/lib/SVF-FE/CHGBuilder.cpp +2 -2
- package/lib/SVF-FE/SVFIRBuilder.cpp +4 -1
- package/lib/WPA/AndersenSFR.cpp +3 -0
- package/lib/WPA/TypeAnalysis.cpp +1 -0
- package/package.json +1 -1
|
@@ -68,7 +68,7 @@ $(function() {
|
|
|
68
68
|
<div class="contents">
|
|
69
69
|
<a href="MemRegion_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- MemRegion.h -- Memory region -----------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">/*</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * MemoryRegion.h</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> *</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Created on: Jul 14, 2013</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * The implementation is based on</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> * Yulei Sui, Hua Yan, Yunpeng Zhang, Jingling Xue and Zheng Zheng.</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * "Parallel Construction of Interprocedural Memory SSA Form".</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> * Journal of Systems and Software (JSS'16)</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment"> */</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#ifndef MEMORYREGION_H_</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#define MEMORYREGION_H_</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="SVFIR_8h.html">MemoryModel/SVFIR.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#include "<a class="code" href="PTACallGraph_8h.html">Graphs/PTACallGraph.h</a>"</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#include "<a class="code" href="SCC_8h.html">Util/SCC.h</a>"</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include "<a class="code" href="WorkList_8h.html">Util/WorkList.h</a>"</span></div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#include "<a class="code" href="ICFG_8h.html">Graphs/ICFG.h</a>"</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#include <set></span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> {</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a1ed5cfc8a00b2d3b90e74debabaa62a5"> 48</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="namespaceSVF.html#a1ed5cfc8a00b2d3b90e74debabaa62a5">MRID</a>;</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a0039280e908258b8e73779de51e9f63b"> 51</a></span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="namespaceSVF.html#a0039280e908258b8e73779de51e9f63b">MRVERID</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5"> 52</a></span> <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <a class="code" href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">MRVERSION</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html"> 55</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> {</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a7ed54700c976f9738012bc051b7f41f5"> 59</a></span>  <span class="keyword">typedef</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MemRegion.html#a7ed54700c976f9738012bc051b7f41f5">Condition</a>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a23857f301395cbbad10f6f93256a7398"> 62</a></span>  <span class="keyword">static</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MemRegion.html#a23857f301395cbbad10f6f93256a7398">totalMRNum</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#aeb8ba1e0c907aeb3de84d8bd899c98b4"> 63</a></span>  MRID <a class="code" href="classSVF_1_1MemRegion.html#aeb8ba1e0c907aeb3de84d8bd899c98b4">rid</a>;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc"> 64</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">cptsSet</a>;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a1d8189977196da687f50cfa6df98394b"> 68</a></span>  <a class="code" href="classSVF_1_1MemRegion.html#a1d8189977196da687f50cfa6df98394b">MemRegion</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cp) :</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  rid(++totalMRNum), cptsSet(cp)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a2f680d13f4d983b1bc96967c930e8bd9"> 73</a></span>  <a class="code" href="classSVF_1_1MemRegion.html#a2f680d13f4d983b1bc96967c930e8bd9">~MemRegion</a>()</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802"> 78</a></span>  <span class="keyword">inline</span> MRID <a class="code" href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">getMRID</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MemRegion.html#aeb8ba1e0c907aeb3de84d8bd899c98b4">rid</a>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1"> 83</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> &<a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">cptsSet</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#affa3a8efd91faf5704e514f1e83fead9"> 88</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MemRegion.html#affa3a8efd91faf5704e514f1e83fead9">operator==</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">return</span> this-><a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>() == rhs-><a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60"> 93</a></span>  <span class="keyword">inline</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1MemRegion.html#adad8c2b08ab6a512f0c3aa90b4416f60">dumpStr</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  str += <span class="stringliteral">"pts{"</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">NodeBS::iterator</a> ii = cptsSet.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), ie = cptsSet.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  ii != ie; ii++)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  sprintf(int2str, <span class="stringliteral">"%d"</span>, *ii);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  str += int2str;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  str += <span class="stringliteral">" "</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  str += <span class="stringliteral">"}"</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="structSVF_1_1MemRegion_1_1equalMemRegion.html"> 112</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structSVF_1_1MemRegion_1_1equalMemRegion.html">equalMemRegion</a></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structSVF_1_1MemRegion_1_1equalMemRegion.html#a3cd8165dfa543312d2b3bfa798b6154b"> 114</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structSVF_1_1MemRegion_1_1equalMemRegion.html#a3cd8165dfa543312d2b3bfa798b6154b">operator()</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* lhs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* rhs)<span class="keyword"> const</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">SVFUtil::cmpNodeBS</a>(lhs-><a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>(), rhs-><a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>());</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  } <a class="code" href="classSVF_1_1MemRegion.html#af0a0b4a5862a136ef4f203f19139da65">equalMemRegion</a>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1MemRegion.html#a99f106d47fd67f1ae53e144d72a223c9"> 122</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MemRegion.html#a99f106d47fd67f1ae53e144d72a223c9">getRegionSize</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordflow">return</span> cptsSet.<a class="code" href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">count</a>();</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</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> </div><div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html"> 131</a></span> <span class="keyword">class </span><a class="code" href="classSVF_1_1MRGenerator.html">MRGenerator</a></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> {</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> <span class="keyword">public</span>:</div><div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc"> 135</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<NodeID></a> <a class="code" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet<const MemRegion*, MemRegion::equalMemRegion></a> <a class="code" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a>;</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31"> 142</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const PAGEdge*, const SVFFunction*></a> <a class="code" href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31">PAGEdgeToFunMap</a>;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e"> 143</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet<NodeBS, SVFUtil::equalNodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#a8b254a0c5063e25f297d1b00fb0b515e">PointsToList</a>;</div><div class="line"><a name="l00144"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a"> 144</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">FunToPointsToMap</a>;</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd"> 145</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, PointsToList></a> <a class="code" href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">FunToPointsTosMap</a>;</div><div class="line"><a name="l00146"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a665836fd866c6393fc4a251eb4929dae"> 146</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">OrderedMap<NodeBS, NodeBS, SVFUtil::equalNodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#a665836fd866c6393fc4a251eb4929dae">PtsToRepPtsSetMap</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b"> 149</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, MRSet></a> <a class="code" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">FunToMRsMap</a>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175"> 153</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const LoadStmt*, MRSet></a> <a class="code" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a>;</div><div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c"> 154</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const StoreStmt*, MRSet></a> <a class="code" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a>;</div><div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af9872d1175874a920e6df10268518233"> 155</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CallICFGNode*, MRSet></a> <a class="code" href="classSVF_1_1MRGenerator.html#af9872d1175874a920e6df10268518233">CallSiteToMRsMap</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c"> 160</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const LoadStmt*, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a>;</div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d"> 161</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const StoreStmt*, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a>;</div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a255e42c2b2062bbc799517c77ec25336"> 162</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CallICFGNode*, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#a255e42c2b2062bbc799517c77ec25336">CallSiteToPointsToMap</a>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const SVFFunction*, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">FunToNodeBSMap</a>;</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a934a90164cc1364ea6aba5b4ae3cf2a9"> 170</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const CallICFGNode*, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#a934a90164cc1364ea6aba5b4ae3cf2a9">CallSiteToNodeBSMap</a>;</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ab075a7c7fbc60f678b3fee8bbc06194d"> 173</a></span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<NodeID, NodeBS></a> <a class="code" href="classSVF_1_1MRGenerator.html#ab075a7c7fbc60f678b3fee8bbc06194d">NodeToPTSSMap</a>;</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52"> 176</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a> <a class="code" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a>;</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629"> 178</a></span>  <span class="keyword">typedef</span> <a class="code" href="classSVF_1_1SCCDetection.html">SCCDetection<PTACallGraph*></a> <a class="code" href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">SCC</a>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> </div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a1f69924c587c4e68a029fd4e86cffacf"> 180</a></span>  MRSet& <a class="code" href="classSVF_1_1MRGenerator.html#a1f69924c587c4e68a029fd4e86cffacf">getMRSet</a>()</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  {</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">return</span> memRegSet;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac"> 186</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#a98b3481580be48cff7e93bf3c8a29dac">getRepPointsTo</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts)<span class="keyword"> const</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  PtsToRepPtsSetMap::const_iterator it = cptsToRepCPtsMap.find(cpts);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  assert(it!=cptsToRepCPtsMap.end() && <span class="stringliteral">"can not find superset of cpts??"</span>);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  }</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* getMR(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts) <span class="keyword">const</span>;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff"> 197</a></span>  <a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>* <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>;</div><div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#aa3a12cf1f761d25b9213bc6e50d89ba5"> 198</a></span>  SCC* <a class="code" href="classSVF_1_1MRGenerator.html#aa3a12cf1f761d25b9213bc6e50d89ba5">callGraphSCC</a>;</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a05005a166c39b1adea492655d77db519"> 199</a></span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1MRGenerator.html#a05005a166c39b1adea492655d77db519">callGraph</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3"> 200</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3">ptrOnlyMSSA</a>;</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96"> 203</a></span>  FunToMRsMap <a class="code" href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96">funToMRsMap</a>;</div><div class="line"><a name="l00205"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba"> 205</a></span>  LoadsToMRsMap <a class="code" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">loadsToMRsMap</a>;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a255551fd3ff8fb33bcea93d0b00280b3"> 207</a></span>  StoresToMRsMap <a class="code" href="classSVF_1_1MRGenerator.html#a255551fd3ff8fb33bcea93d0b00280b3">storesToMRsMap</a>;</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a7a7ed21181c2486b60170a479a5a534e"> 209</a></span>  CallSiteToMRsMap <a class="code" href="classSVF_1_1MRGenerator.html#a7a7ed21181c2486b60170a479a5a534e">callsiteToRefMRsMap</a>;</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#adf8d477e5f622855799842134145ecc4"> 211</a></span>  CallSiteToMRsMap <a class="code" href="classSVF_1_1MRGenerator.html#adf8d477e5f622855799842134145ecc4">callsiteToModMRsMap</a>;</div><div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975"> 213</a></span>  LoadsToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">loadsToPointsToMap</a>;</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a7d86f708743a59aa31c0a9fd6de45dac"> 215</a></span>  StoresToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#a7d86f708743a59aa31c0a9fd6de45dac">storesToPointsToMap</a>;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a34967cda51699f948a581b9f88fa3b10"> 217</a></span>  CallSiteToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#a34967cda51699f948a581b9f88fa3b10">callsiteToRefPointsToMap</a>;</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ab8df193e84009e406c301731d17dc7b9"> 219</a></span>  CallSiteToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#ab8df193e84009e406c301731d17dc7b9">callsiteToModPointsToMap</a>;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div><div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a05c7a5ddbe3079f63be76c35298d1c2b"> 222</a></span>  FunToPointsTosMap <a class="code" href="classSVF_1_1MRGenerator.html#a05c7a5ddbe3079f63be76c35298d1c2b">funToPointsToMap</a>;</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58"> 224</a></span>  PAGEdgeToFunMap <a class="code" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">pagEdgeToFunMap</a>;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af6d58e2971c4a8d3ee03f9dfd9072a3a"> 227</a></span>  FunToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#af6d58e2971c4a8d3ee03f9dfd9072a3a">funToRefsMap</a>;</div><div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a2c94bfa19ad8d1d6360b12693c8b891d"> 229</a></span>  FunToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#a2c94bfa19ad8d1d6360b12693c8b891d">funToModsMap</a>;</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ac7b5ca3fd950e1a940f875ac135640f6"> 231</a></span>  CallSiteToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#ac7b5ca3fd950e1a940f875ac135640f6">csToRefsMap</a>;</div><div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a603f993995e7d6961e203a195bb56029"> 233</a></span>  CallSiteToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#a603f993995e7d6961e203a195bb56029">csToModsMap</a>;</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#afe91b57b451d7788364493549e015acf"> 235</a></span>  CallSiteToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#afe91b57b451d7788364493549e015acf">csToCallSiteArgsPtsMap</a>;</div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a21550f978f42ac3cbb32cbc426ff5cb1"> 237</a></span>  CallSiteToPointsToMap <a class="code" href="classSVF_1_1MRGenerator.html#a21550f978f42ac3cbb32cbc426ff5cb1">csToCallSiteRetPtsMap</a>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a0e46c7beb580ace3a652ac9e1c419b48"> 240</a></span>  NodeToPTSSMap <a class="code" href="classSVF_1_1MRGenerator.html#a0e46c7beb580ace3a652ac9e1c419b48">cachedPtsChainMap</a>;</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af46b82e45aa1ecdfb397325971206541"> 243</a></span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1MRGenerator.html#af46b82e45aa1ecdfb397325971206541">allGlobals</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordtype">void</span> destroy();</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="comment">//Get all objects might pass into callee from a callsite</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordtype">void</span> collectCallSitePts(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="comment">//Recursive collect points-to chain</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& CollectPtsChain(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ad402506c2938d4b5440119e6091e4057"> 255</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#ad402506c2938d4b5440119e6091e4057">getCallSiteArgsPts</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  {</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">return</span> csToCallSiteArgsPtsMap[cs];</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  }</div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ab19c541dd4c3a0e691287da5dd43540d"> 260</a></span>  <span class="keyword">inline</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#ab19c541dd4c3a0e691287da5dd43540d">getCallSiteRetPts</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">return</span> csToCallSiteRetPtsMap[cs];</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordtype">bool</span> isNonLocalObject(<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> <span class="keywordtype">id</span>, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* curFun) <span class="keyword">const</span>;</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordtype">void</span> getEscapObjviaGlobals(<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& globs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& pts);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">void</span> getCallGraphSCCRevTopoOrder(WorkList& worklist);</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="keyword">protected</span>:</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <a class="code" href="classSVF_1_1MRGenerator.html">MRGenerator</a>(<a class="code" href="classSVF_1_1BVDataPTAImpl.html">BVDataPTAImpl</a>* <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>, <span class="keywordtype">bool</span> ptrOnly);</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119"> 278</a></span>  MRSet <a class="code" href="classSVF_1_1MRGenerator.html#af94bd8155a23273aab2396334d905119">memRegSet</a>;</div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1"> 280</a></span>  PtsToRepPtsSetMap <a class="code" href="classSVF_1_1MRGenerator.html#ab4d1ff0357d389a65ff1c2112ce631a1">cptsToRepCPtsMap</a>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordtype">void</span> createMR(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordtype">void</span> collectGlobals();</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> collectModRefForLoadStore();</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> collectModRefForCall();</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> partitionMRs();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> updateAliasMRs();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> sortPointsTo(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts);</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a"> 304</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#a28130cc55ab317d383ba6593f323b12a">isAliasedMR</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* mr)</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  {</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">return</span> mr-><a class="code" href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">getPointsTo</a>().<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(cpts);</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  }</div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02"> 309</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02">getAliasMemRegions</a>(MRSet& aliasMRs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">for</span>(MRSet::const_iterator it = funToMRsMap[fun].begin(), eit = funToMRsMap[fun].end(); it!=eit; ++it)</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">if</span>(isAliasedMR(cpts,*it))</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  aliasMRs.insert(*it);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  }</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#abe8d6217250d227e743e4b581497aae8"> 319</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#abe8d6217250d227e743e4b581497aae8">getMRsForLoad</a>(MRSet& aliasMRs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*)</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* mr = getMR(cpts);</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  aliasMRs.insert(mr);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div><div class="line"><a name="l00326"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a02c60ceb7c9c37bcf83c739aa4083acc"> 326</a></span>  <span class="keyword">virtual</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#a02c60ceb7c9c37bcf83c739aa4083acc">getMRsForCallSiteRef</a>(MRSet& aliasMRs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>*)</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemRegion.html">MemRegion</a>* mr = getMR(cpts);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  aliasMRs.insert(mr);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  }</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span> </div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> modRefAnalysis(<a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* callGraphNode, WorkList& worklist);</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> </div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keyword">virtual</span> <span class="keywordtype">bool</span> handleCallsiteModRef(<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& mod, <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& ref, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun);</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div><div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e"> 341</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">addCPtsToStore</a>(<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *st, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  storesToPointsToMap[st] = cpts;</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  funToPointsToMap[fun].insert(cpts);</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  addModSideEffectOfFunction(fun,cpts);</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  }</div><div class="line"><a name="l00347"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967"> 347</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">addCPtsToLoad</a>(<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *ld, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  loadsToPointsToMap[ld] = cpts;</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  funToPointsToMap[fun].insert(cpts);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  addRefSideEffectOfFunction(fun,cpts);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  }</div><div class="line"><a name="l00353"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a94ce7ceff7cee90d672e9f3a4f3aa4e8"> 353</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#a94ce7ceff7cee90d672e9f3a4f3aa4e8">addCPtsToCallSiteRefs</a>(<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  callsiteToRefPointsToMap[cs] |= cpts;</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  funToPointsToMap[cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>()].insert(cpts);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  }</div><div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ab5b92ca898739f613f965fc05f86f094"> 358</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1MRGenerator.html#ab5b92ca898739f613f965fc05f86f094">addCPtsToCallSiteMods</a>(<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& cpts, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  callsiteToModPointsToMap[cs] |= cpts;</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  funToPointsToMap[cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>()].insert(cpts);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  }</div><div class="line"><a name="l00363"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a1cb94c8a0379eb30c99f0c3cb2bfebaf"> 363</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#a1cb94c8a0379eb30c99f0c3cb2bfebaf">hasCPtsList</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)<span class="keyword"> const</span></div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">return</span> funToPointsToMap.find(fun)!=funToPointsToMap.end();</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e"> 367</a></span>  <span class="keyword">inline</span> PointsToList& <a class="code" href="classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e">getPointsToList</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> funToPointsToMap[fun];</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303"> 371</a></span>  <span class="keyword">inline</span> FunToPointsTosMap& <a class="code" href="classSVF_1_1MRGenerator.html#a1331e6f0941838064d77a5adaa5c6303">getFunToPointsToList</a>()</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  {</div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">return</span> funToPointsToMap;</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  }</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> </div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordtype">void</span> addRefSideEffectOfFunction(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& refs);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordtype">void</span> addModSideEffectOfFunction(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& mods);</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordtype">bool</span> addRefSideEffectOfCallSite(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& refs);</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordtype">bool</span> addModSideEffectOfCallSite(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& mods);</div><div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9"> 388</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9">getRefSideEffectOfFunction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">return</span> funToRefsMap[fun];</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  }</div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a7d47fbc3dbe8fd19ca5e4210bdecf914"> 393</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#a7d47fbc3dbe8fd19ca5e4210bdecf914">getModSideEffectOfFunction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  {</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">return</span> funToModsMap[fun];</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  }</div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a62757aa995a6a01b484c60df2f51c53d"> 398</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#a62757aa995a6a01b484c60df2f51c53d">getRefSideEffectOfCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  {</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="keywordflow">return</span> csToRefsMap[cs];</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  }</div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a1535832f5b1ae3178fea950bf71fdd99"> 403</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a>& <a class="code" href="classSVF_1_1MRGenerator.html#a1535832f5b1ae3178fea950bf71fdd99">getModSideEffectOfCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  {</div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">return</span> csToModsMap[cs];</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  }</div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a9718c9e8efc1e6f32441aa5f418711dd"> 408</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#a9718c9e8efc1e6f32441aa5f418711dd">hasRefSideEffectOfCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  {</div><div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">return</span> csToRefsMap.find(cs) != csToRefsMap.end();</div><div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  }</div><div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a187d82895b2e1156c6dd5ae28795944f"> 413</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#a187d82895b2e1156c6dd5ae28795944f">hasModSideEffectOfCallSite</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  {</div><div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">return</span> csToModsMap.find(cs) != csToModsMap.end();</div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  }</div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#aff53860ef2b0effb9250dc7348640085"> 420</a></span>  <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="classSVF_1_1MRGenerator.html#aff53860ef2b0effb9250dc7348640085">getMRNum</a>()<span class="keyword"> const</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">return</span> memRegSet.size();</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  }</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a46e08638c8b5e6f6755de045c94862c4"> 426</a></span>  <span class="keyword">virtual</span> <a class="code" href="classSVF_1_1MRGenerator.html#a46e08638c8b5e6f6755de045c94862c4">~MRGenerator</a>()</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  {</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  destroy();</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  }</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> generateMRs();</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div><div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6"> 435</a></span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">getFunction</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* pagEdge)<span class="keyword"> const</span></div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="keyword"> </span>{</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  PAGEdgeToFunMap::const_iterator it = pagEdgeToFunMap.find(pagEdge);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  assert(it!=pagEdgeToFunMap.end() && <span class="stringliteral">"can not find its function, it is a global SVFIR edge"</span>);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  }</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div><div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879"> 443</a></span>  <span class="keyword">inline</span> MRSet& <a class="code" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun)</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  {</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">return</span> funToMRsMap[fun];</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  }</div><div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157"> 447</a></span>  <span class="keyword">inline</span> MRSet& <a class="code" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* load)</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  {</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">return</span> loadsToMRsMap[load];</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  }</div><div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f"> 451</a></span>  <span class="keyword">inline</span> MRSet& <a class="code" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* store)</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  {</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">return</span> storesToMRsMap[store];</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  }</div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#af06e8ac43efdedb97a2008cd93fc32d6"> 455</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#af06e8ac43efdedb97a2008cd93fc32d6">hasRefMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  {</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">return</span> callsiteToRefMRsMap.find(cs)!=callsiteToRefMRsMap.end();</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  }</div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a7d66a341805af7ec4e4893e5a7e0bc2d"> 459</a></span>  <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1MRGenerator.html#a7d66a341805af7ec4e4893e5a7e0bc2d">hasModMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  {</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span> callsiteToModMRsMap.find(cs)!=callsiteToModMRsMap.end();</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  }</div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#acd4694a030755b7491a6ef55d9ba2682"> 463</a></span>  <span class="keyword">inline</span> MRSet& <a class="code" href="classSVF_1_1MRGenerator.html#acd4694a030755b7491a6ef55d9ba2682">getCallSiteRefMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  {</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">return</span> callsiteToRefMRsMap[cs];</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  }</div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="classSVF_1_1MRGenerator.html#a4ee12b940608c34ee81b07cdc8d35538"> 467</a></span>  <span class="keyword">inline</span> MRSet& <a class="code" href="classSVF_1_1MRGenerator.html#a4ee12b940608c34ee81b07cdc8d35538">getCallSiteModMRSet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs)</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  {</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">return</span> callsiteToModMRsMap[cs];</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  }</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keywordtype">bool</span> hasSVFStmtList(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  SVFStmtList& getPAGEdgesFromInst(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst);</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span> </div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> getModInfoForCall(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs);</div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> getRefInfoForCall(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs);</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844">ModRefInfo</a> getModRefInfo(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="code" href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844">ModRefInfo</a> getModRefInfo(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs, <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* V);</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844">ModRefInfo</a> getModRefInfo(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs1, <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs2);</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span> };</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span> } <span class="comment">// End namespace SVF</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span> </div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="preprocessor">#endif </span><span class="comment">/* MEMORYREGION_H_ */</span><span class="preprocessor"></span></div><div class="ttc" id="classSVF_1_1MRGenerator_html_af6d58e2971c4a8d3ee03f9dfd9072a3a"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af6d58e2971c4a8d3ee03f9dfd9072a3a">SVF::MRGenerator::funToRefsMap</a></div><div class="ttdeci">FunToPointsToMap funToRefsMap</div><div class="ttdoc">Map a function to its indirect uses of memory objects. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00227">MemRegion.h:227</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html">SVF::BVDataPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00042">PointerAnalysisImpl.h:42</a></div></div>
|
|
71
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
71
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html">SVF::SparseBitVector::SparseBitVectorIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00536">SparseBitVector.h:536</a></div></div>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_aa3a12cf1f761d25b9213bc6e50d89ba5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#aa3a12cf1f761d25b9213bc6e50d89ba5">SVF::MRGenerator::callGraphSCC</a></div><div class="ttdeci">SCC * callGraphSCC</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00198">MemRegion.h:198</a></div></div>
|
|
73
73
|
<div class="ttc" id="classSVF_1_1MemRegion_html_af0a0b4a5862a136ef4f203f19139da65"><div class="ttname"><a href="classSVF_1_1MemRegion.html#af0a0b4a5862a136ef4f203f19139da65">SVF::MemRegion::equalMemRegion</a></div><div class="ttdeci">struct SVF::MemRegion::equalMemRegion equalMemRegion</div></div>
|
|
74
74
|
<div class="ttc" id="cJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
@@ -76,7 +76,7 @@ $(function() {
|
|
|
76
76
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a7d47fbc3dbe8fd19ca5e4210bdecf914"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a7d47fbc3dbe8fd19ca5e4210bdecf914">SVF::MRGenerator::getModSideEffectOfFunction</a></div><div class="ttdeci">const NodeBS & getModSideEffectOfFunction(const SVFFunction *fun)</div><div class="ttdoc">Get indirect mods of a function. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00393">MemRegion.h:393</a></div></div>
|
|
77
77
|
<div class="ttc" id="classSVF_1_1MemRegion_html_a2f680d13f4d983b1bc96967c930e8bd9"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a2f680d13f4d983b1bc96967c930e8bd9">SVF::MemRegion::~MemRegion</a></div><div class="ttdeci">~MemRegion()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00073">MemRegion.h:73</a></div></div>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1MemRegion_html_a7d38f6ef18106eb388b3a289aad79802"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a7d38f6ef18106eb388b3a289aad79802">SVF::MemRegion::getMRID</a></div><div class="ttdeci">MRID getMRID() const</div><div class="ttdoc">Return memory region ID. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00078">MemRegion.h:78</a></div></div>
|
|
79
|
-
<div class="ttc" id="namespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set< Key, Compare, Allocator > OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
79
|
+
<div class="ttc" id="namespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set< Key, Compare, Allocator > OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00109">SVFBasicTypes.h:109</a></div></div>
|
|
80
80
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ab19c541dd4c3a0e691287da5dd43540d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab19c541dd4c3a0e691287da5dd43540d">SVF::MRGenerator::getCallSiteRetPts</a></div><div class="ttdeci">NodeBS & getCallSiteRetPts(const CallICFGNode *cs)</div><div class="ttdoc">Return the pts chain of the return parameter of the callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00260">MemRegion.h:260</a></div></div>
|
|
81
81
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a62757aa995a6a01b484c60df2f51c53d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a62757aa995a6a01b484c60df2f51c53d">SVF::MRGenerator::getRefSideEffectOfCallSite</a></div><div class="ttdeci">const NodeBS & getRefSideEffectOfCallSite(const CallICFGNode *cs)</div><div class="ttdoc">Get indirect refs of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00398">MemRegion.h:398</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a64ba36ddcd304f6543e416c552763879"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">SVF::MRGenerator::getFunMRSet</a></div><div class="ttdeci">MRSet & getFunMRSet(const SVFFunction *fun)</div><div class="ttdoc">Get Memory Region set. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00443">MemRegion.h:443</a></div></div>
|
|
@@ -87,25 +87,25 @@ $(function() {
|
|
|
87
87
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a02c60ceb7c9c37bcf83c739aa4083acc"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a02c60ceb7c9c37bcf83c739aa4083acc">SVF::MRGenerator::getMRsForCallSiteRef</a></div><div class="ttdeci">virtual void getMRsForCallSiteRef(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *)</div><div class="ttdoc">Get memory regions for call site ref according to cpts. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00326">MemRegion.h:326</a></div></div>
|
|
88
88
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ad402506c2938d4b5440119e6091e4057"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ad402506c2938d4b5440119e6091e4057">SVF::MRGenerator::getCallSiteArgsPts</a></div><div class="ttdeci">NodeBS & getCallSiteArgsPts(const CallICFGNode *cs)</div><div class="ttdoc">Return the pts chain of all callsite arguments. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00255">MemRegion.h:255</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a364ad1e34d09a92cdc0cfe530c84880f"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">SVF::MRGenerator::getStoreMRSet</a></div><div class="ttdeci">MRSet & getStoreMRSet(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00451">MemRegion.h:451</a></div></div>
|
|
90
|
-
<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="Util_2BasicTypes_8h_source.html#
|
|
90
|
+
<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="Util_2BasicTypes_8h_source.html#l00093">BasicTypes.h:93</a></div></div>
|
|
91
91
|
<div class="ttc" id="SCC_8h_html"><div class="ttname"><a href="SCC_8h.html">SCC.h</a></div></div>
|
|
92
92
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a34967cda51699f948a581b9f88fa3b10"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a34967cda51699f948a581b9f88fa3b10">SVF::MRGenerator::callsiteToRefPointsToMap</a></div><div class="ttdeci">CallSiteToPointsToMap callsiteToRefPointsToMap</div><div class="ttdoc">Map a callsite to it refs cpts set. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00217">MemRegion.h:217</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a0d8229b1f0b8428708e923d19096e4ba"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">SVF::MRGenerator::loadsToMRsMap</a></div><div class="ttdeci">LoadsToMRsMap loadsToMRsMap</div><div class="ttdoc">Map a load SVFIR Edge to its memory regions sets in order for inserting mus in Memory SSA...</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00205">MemRegion.h:205</a></div></div>
|
|
94
94
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_af50efed3af17806a3ba3f668e4466d3e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">SVF::MRGenerator::addCPtsToStore</a></div><div class="ttdeci">void addCPtsToStore(NodeBS &cpts, const StoreStmt *st, const SVFFunction *fun)</div><div class="ttdoc">Add cpts to store/load. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00341">MemRegion.h:341</a></div></div>
|
|
95
95
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a8717adf4520e0702274c5f013776be52"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVF::MRGenerator::SVFStmtList</a></div><div class="ttdeci">SVFIR::SVFStmtList SVFStmtList</div><div class="ttdoc">SVFIR edge list. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00176">MemRegion.h:176</a></div></div>
|
|
96
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a9f96e6a886fa69e07cda5dbfaed8b7c9"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">SVF::SparseBitVector::count</a></div><div class="ttdeci">unsigned count() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
96
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a9f96e6a886fa69e07cda5dbfaed8b7c9"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a9f96e6a886fa69e07cda5dbfaed8b7c9">SVF::SparseBitVector::count</a></div><div class="ttdeci">unsigned count() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01104">SparseBitVector.h:1104</a></div></div>
|
|
97
97
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a7d66a341805af7ec4e4893e5a7e0bc2d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a7d66a341805af7ec4e4893e5a7e0bc2d">SVF::MRGenerator::hasModMRSet</a></div><div class="ttdeci">bool hasModMRSet(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00459">MemRegion.h:459</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ac7b5ca3fd950e1a940f875ac135640f6"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac7b5ca3fd950e1a940f875ac135640f6">SVF::MRGenerator::csToRefsMap</a></div><div class="ttdeci">CallSiteToPointsToMap csToRefsMap</div><div class="ttdoc">Map a callsite to its indirect uses of memory objects. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00231">MemRegion.h:231</a></div></div>
|
|
99
99
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a934a90164cc1364ea6aba5b4ae3cf2a9"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a934a90164cc1364ea6aba5b4ae3cf2a9">SVF::MRGenerator::CallSiteToNodeBSMap</a></div><div class="ttdeci">Map< const CallICFGNode *, NodeBS > CallSiteToNodeBSMap</div><div class="ttdoc">Map a callsite to its indirect refs/mods of memory objects. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00170">MemRegion.h:170</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a255e42c2b2062bbc799517c77ec25336"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a255e42c2b2062bbc799517c77ec25336">SVF::MRGenerator::CallSiteToPointsToMap</a></div><div class="ttdeci">Map< const CallICFGNode *, NodeBS > CallSiteToPointsToMap</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00162">MemRegion.h:162</a></div></div>
|
|
101
|
-
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
101
|
+
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00106">SVFBasicTypes.h:106</a></div></div>
|
|
102
102
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a4ee12b940608c34ee81b07cdc8d35538"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a4ee12b940608c34ee81b07cdc8d35538">SVF::MRGenerator::getCallSiteModMRSet</a></div><div class="ttdeci">MRSet & getCallSiteModMRSet(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00467">MemRegion.h:467</a></div></div>
|
|
103
103
|
<div class="ttc" id="SVFIR_8h_html"><div class="ttname"><a href="SVFIR_8h.html">SVFIR.h</a></div></div>
|
|
104
104
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a3e74c3706ffcc14f378771b417dcbb96"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96">SVF::MRGenerator::funToMRsMap</a></div><div class="ttdeci">FunToMRsMap funToMRsMap</div><div class="ttdoc">Map a function to all its memory regions. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00203">MemRegion.h:203</a></div></div>
|
|
105
105
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a6d86c8ebe87cb54f39e52daa7ffb0e2e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a6d86c8ebe87cb54f39e52daa7ffb0e2e">SVF::MRGenerator::getPointsToList</a></div><div class="ttdeci">PointsToList & getPointsToList(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00367">MemRegion.h:367</a></div></div>
|
|
106
106
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a1f69924c587c4e68a029fd4e86cffacf"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a1f69924c587c4e68a029fd4e86cffacf">SVF::MRGenerator::getMRSet</a></div><div class="ttdeci">MRSet & getMRSet()</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00180">MemRegion.h:180</a></div></div>
|
|
107
107
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a1535832f5b1ae3178fea950bf71fdd99"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a1535832f5b1ae3178fea950bf71fdd99">SVF::MRGenerator::getModSideEffectOfCallSite</a></div><div class="ttdeci">const NodeBS & getModSideEffectOfCallSite(const CallICFGNode *cs)</div><div class="ttdoc">Get indirect mods of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00403">MemRegion.h:403</a></div></div>
|
|
108
|
-
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
108
|
+
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00081">SVFBasicTypes.h:81</a></div></div>
|
|
109
109
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a7d86f708743a59aa31c0a9fd6de45dac"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a7d86f708743a59aa31c0a9fd6de45dac">SVF::MRGenerator::storesToPointsToMap</a></div><div class="ttdeci">StoresToPointsToMap storesToPointsToMap</div><div class="ttdoc">Map a store SVFIR Edge to its CPts set map. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00215">MemRegion.h:215</a></div></div>
|
|
110
110
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a05005a166c39b1adea492655d77db519"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a05005a166c39b1adea492655d77db519">SVF::MRGenerator::callGraph</a></div><div class="ttdeci">PTACallGraph * callGraph</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00199">MemRegion.h:199</a></div></div>
|
|
111
111
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ab8df193e84009e406c301731d17dc7b9"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab8df193e84009e406c301731d17dc7b9">SVF::MRGenerator::callsiteToModPointsToMap</a></div><div class="ttdeci">CallSiteToPointsToMap callsiteToModPointsToMap</div><div class="ttdoc">Map a callsite to it mods cpts set. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00219">MemRegion.h:219</a></div></div>
|
|
@@ -118,7 +118,7 @@ $(function() {
|
|
|
118
118
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_af06e8ac43efdedb97a2008cd93fc32d6"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af06e8ac43efdedb97a2008cd93fc32d6">SVF::MRGenerator::hasRefMRSet</a></div><div class="ttdeci">bool hasRefMRSet(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00455">MemRegion.h:455</a></div></div>
|
|
119
119
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ad492e2940936fc7df06127f0cb94d47a"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ad492e2940936fc7df06127f0cb94d47a">SVF::MRGenerator::FunToPointsToMap</a></div><div class="ttdeci">Map< const SVFFunction *, NodeBS > FunToPointsToMap</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00144">MemRegion.h:144</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a9718c9e8efc1e6f32441aa5f418711dd"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a9718c9e8efc1e6f32441aa5f418711dd">SVF::MRGenerator::hasRefSideEffectOfCallSite</a></div><div class="ttdeci">bool hasRefSideEffectOfCallSite(const CallICFGNode *cs)</div><div class="ttdoc">Has indirect refs of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00408">MemRegion.h:408</a></div></div>
|
|
121
|
-
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
121
|
+
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00051">BasicTypes.h:51</a></div></div>
|
|
122
122
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_af8d52e6c9884c6e1abc6dbcbc5e32629"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">SVF::MRGenerator::SCC</a></div><div class="ttdeci">SCCDetection< PTACallGraph * > SCC</div><div class="ttdoc">Call Graph SCC. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00178">MemRegion.h:178</a></div></div>
|
|
123
123
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
|
|
124
124
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a05c7a5ddbe3079f63be76c35298d1c2b"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a05c7a5ddbe3079f63be76c35298d1c2b">SVF::MRGenerator::funToPointsToMap</a></div><div class="ttdeci">FunToPointsTosMap funToPointsToMap</div><div class="ttdoc">Map a function to all of its conditional points-to sets. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00222">MemRegion.h:222</a></div></div>
|
|
@@ -129,9 +129,9 @@ $(function() {
|
|
|
129
129
|
<div class="ttc" id="structSVF_1_1MemRegion_1_1equalMemRegion_html_a3cd8165dfa543312d2b3bfa798b6154b"><div class="ttname"><a href="structSVF_1_1MemRegion_1_1equalMemRegion.html#a3cd8165dfa543312d2b3bfa798b6154b">SVF::MemRegion::equalMemRegion::operator()</a></div><div class="ttdeci">bool operator()(const MemRegion *lhs, const MemRegion *rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00114">MemRegion.h:114</a></div></div>
|
|
130
130
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ac0007c8808654ca74feef0d8568378b9"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9">SVF::MRGenerator::getRefSideEffectOfFunction</a></div><div class="ttdeci">const NodeBS & getRefSideEffectOfFunction(const SVFFunction *fun)</div><div class="ttdoc">Get indirect refs of a function. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00388">MemRegion.h:388</a></div></div>
|
|
131
131
|
<div class="ttc" id="classSVF_1_1MemRegion_html_a77a18bcce56cf48d1c338e852a2be9bc"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">SVF::MemRegion::cptsSet</a></div><div class="ttdeci">const NodeBS cptsSet</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00064">MemRegion.h:64</a></div></div>
|
|
132
|
-
<div class="ttc" id="namespaceSVF_html_a3e2b6638b0fbca37846e953142bcc844"><div class="ttname"><a href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844">SVF::ModRefInfo</a></div><div class="ttdeci">ModRefInfo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
132
|
+
<div class="ttc" id="namespaceSVF_html_a3e2b6638b0fbca37846e953142bcc844"><div class="ttname"><a href="namespaceSVF.html#a3e2b6638b0fbca37846e953142bcc844">SVF::ModRefInfo</a></div><div class="ttdeci">ModRefInfo</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00183">SVFBasicTypes.h:183</a></div></div>
|
|
133
133
|
<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#l00278">MemRegion.h:278</a></div></div>
|
|
134
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a1b5abe09fd0fcd337385653cb47343c1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">SVF::SparseBitVector::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
134
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a1b5abe09fd0fcd337385653cb47343c1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">SVF::SparseBitVector::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01120">SparseBitVector.h:1120</a></div></div>
|
|
135
135
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a7a7ed21181c2486b60170a479a5a534e"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a7a7ed21181c2486b60170a479a5a534e">SVF::MRGenerator::callsiteToRefMRsMap</a></div><div class="ttdeci">CallSiteToMRsMap callsiteToRefMRsMap</div><div class="ttdoc">Map a callsite to its refs regions. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00209">MemRegion.h:209</a></div></div>
|
|
136
136
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a2c94bfa19ad8d1d6360b12693c8b891d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a2c94bfa19ad8d1d6360b12693c8b891d">SVF::MRGenerator::funToModsMap</a></div><div class="ttdeci">FunToPointsToMap funToModsMap</div><div class="ttdoc">Map a function to its indirect defs of memory objects. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00229">MemRegion.h:229</a></div></div>
|
|
137
137
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_aff53860ef2b0effb9250dc7348640085"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#aff53860ef2b0effb9250dc7348640085">SVF::MRGenerator::getMRNum</a></div><div class="ttdeci">u32_t getMRNum() const</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00420">MemRegion.h:420</a></div></div>
|
|
@@ -144,7 +144,7 @@ $(function() {
|
|
|
144
144
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a82be01b460a498c07fb6a8aba853ed31"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a82be01b460a498c07fb6a8aba853ed31">SVF::MRGenerator::PAGEdgeToFunMap</a></div><div class="ttdeci">Map< const PAGEdge *, const SVFFunction * > PAGEdgeToFunMap</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00142">MemRegion.h:142</a></div></div>
|
|
145
145
|
<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#l00143">MemRegion.h:143</a></div></div>
|
|
146
146
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a94ce7ceff7cee90d672e9f3a4f3aa4e8"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a94ce7ceff7cee90d672e9f3a4f3aa4e8">SVF::MRGenerator::addCPtsToCallSiteRefs</a></div><div class="ttdeci">void addCPtsToCallSiteRefs(NodeBS &cpts, const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00353">MemRegion.h:353</a></div></div>
|
|
147
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector< ElementSize > *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
147
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_a16756e0545fd3d50ab89f45a2e83bb79"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">SVF::SparseBitVector::intersects</a></div><div class="ttdeci">bool intersects(const SparseBitVector< ElementSize > *RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01031">SparseBitVector.h:1031</a></div></div>
|
|
148
148
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a357e1654e30b2f91f6ea30ea5a52e91d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">SVF::MRGenerator::StoresToPointsToMap</a></div><div class="ttdeci">Map< const StoreStmt *, NodeBS > StoresToPointsToMap</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00161">MemRegion.h:161</a></div></div>
|
|
149
149
|
<div class="ttc" id="namespaceSVF_html_a39df0130e37e97db2ff7620bbb2a72f5"><div class="ttname"><a href="namespaceSVF.html#a39df0130e37e97db2ff7620bbb2a72f5">SVF::MRVERSION</a></div><div class="ttdeci">NodeID MRVERSION</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00052">MemRegion.h:52</a></div></div>
|
|
150
150
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a6a62d2dede5d2506c19b2d058d1cd9d3"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3">SVF::MRGenerator::ptrOnlyMSSA</a></div><div class="ttdeci">bool ptrOnlyMSSA</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00200">MemRegion.h:200</a></div></div>
|
|
@@ -153,12 +153,12 @@ $(function() {
|
|
|
153
153
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a0e46c7beb580ace3a652ac9e1c419b48"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a0e46c7beb580ace3a652ac9e1c419b48">SVF::MRGenerator::cachedPtsChainMap</a></div><div class="ttdeci">NodeToPTSSMap cachedPtsChainMap</div><div class="ttdoc">Map a pointer to its cached points-to chain;. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00240">MemRegion.h:240</a></div></div>
|
|
154
154
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a79a3032b50f7ef905213b770b12e0967"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">SVF::MRGenerator::addCPtsToLoad</a></div><div class="ttdeci">void addCPtsToLoad(NodeBS &cpts, const LoadStmt *ld, const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00347">MemRegion.h:347</a></div></div>
|
|
155
155
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a6b8bbb60126105cc77c1a6a4c46677fd"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a6b8bbb60126105cc77c1a6a4c46677fd">SVF::MRGenerator::FunToPointsTosMap</a></div><div class="ttdeci">Map< const SVFFunction *, PointsToList > FunToPointsTosMap</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00145">MemRegion.h:145</a></div></div>
|
|
156
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html_abf76d8157c49ddba24bdc9dab3655772"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">SVF::SparseBitVector::begin</a></div><div class="ttdeci">iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
156
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html_abf76d8157c49ddba24bdc9dab3655772"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">SVF::SparseBitVector::begin</a></div><div class="ttdeci">iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01115">SparseBitVector.h:1115</a></div></div>
|
|
157
157
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ad740188222439c089907fa6c6c951f02"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ad740188222439c089907fa6c6c951f02">SVF::MRGenerator::getAliasMemRegions</a></div><div class="ttdeci">virtual void getAliasMemRegions(MRSet &aliasMRs, const NodeBS &cpts, const SVFFunction *fun)</div><div class="ttdoc">Get all aliased mem regions from function fun according to cpts. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00309">MemRegion.h:309</a></div></div>
|
|
158
158
|
<div class="ttc" id="classSVF_1_1MemRegion_html_a23857f301395cbbad10f6f93256a7398"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a23857f301395cbbad10f6f93256a7398">SVF::MemRegion::totalMRNum</a></div><div class="ttdeci">static u32_t totalMRNum</div><div class="ttdoc">region ID 0 is reserved </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00062">MemRegion.h:62</a></div></div>
|
|
159
159
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html">SVF::FIFOWorkList< NodeID ></a></div></div>
|
|
160
160
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
161
|
-
<div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#
|
|
161
|
+
<div class="ttc" id="classSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00462">SparseBitVector.h:462</a></div></div>
|
|
162
162
|
<div class="ttc" id="classSVF_1_1MemRegion_html_a1e5befaa1a46943e101b33adaf141ca1"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a1e5befaa1a46943e101b33adaf141ca1">SVF::MemRegion::getPointsTo</a></div><div class="ttdeci">const NodeBS & getPointsTo() const</div><div class="ttdoc">Return points-to. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00083">MemRegion.h:83</a></div></div>
|
|
163
163
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html_a18f4077d42b23c3fed35efc793b6102e"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">SVF::CallICFGNode::getCaller</a></div><div class="ttdeci">const SVFFunction * getCaller() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00399">ICFGNode.h:399</a></div></div>
|
|
164
164
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ab01e492f002c73e2c89eb0b4c8f9647d"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab01e492f002c73e2c89eb0b4c8f9647d">SVF::MRGenerator::FunToNodeBSMap</a></div><div class="ttdeci">Map< const SVFFunction *, NodeBS > FunToNodeBSMap</div><div class="ttdoc">Maps Mod-Ref analysis. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00168">MemRegion.h:168</a></div></div>
|
|
@@ -182,7 +182,7 @@ $(function() {
|
|
|
182
182
|
<div class="ttc" id="classSVF_1_1MemRegion_html_affa3a8efd91faf5704e514f1e83fead9"><div class="ttname"><a href="classSVF_1_1MemRegion.html#affa3a8efd91faf5704e514f1e83fead9">SVF::MemRegion::operator==</a></div><div class="ttdeci">bool operator==(const MemRegion *rhs) const</div><div class="ttdoc">Operator== overriding. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00088">MemRegion.h:88</a></div></div>
|
|
183
183
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8f749354b7e882ef3e5bf5081fa715b5"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8f749354b7e882ef3e5bf5081fa715b5">SVF::SVFUtil::cmpNodeBS</a></div><div class="ttdeci">bool cmpNodeBS(const NodeBS &lpts, const NodeBS &rpts)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00123">SVFUtil.h:123</a></div></div>
|
|
184
184
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
185
|
-
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
185
|
+
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00050">BasicTypes.h:50</a></div></div>
|
|
186
186
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a255551fd3ff8fb33bcea93d0b00280b3"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a255551fd3ff8fb33bcea93d0b00280b3">SVF::MRGenerator::storesToMRsMap</a></div><div class="ttdeci">StoresToMRsMap storesToMRsMap</div><div class="ttdoc">Map a store SVFIR Edge to its memory regions sets in order for inserting chis in Memory SSA...</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00207">MemRegion.h:207</a></div></div>
|
|
187
187
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a46e08638c8b5e6f6755de045c94862c4"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a46e08638c8b5e6f6755de045c94862c4">SVF::MRGenerator::~MRGenerator</a></div><div class="ttdeci">virtual ~MRGenerator()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00426">MemRegion.h:426</a></div></div>
|
|
188
188
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a19da5768681a21c52a6c43761814a157"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">SVF::MRGenerator::getLoadMRSet</a></div><div class="ttdeci">MRSet & getLoadMRSet(const LoadStmt *load)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00447">MemRegion.h:447</a></div></div>
|
|
@@ -193,7 +193,7 @@ $(function() {
|
|
|
193
193
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a21550f978f42ac3cbb32cbc426ff5cb1"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a21550f978f42ac3cbb32cbc426ff5cb1">SVF::MRGenerator::csToCallSiteRetPtsMap</a></div><div class="ttdeci">CallSiteToPointsToMap csToCallSiteRetPtsMap</div><div class="ttdoc">Map a callsite to all its object might return from its callees. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00237">MemRegion.h:237</a></div></div>
|
|
194
194
|
<div class="ttc" id="classSVF_1_1SVFStmt_html"><div class="ttname"><a href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00047">SVFStatements.h:47</a></div></div>
|
|
195
195
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a3121380139c7ae96d2045d66203253b6"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">SVF::MRGenerator::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction(const PAGEdge *pagEdge) const</div><div class="ttdoc">Get the function which SVFIR Edge located. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00435">MemRegion.h:435</a></div></div>
|
|
196
|
-
<div class="ttc" id="namespaceSVF_html_aedf0d6718ca176e0b9e17ab4b30729c6"><div class="ttname"><a href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">SVF::OrderedMap</a></div><div class="ttdeci">std::map< Key, Value, Compare, Allocator > OrderedMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#
|
|
196
|
+
<div class="ttc" id="namespaceSVF_html_aedf0d6718ca176e0b9e17ab4b30729c6"><div class="ttname"><a href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">SVF::OrderedMap</a></div><div class="ttdeci">std::map< Key, Value, Compare, Allocator > OrderedMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00113">SVFBasicTypes.h:113</a></div></div>
|
|
197
197
|
<div class="ttc" id="namespaceSVF_html_a1ed5cfc8a00b2d3b90e74debabaa62a5"><div class="ttname"><a href="namespaceSVF.html#a1ed5cfc8a00b2d3b90e74debabaa62a5">SVF::MRID</a></div><div class="ttdeci">NodeID MRID</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00048">MemRegion.h:48</a></div></div>
|
|
198
198
|
</div><!-- fragment --></div><!-- contents -->
|
|
199
199
|
<!-- start footer part -->
|