svf-tools 1.0.321 → 1.0.325
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/ConsG_8h_source.html +15 -15
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp.html +1 -0
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +20 -18
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +13 -13
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +13 -13
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Options_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/Options_8h_source.html +2 -1
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8cpp.html +1 -0
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +63 -61
- package/SVF-doxygen/html/html/SVFG_8h_source.html +20 -20
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +42 -42
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +61 -61
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +153 -154
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +133 -132
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +78 -78
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +17 -17
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +48 -48
- package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +21 -21
- 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_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +137 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +500 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +155 -0
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +756 -0
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +33 -31
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +75 -22
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +479 -93
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +57 -21
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +253 -89
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +61 -61
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +57 -22
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +259 -118
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +54 -54
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +57 -21
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +253 -89
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +147 -147
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +102 -102
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +24 -23
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +36 -34
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +142 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +649 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1Options.html +26 -0
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +74 -22
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +447 -98
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode-members.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +103 -103
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +132 -133
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +759 -777
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +180 -180
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +57 -39
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +82 -82
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +57 -21
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +260 -89
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -16
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -16
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +147 -0
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +794 -0
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +42 -42
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +145 -145
- package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +139 -0
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +544 -0
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
- package/SVF-doxygen/html/html/classes.html +18 -18
- package/SVF-doxygen/html/html/functions_a.html +55 -55
- package/SVF-doxygen/html/html/functions_b.html +2 -2
- package/SVF-doxygen/html/html/functions_c.html +54 -59
- package/SVF-doxygen/html/html/functions_d.html +4 -4
- package/SVF-doxygen/html/html/functions_f.html +5 -5
- package/SVF-doxygen/html/html/functions_func.html +54 -54
- package/SVF-doxygen/html/html/functions_func_b.html +2 -2
- package/SVF-doxygen/html/html/functions_func_c.html +30 -30
- package/SVF-doxygen/html/html/functions_func_d.html +4 -4
- package/SVF-doxygen/html/html/functions_func_f.html +2 -2
- package/SVF-doxygen/html/html/functions_func_g.html +107 -105
- package/SVF-doxygen/html/html/functions_func_h.html +6 -6
- package/SVF-doxygen/html/html/functions_func_l.html +3 -3
- package/SVF-doxygen/html/html/functions_func_n.html +2 -2
- package/SVF-doxygen/html/html/functions_func_o.html +15 -15
- package/SVF-doxygen/html/html/functions_func_p.html +2 -2
- package/SVF-doxygen/html/html/functions_func_s.html +4 -4
- package/SVF-doxygen/html/html/functions_func_t.html +20 -20
- package/SVF-doxygen/html/html/functions_func_u.html +2 -2
- package/SVF-doxygen/html/html/functions_func_v.html +5 -5
- package/SVF-doxygen/html/html/functions_g.html +123 -121
- package/SVF-doxygen/html/html/functions_h.html +6 -6
- package/SVF-doxygen/html/html/functions_i.html +15 -15
- package/SVF-doxygen/html/html/functions_k.html +9 -0
- package/SVF-doxygen/html/html/functions_l.html +12 -12
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_n.html +6 -6
- package/SVF-doxygen/html/html/functions_o.html +32 -35
- package/SVF-doxygen/html/html/functions_p.html +32 -49
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +33 -14
- package/SVF-doxygen/html/html/functions_t.html +24 -24
- package/SVF-doxygen/html/html/functions_type_c.html +1 -4
- package/SVF-doxygen/html/html/functions_type_f.html +2 -2
- package/SVF-doxygen/html/html/functions_type_g.html +2 -2
- package/SVF-doxygen/html/html/functions_type_i.html +3 -3
- package/SVF-doxygen/html/html/functions_type_k.html +3 -0
- package/SVF-doxygen/html/html/functions_type_l.html +3 -3
- package/SVF-doxygen/html/html/functions_type_p.html +3 -19
- package/SVF-doxygen/html/html/functions_type_s.html +19 -3
- package/SVF-doxygen/html/html/functions_type_v.html +1 -1
- package/SVF-doxygen/html/html/functions_u.html +2 -2
- package/SVF-doxygen/html/html/functions_v.html +8 -8
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_g.html +8 -8
- package/SVF-doxygen/html/html/functions_vars_i.html +9 -9
- package/SVF-doxygen/html/html/functions_vars_k.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_o.html +3 -4
- package/SVF-doxygen/html/html/functions_vars_p.html +4 -7
- package/SVF-doxygen/html/html/functions_vars_s.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/hierarchy.html +65 -65
- package/SVF-doxygen/html/html/namespaceSVF.html +24 -24
- package/SVF-doxygen/html/html/search/all_1.js +39 -39
- package/SVF-doxygen/html/html/search/all_10.js +12 -17
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +17 -12
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +5 -5
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +9 -10
- package/SVF-doxygen/html/html/search/all_4.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +4 -4
- package/SVF-doxygen/html/html/search/all_7.js +54 -53
- package/SVF-doxygen/html/html/search/all_8.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_b.js +3 -0
- package/SVF-doxygen/html/html/search/all_c.js +7 -7
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +5 -5
- package/SVF-doxygen/html/html/search/all_f.js +5 -5
- package/SVF-doxygen/html/html/search/classes_0.js +1 -1
- package/SVF-doxygen/html/html/search/classes_1.js +1 -1
- package/SVF-doxygen/html/html/search/classes_11.js +1 -1
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_2.js +5 -5
- package/SVF-doxygen/html/html/search/classes_3.js +2 -2
- package/SVF-doxygen/html/html/search/classes_5.js +1 -1
- package/SVF-doxygen/html/html/search/classes_6.js +2 -2
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_b.js +1 -1
- package/SVF-doxygen/html/html/search/classes_c.js +1 -1
- package/SVF-doxygen/html/html/search/classes_d.js +1 -1
- package/SVF-doxygen/html/html/search/classes_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +39 -39
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +4 -4
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +2 -2
- package/SVF-doxygen/html/html/search/functions_2.js +7 -7
- package/SVF-doxygen/html/html/search/functions_3.js +2 -2
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +49 -48
- package/SVF-doxygen/html/html/search/functions_7.js +2 -2
- package/SVF-doxygen/html/html/search/functions_a.js +3 -3
- package/SVF-doxygen/html/html/search/functions_c.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +2 -2
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +7 -3
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -2
- package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_a.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_f.js +3 -7
- package/SVF-doxygen/html/html/search/variables_10.js +2 -3
- package/SVF-doxygen/html/html/search/variables_13.js +1 -0
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +4 -4
- package/SVF-doxygen/html/html/search/variables_9.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +3 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +3 -3
- package/SVF-doxygen/html/html/search/variables_f.js +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +9 -9
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +18 -18
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/DDA/ContextDDA.h +1 -1
- package/include/DDA/FlowDDA.h +1 -1
- package/include/Graphs/ConsG.h +10 -10
- package/include/Graphs/ICFGNode.h +4 -4
- package/include/Graphs/IRGraph.h +7 -7
- package/include/Graphs/VFG.h +13 -13
- package/include/Graphs/VFGNode.h +6 -6
- package/include/MSSA/MSSAMuChi.h +6 -6
- package/include/MSSA/MemRegion.h +11 -11
- package/include/MSSA/MemSSA.h +11 -11
- package/include/MemoryModel/PointerAnalysis.h +9 -9
- package/include/MemoryModel/PointerAnalysisImpl.h +4 -4
- package/include/MemoryModel/SVFIR.h +82 -83
- package/include/MemoryModel/SVFStatements.h +97 -92
- package/include/MemoryModel/SVFVariables.h +71 -71
- package/include/SVF-FE/SVFIRBuilder.h +24 -24
- package/include/Util/IRAnnotator.h +1 -1
- package/include/Util/Options.h +3 -1
- package/include/Util/TypeBasedHeapCloning.h +2 -2
- package/include/WPA/Andersen.h +1 -1
- package/include/WPA/FlowSensitiveTBHC.h +1 -1
- package/lib/DDA/ContextDDA.cpp +6 -6
- package/lib/DDA/DDAClient.cpp +6 -6
- package/lib/DDA/DDAStat.cpp +2 -2
- package/lib/DDA/FlowDDA.cpp +4 -4
- package/lib/Graphs/ConsG.cpp +37 -36
- package/lib/Graphs/ICFG.cpp +4 -4
- package/lib/Graphs/IRGraph.cpp +27 -24
- package/lib/Graphs/OfflineConsG.cpp +8 -8
- package/lib/Graphs/SVFG.cpp +18 -16
- package/lib/Graphs/ThreadCallGraph.cpp +2 -2
- package/lib/Graphs/VFG.cpp +52 -52
- package/lib/MSSA/MemRegion.cpp +23 -23
- package/lib/MSSA/MemSSA.cpp +15 -15
- package/lib/MTA/MTAAnnotator.cpp +5 -5
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +13 -13
- package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +14 -14
- package/lib/MemoryModel/SVFIR.cpp +95 -95
- package/lib/MemoryModel/SVFStatements.cpp +24 -24
- package/lib/MemoryModel/SVFVariables.cpp +19 -19
- package/lib/SABER/LeakChecker.cpp +2 -2
- package/lib/SABER/SaberSVFGBuilder.cpp +5 -5
- package/lib/SVF-FE/Graph2Json.cpp +3 -3
- package/lib/SVF-FE/SVFIRBuilder.cpp +22 -22
- package/lib/Util/Options.cpp +6 -0
- package/lib/Util/PTAStat.cpp +8 -8
- package/lib/Util/TypeBasedHeapCloning.cpp +22 -22
- package/lib/WPA/Andersen.cpp +13 -13
- package/lib/WPA/AndersenSFR.cpp +2 -2
- package/lib/WPA/AndersenStat.cpp +6 -6
- package/lib/WPA/FlowSensitive.cpp +8 -8
- package/lib/WPA/FlowSensitiveStat.cpp +4 -4
- package/lib/WPA/FlowSensitiveTBHC.cpp +9 -9
- package/lib/WPA/VersionedFlowSensitive.cpp +2 -2
- package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
- package/package.json +1 -1
|
@@ -110,25 +110,25 @@ Public Types</h2></td></tr>
|
|
|
110
110
|
<tr class="separator:a090070379a09460aef0c07270d32d27b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
111
111
|
<tr class="memitem:ab075a7c7fbc60f678b3fee8bbc06194d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a>, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#ab075a7c7fbc60f678b3fee8bbc06194d">NodeToPTSSMap</a></td></tr>
|
|
112
112
|
<tr class="separator:ab075a7c7fbc60f678b3fee8bbc06194d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
113
|
-
<tr class="memitem:
|
|
114
|
-
<tr class="memdesc:
|
|
115
|
-
<tr class="separator:
|
|
113
|
+
<tr class="memitem:a8717adf4520e0702274c5f013776be52"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a></td></tr>
|
|
114
|
+
<tr class="memdesc:a8717adf4520e0702274c5f013776be52"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> edge list. <a href="#a8717adf4520e0702274c5f013776be52">More...</a><br /></td></tr>
|
|
115
|
+
<tr class="separator:a8717adf4520e0702274c5f013776be52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
116
116
|
<tr class="memitem:af8d52e6c9884c6e1abc6dbcbc5e32629"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1SCCDetection.html">SCCDetection</a>< <a class="el" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a> * > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af8d52e6c9884c6e1abc6dbcbc5e32629">SCC</a></td></tr>
|
|
117
117
|
<tr class="memdesc:af8d52e6c9884c6e1abc6dbcbc5e32629"><td class="mdescLeft"> </td><td class="mdescRight">Call Graph SCC. <a href="#af8d52e6c9884c6e1abc6dbcbc5e32629">More...</a><br /></td></tr>
|
|
118
118
|
<tr class="separator:af8d52e6c9884c6e1abc6dbcbc5e32629"><td class="memSeparator" colspan="2"> </td></tr>
|
|
119
119
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
120
|
-
<tr class="memitem:
|
|
121
|
-
<tr class="separator:
|
|
122
|
-
<tr class="memitem:
|
|
123
|
-
<tr class="separator:
|
|
120
|
+
<tr class="memitem:a273b2634adcfa10a08924517e8d51175"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a></td></tr>
|
|
121
|
+
<tr class="separator:a273b2634adcfa10a08924517e8d51175"><td class="memSeparator" colspan="2"> </td></tr>
|
|
122
|
+
<tr class="memitem:afacb458ca832ef459e873b7d90134a8c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a></td></tr>
|
|
123
|
+
<tr class="separator:afacb458ca832ef459e873b7d90134a8c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
124
124
|
<tr class="memitem:a71b5ce2c754ffff5a84fdb0c3aa16819"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a71b5ce2c754ffff5a84fdb0c3aa16819">CallSiteToMRsMap</a></td></tr>
|
|
125
125
|
<tr class="separator:a71b5ce2c754ffff5a84fdb0c3aa16819"><td class="memSeparator" colspan="2"> </td></tr>
|
|
126
126
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
127
|
-
<tr class="memitem:
|
|
128
|
-
<tr class="memdesc:
|
|
129
|
-
<tr class="separator:
|
|
130
|
-
<tr class="memitem:
|
|
131
|
-
<tr class="separator:
|
|
127
|
+
<tr class="memitem:acfadd565b5c978c9417e059b3ea7588c"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a></td></tr>
|
|
128
|
+
<tr class="memdesc:acfadd565b5c978c9417e059b3ea7588c"><td class="mdescLeft"> </td><td class="mdescRight">Map loads/stores/callsites to their cpts set. <a href="#acfadd565b5c978c9417e059b3ea7588c">More...</a><br /></td></tr>
|
|
129
|
+
<tr class="separator:acfadd565b5c978c9417e059b3ea7588c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
130
|
+
<tr class="memitem:a357e1654e30b2f91f6ea30ea5a52e91d"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a></td></tr>
|
|
131
|
+
<tr class="separator:a357e1654e30b2f91f6ea30ea5a52e91d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
132
132
|
<tr class="memitem:a9d22e9d113393c536c5fe473fd76f388"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a>< const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a9d22e9d113393c536c5fe473fd76f388">CallSiteToPointsToMap</a></td></tr>
|
|
133
133
|
<tr class="separator:a9d22e9d113393c536c5fe473fd76f388"><td class="memSeparator" colspan="2"> </td></tr>
|
|
134
134
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
@@ -160,20 +160,20 @@ Public Member Functions</h2></td></tr>
|
|
|
160
160
|
<tr class="memitem:a3121380139c7ae96d2045d66203253b6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3121380139c7ae96d2045d66203253b6">getFunction</a> (const <a class="el" href="namespaceSVF.html#ae6ead95a66f69e1e4cfa1159f868a152">PAGEdge</a> *pagEdge) const</td></tr>
|
|
161
161
|
<tr class="memdesc:a3121380139c7ae96d2045d66203253b6"><td class="mdescLeft"> </td><td class="mdescRight">Get the function which <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge located. <a href="#a3121380139c7ae96d2045d66203253b6">More...</a><br /></td></tr>
|
|
162
162
|
<tr class="separator:a3121380139c7ae96d2045d66203253b6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
163
|
-
<tr class="memitem:
|
|
164
|
-
<tr class="memdesc:
|
|
165
|
-
<tr class="separator:
|
|
166
|
-
<tr class="memitem:
|
|
167
|
-
<tr class="memdesc:
|
|
168
|
-
<tr class="separator:
|
|
163
|
+
<tr class="memitem:a6f631290f3da7c308395eb6a9472d7a5"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a6f631290f3da7c308395eb6a9472d7a5">hasSVFStmtList</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
164
|
+
<tr class="memdesc:a6f631290f3da7c308395eb6a9472d7a5"><td class="mdescLeft"> </td><td class="mdescRight">Whether this instruction has <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge. <a href="#a6f631290f3da7c308395eb6a9472d7a5">More...</a><br /></td></tr>
|
|
165
|
+
<tr class="separator:a6f631290f3da7c308395eb6a9472d7a5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
166
|
+
<tr class="memitem:acc78a116ca0be01a359d1313b2ae603c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">getPAGEdgesFromInst</a> (const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst)</td></tr>
|
|
167
|
+
<tr class="memdesc:acc78a116ca0be01a359d1313b2ae603c"><td class="mdescLeft"> </td><td class="mdescRight">Given an instruction, get all its the PAGEdge (statement) in sequence. <a href="#acc78a116ca0be01a359d1313b2ae603c">More...</a><br /></td></tr>
|
|
168
|
+
<tr class="separator:acc78a116ca0be01a359d1313b2ae603c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
169
169
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
170
170
|
<tr class="memitem:a64ba36ddcd304f6543e416c552763879"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a64ba36ddcd304f6543e416c552763879">getFunMRSet</a> (const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
171
171
|
<tr class="memdesc:a64ba36ddcd304f6543e416c552763879"><td class="mdescLeft"> </td><td class="mdescRight">Get Memory Region set. <a href="#a64ba36ddcd304f6543e416c552763879">More...</a><br /></td></tr>
|
|
172
172
|
<tr class="separator:a64ba36ddcd304f6543e416c552763879"><td class="memSeparator" colspan="2"> </td></tr>
|
|
173
|
-
<tr class="memitem:
|
|
174
|
-
<tr class="separator:
|
|
175
|
-
<tr class="memitem:
|
|
176
|
-
<tr class="separator:
|
|
173
|
+
<tr class="memitem:a19da5768681a21c52a6c43761814a157"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a19da5768681a21c52a6c43761814a157">getLoadMRSet</a> (const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load)</td></tr>
|
|
174
|
+
<tr class="separator:a19da5768681a21c52a6c43761814a157"><td class="memSeparator" colspan="2"> </td></tr>
|
|
175
|
+
<tr class="memitem:a364ad1e34d09a92cdc0cfe530c84880f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a364ad1e34d09a92cdc0cfe530c84880f">getStoreMRSet</a> (const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *store)</td></tr>
|
|
176
|
+
<tr class="separator:a364ad1e34d09a92cdc0cfe530c84880f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
177
177
|
<tr class="memitem:aeed8bcf54d2a72c640e464e256249630"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#aeed8bcf54d2a72c640e464e256249630">hasRefMRSet</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
178
178
|
<tr class="separator:aeed8bcf54d2a72c640e464e256249630"><td class="memSeparator" colspan="2"> </td></tr>
|
|
179
179
|
<tr class="memitem:a8868281e5f5b5f3a83acf8568971ad40"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a8868281e5f5b5f3a83acf8568971ad40">hasModMRSet</a> (const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
@@ -239,11 +239,11 @@ Protected Member Functions</h2></td></tr>
|
|
|
239
239
|
<tr class="memdesc:a123a2ea51b04f1398b9ee66567f5014a"><td class="mdescLeft"> </td><td class="mdescRight">Get Mod-Ref of a callee function. <a href="#a123a2ea51b04f1398b9ee66567f5014a">More...</a><br /></td></tr>
|
|
240
240
|
<tr class="separator:a123a2ea51b04f1398b9ee66567f5014a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
241
241
|
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
|
|
242
|
-
<tr class="memitem:
|
|
243
|
-
<tr class="memdesc:
|
|
244
|
-
<tr class="separator:
|
|
245
|
-
<tr class="memitem:
|
|
246
|
-
<tr class="separator:
|
|
242
|
+
<tr class="memitem:af50efed3af17806a3ba3f668e4466d3e"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">addCPtsToStore</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *st, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
243
|
+
<tr class="memdesc:af50efed3af17806a3ba3f668e4466d3e"><td class="mdescLeft"> </td><td class="mdescRight">Add cpts to store/load. <a href="#af50efed3af17806a3ba3f668e4466d3e">More...</a><br /></td></tr>
|
|
244
|
+
<tr class="separator:af50efed3af17806a3ba3f668e4466d3e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
245
|
+
<tr class="memitem:a79a3032b50f7ef905213b770b12e0967"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">addCPtsToLoad</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *ld, const <a class="el" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun)</td></tr>
|
|
246
|
+
<tr class="separator:a79a3032b50f7ef905213b770b12e0967"><td class="memSeparator" colspan="2"> </td></tr>
|
|
247
247
|
<tr class="memitem:a77cf2b1959581da2b0cdf88291664ff3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">addCPtsToCallSiteRefs</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
248
248
|
<tr class="separator:a77cf2b1959581da2b0cdf88291664ff3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
249
249
|
<tr class="memitem:a3c9e58dee18cde9a6e1575e34955af78"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">addCPtsToCallSiteMods</a> (<a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> &cpts, const <a class="el" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a> *cs)</td></tr>
|
|
@@ -332,10 +332,10 @@ Private Attributes</h2></td></tr>
|
|
|
332
332
|
<tr class="memitem:a3e74c3706ffcc14f378771b417dcbb96"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a090070379a09460aef0c07270d32d27b">FunToMRsMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a3e74c3706ffcc14f378771b417dcbb96">funToMRsMap</a></td></tr>
|
|
333
333
|
<tr class="memdesc:a3e74c3706ffcc14f378771b417dcbb96"><td class="mdescLeft"> </td><td class="mdescRight">Map a function to all its memory regions. <a href="#a3e74c3706ffcc14f378771b417dcbb96">More...</a><br /></td></tr>
|
|
334
334
|
<tr class="separator:a3e74c3706ffcc14f378771b417dcbb96"><td class="memSeparator" colspan="2"> </td></tr>
|
|
335
|
-
<tr class="memitem:a0d8229b1f0b8428708e923d19096e4ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
335
|
+
<tr class="memitem:a0d8229b1f0b8428708e923d19096e4ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a0d8229b1f0b8428708e923d19096e4ba">loadsToMRsMap</a></td></tr>
|
|
336
336
|
<tr class="memdesc:a0d8229b1f0b8428708e923d19096e4ba"><td class="mdescLeft"> </td><td class="mdescRight">Map a load <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge to its memory regions sets in order for inserting mus in Memory SSA. <a href="#a0d8229b1f0b8428708e923d19096e4ba">More...</a><br /></td></tr>
|
|
337
337
|
<tr class="separator:a0d8229b1f0b8428708e923d19096e4ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
338
|
-
<tr class="memitem:a255551fd3ff8fb33bcea93d0b00280b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
338
|
+
<tr class="memitem:a255551fd3ff8fb33bcea93d0b00280b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a255551fd3ff8fb33bcea93d0b00280b3">storesToMRsMap</a></td></tr>
|
|
339
339
|
<tr class="memdesc:a255551fd3ff8fb33bcea93d0b00280b3"><td class="mdescLeft"> </td><td class="mdescRight">Map a store <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge to its memory regions sets in order for inserting chis in Memory SSA. <a href="#a255551fd3ff8fb33bcea93d0b00280b3">More...</a><br /></td></tr>
|
|
340
340
|
<tr class="separator:a255551fd3ff8fb33bcea93d0b00280b3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
341
341
|
<tr class="memitem:a7a7ed21181c2486b60170a479a5a534e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a71b5ce2c754ffff5a84fdb0c3aa16819">CallSiteToMRsMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a7a7ed21181c2486b60170a479a5a534e">callsiteToRefMRsMap</a></td></tr>
|
|
@@ -344,10 +344,10 @@ Private Attributes</h2></td></tr>
|
|
|
344
344
|
<tr class="memitem:adf8d477e5f622855799842134145ecc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a71b5ce2c754ffff5a84fdb0c3aa16819">CallSiteToMRsMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#adf8d477e5f622855799842134145ecc4">callsiteToModMRsMap</a></td></tr>
|
|
345
345
|
<tr class="memdesc:adf8d477e5f622855799842134145ecc4"><td class="mdescLeft"> </td><td class="mdescRight">Map a callsite to its mods regions. <a href="#adf8d477e5f622855799842134145ecc4">More...</a><br /></td></tr>
|
|
346
346
|
<tr class="separator:adf8d477e5f622855799842134145ecc4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
347
|
-
<tr class="memitem:af47e15d6b8c15d547a718f3577513975"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
347
|
+
<tr class="memitem:af47e15d6b8c15d547a718f3577513975"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#af47e15d6b8c15d547a718f3577513975">loadsToPointsToMap</a></td></tr>
|
|
348
348
|
<tr class="memdesc:af47e15d6b8c15d547a718f3577513975"><td class="mdescLeft"> </td><td class="mdescRight">Map a load <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge to its CPts set map. <a href="#af47e15d6b8c15d547a718f3577513975">More...</a><br /></td></tr>
|
|
349
349
|
<tr class="separator:af47e15d6b8c15d547a718f3577513975"><td class="memSeparator" colspan="2"> </td></tr>
|
|
350
|
-
<tr class="memitem:a7d86f708743a59aa31c0a9fd6de45dac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
350
|
+
<tr class="memitem:a7d86f708743a59aa31c0a9fd6de45dac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a7d86f708743a59aa31c0a9fd6de45dac">storesToPointsToMap</a></td></tr>
|
|
351
351
|
<tr class="memdesc:a7d86f708743a59aa31c0a9fd6de45dac"><td class="mdescLeft"> </td><td class="mdescRight">Map a store <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge to its CPts set map. <a href="#a7d86f708743a59aa31c0a9fd6de45dac">More...</a><br /></td></tr>
|
|
352
352
|
<tr class="separator:a7d86f708743a59aa31c0a9fd6de45dac"><td class="memSeparator" colspan="2"> </td></tr>
|
|
353
353
|
<tr class="memitem:a34967cda51699f948a581b9f88fa3b10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1MRGenerator.html#a9d22e9d113393c536c5fe473fd76f388">CallSiteToPointsToMap</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1MRGenerator.html#a34967cda51699f948a581b9f88fa3b10">callsiteToRefPointsToMap</a></td></tr>
|
|
@@ -511,14 +511,14 @@ Private Attributes</h2></td></tr>
|
|
|
511
511
|
|
|
512
512
|
</div>
|
|
513
513
|
</div>
|
|
514
|
-
<a id="
|
|
515
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
514
|
+
<a id="a273b2634adcfa10a08924517e8d51175"></a>
|
|
515
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a273b2634adcfa10a08924517e8d51175">◆ </a></span>LoadsToMRsMap</h2>
|
|
516
516
|
|
|
517
517
|
<div class="memitem">
|
|
518
518
|
<div class="memproto">
|
|
519
519
|
<table class="memname">
|
|
520
520
|
<tr>
|
|
521
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="
|
|
521
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a>*, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a>> <a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">SVF::MRGenerator::LoadsToMRsMap</a></td>
|
|
522
522
|
</tr>
|
|
523
523
|
</table>
|
|
524
524
|
</div><div class="memdoc">
|
|
@@ -528,14 +528,14 @@ Private Attributes</h2></td></tr>
|
|
|
528
528
|
|
|
529
529
|
</div>
|
|
530
530
|
</div>
|
|
531
|
-
<a id="
|
|
532
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
531
|
+
<a id="acfadd565b5c978c9417e059b3ea7588c"></a>
|
|
532
|
+
<h2 class="memtitle"><span class="permalink"><a href="#acfadd565b5c978c9417e059b3ea7588c">◆ </a></span>LoadsToPointsToMap</h2>
|
|
533
533
|
|
|
534
534
|
<div class="memitem">
|
|
535
535
|
<div class="memproto">
|
|
536
536
|
<table class="memname">
|
|
537
537
|
<tr>
|
|
538
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="
|
|
538
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a>*, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>> <a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">SVF::MRGenerator::LoadsToPointsToMap</a></td>
|
|
539
539
|
</tr>
|
|
540
540
|
</table>
|
|
541
541
|
</div><div class="memdoc">
|
|
@@ -579,24 +579,6 @@ Private Attributes</h2></td></tr>
|
|
|
579
579
|
|
|
580
580
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00169">169</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
581
581
|
|
|
582
|
-
</div>
|
|
583
|
-
</div>
|
|
584
|
-
<a id="aad6c5bb3abf7449b36b2ec51c4f35f6c"></a>
|
|
585
|
-
<h2 class="memtitle"><span class="permalink"><a href="#aad6c5bb3abf7449b36b2ec51c4f35f6c">◆ </a></span>PAGEdgeList</h2>
|
|
586
|
-
|
|
587
|
-
<div class="memitem">
|
|
588
|
-
<div class="memproto">
|
|
589
|
-
<table class="memname">
|
|
590
|
-
<tr>
|
|
591
|
-
<td class="memname">typedef <a class="el" href="classSVF_1_1SVFIR.html#a896b591a710148fad7705a0d88652976">SVFIR::PAGEdgeList</a> <a class="el" href="classSVF_1_1MRGenerator.html#aad6c5bb3abf7449b36b2ec51c4f35f6c">SVF::MRGenerator::PAGEdgeList</a></td>
|
|
592
|
-
</tr>
|
|
593
|
-
</table>
|
|
594
|
-
</div><div class="memdoc">
|
|
595
|
-
|
|
596
|
-
<p><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> edge list. </p>
|
|
597
|
-
|
|
598
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00172">172</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
599
|
-
|
|
600
582
|
</div>
|
|
601
583
|
</div>
|
|
602
584
|
<a id="a82be01b460a498c07fb6a8aba853ed31"></a>
|
|
@@ -665,14 +647,14 @@ Private Attributes</h2></td></tr>
|
|
|
665
647
|
|
|
666
648
|
</div>
|
|
667
649
|
</div>
|
|
668
|
-
<a id="
|
|
669
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
650
|
+
<a id="afacb458ca832ef459e873b7d90134a8c"></a>
|
|
651
|
+
<h2 class="memtitle"><span class="permalink"><a href="#afacb458ca832ef459e873b7d90134a8c">◆ </a></span>StoresToMRsMap</h2>
|
|
670
652
|
|
|
671
653
|
<div class="memitem">
|
|
672
654
|
<div class="memproto">
|
|
673
655
|
<table class="memname">
|
|
674
656
|
<tr>
|
|
675
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="
|
|
657
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a>*, <a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a>> <a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">SVF::MRGenerator::StoresToMRsMap</a></td>
|
|
676
658
|
</tr>
|
|
677
659
|
</table>
|
|
678
660
|
</div><div class="memdoc">
|
|
@@ -681,20 +663,38 @@ Private Attributes</h2></td></tr>
|
|
|
681
663
|
|
|
682
664
|
</div>
|
|
683
665
|
</div>
|
|
684
|
-
<a id="
|
|
685
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
666
|
+
<a id="a357e1654e30b2f91f6ea30ea5a52e91d"></a>
|
|
667
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a357e1654e30b2f91f6ea30ea5a52e91d">◆ </a></span>StoresToPointsToMap</h2>
|
|
686
668
|
|
|
687
669
|
<div class="memitem">
|
|
688
670
|
<div class="memproto">
|
|
689
671
|
<table class="memname">
|
|
690
672
|
<tr>
|
|
691
|
-
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="
|
|
673
|
+
<td class="memname">typedef <a class="el" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map</a><const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a>*, <a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>> <a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">SVF::MRGenerator::StoresToPointsToMap</a></td>
|
|
692
674
|
</tr>
|
|
693
675
|
</table>
|
|
694
676
|
</div><div class="memdoc">
|
|
695
677
|
|
|
696
678
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00157">157</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
697
679
|
|
|
680
|
+
</div>
|
|
681
|
+
</div>
|
|
682
|
+
<a id="a8717adf4520e0702274c5f013776be52"></a>
|
|
683
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a8717adf4520e0702274c5f013776be52">◆ </a></span>SVFStmtList</h2>
|
|
684
|
+
|
|
685
|
+
<div class="memitem">
|
|
686
|
+
<div class="memproto">
|
|
687
|
+
<table class="memname">
|
|
688
|
+
<tr>
|
|
689
|
+
<td class="memname">typedef <a class="el" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a> <a class="el" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVF::MRGenerator::SVFStmtList</a></td>
|
|
690
|
+
</tr>
|
|
691
|
+
</table>
|
|
692
|
+
</div><div class="memdoc">
|
|
693
|
+
|
|
694
|
+
<p><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> edge list. </p>
|
|
695
|
+
|
|
696
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00172">172</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
|
|
697
|
+
|
|
698
698
|
</div>
|
|
699
699
|
</div>
|
|
700
700
|
<a id="a68d50c752252bd40c402c7b99b95f0fc"></a>
|
|
@@ -869,8 +869,8 @@ Private Attributes</h2></td></tr>
|
|
|
869
869
|
</div><!-- fragment -->
|
|
870
870
|
</div>
|
|
871
871
|
</div>
|
|
872
|
-
<a id="
|
|
873
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
872
|
+
<a id="a79a3032b50f7ef905213b770b12e0967"></a>
|
|
873
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a79a3032b50f7ef905213b770b12e0967">◆ </a></span>addCPtsToLoad()</h2>
|
|
874
874
|
|
|
875
875
|
<div class="memitem">
|
|
876
876
|
<div class="memproto">
|
|
@@ -887,7 +887,7 @@ Private Attributes</h2></td></tr>
|
|
|
887
887
|
<tr>
|
|
888
888
|
<td class="paramkey"></td>
|
|
889
889
|
<td></td>
|
|
890
|
-
<td class="paramtype">const <a class="el" href="
|
|
890
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> * </td>
|
|
891
891
|
<td class="paramname"><em>ld</em>, </td>
|
|
892
892
|
</tr>
|
|
893
893
|
<tr>
|
|
@@ -916,8 +916,8 @@ Private Attributes</h2></td></tr>
|
|
|
916
916
|
</div><!-- fragment -->
|
|
917
917
|
</div>
|
|
918
918
|
</div>
|
|
919
|
-
<a id="
|
|
920
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
919
|
+
<a id="af50efed3af17806a3ba3f668e4466d3e"></a>
|
|
920
|
+
<h2 class="memtitle"><span class="permalink"><a href="#af50efed3af17806a3ba3f668e4466d3e">◆ </a></span>addCPtsToStore()</h2>
|
|
921
921
|
|
|
922
922
|
<div class="memitem">
|
|
923
923
|
<div class="memproto">
|
|
@@ -934,7 +934,7 @@ Private Attributes</h2></td></tr>
|
|
|
934
934
|
<tr>
|
|
935
935
|
<td class="paramkey"></td>
|
|
936
936
|
<td></td>
|
|
937
|
-
<td class="paramtype">const <a class="el" href="
|
|
937
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> * </td>
|
|
938
938
|
<td class="paramname"><em>st</em>, </td>
|
|
939
939
|
</tr>
|
|
940
940
|
<tr>
|
|
@@ -1174,12 +1174,12 @@ Private Attributes</h2></td></tr>
|
|
|
1174
1174
|
<p>collect the pts chain of the return argument </p>
|
|
1175
1175
|
|
|
1176
1176
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00479">479</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
1177
|
-
<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& argsPts = <a class="code" href="classSVF_1_1MRGenerator.html#afe91b57b451d7788364493549e015acf">csToCallSiteArgsPtsMap</a>[cs];</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* callBlockNode = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a7d10e8a815c836a070d35850f817a18c">getCallBlockNode</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* retBlockNode = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a6d66c83cb1656d0f8ec8b8b65a9e9c41">getRetBlockNode</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</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>  <a class="code" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> worklist;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">if</span> (pag-><a class="code" href="classSVF_1_1SVFIR.html#a2a4185af81e7e10f0db74c39ee220101">hasCallSiteArgsMap</a>(callBlockNode))</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR.html#
|
|
1177
|
+
<div class="fragment"><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& argsPts = <a class="code" href="classSVF_1_1MRGenerator.html#afe91b57b451d7788364493549e015acf">csToCallSiteArgsPtsMap</a>[cs];</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="classSVF_1_1CallBlockNode.html">CallBlockNode</a>* callBlockNode = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a7d10e8a815c836a070d35850f817a18c">getCallBlockNode</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <a class="code" href="classSVF_1_1RetBlockNode.html">RetBlockNode</a>* retBlockNode = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a6d66c83cb1656d0f8ec8b8b65a9e9c41">getRetBlockNode</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</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>  <a class="code" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> worklist;</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">if</span> (pag-><a class="code" href="classSVF_1_1SVFIR.html#a2a4185af81e7e10f0db74c39ee220101">hasCallSiteArgsMap</a>(callBlockNode))</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVFIR::SVFVarList</a>& args = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#ac7f90610a7b5f456c530a4419393fae5">getCallSiteArgsList</a>(callBlockNode);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keywordflow">for</span>(SVFIR::SVFVarList::const_iterator itA = args.begin(), ieA = args.end(); itA!=ieA; ++itA)</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  {</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = *itA;</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">if</span>(node-><a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  worklist.push(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  }</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  }</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">while</span>(!worklist.empty())</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  {</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = worklist.pop();</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& tmp = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(nodeId).<a class="code" href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">toNodeBS</a>();</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">for</span>(NodeBS::iterator it = tmp.begin(), eit = tmp.end(); it!=eit; ++it)</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  argsPts |= <a class="code" href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">CollectPtsChain</a>(*it);</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  }</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& retPts = <a class="code" href="classSVF_1_1MRGenerator.html#a21550f978f42ac3cbb32cbc426ff5cb1">csToCallSiteRetPtsMap</a>[cs];</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#a170bef1e9a07ce0449faf66706ae6e61">callsiteHasRet</a>(retBlockNode))</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  {</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#a70aa4d730ef1d38ef9c46f5014465bdd">getCallSiteRet</a>(retBlockNode);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">if</span>(node-><a class="code" href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">isPointer</a>())</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  {</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& tmp = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>()).toNodeBS();</div><div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">for</span>(NodeBS::iterator it = tmp.begin(), eit = tmp.end(); it!=eit; ++it)</div><div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  retPts |= <a class="code" href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">CollectPtsChain</a>(*it);</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  }</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  }</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span> </div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div><div class="ttc" id="classSVF_1_1PointsTo_html_ae4749cf6dc43645e2479cefbcc246637"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">SVF::PointsTo::toNodeBS</a></div><div class="ttdeci">NodeBS toNodeBS(void) const</div><div class="ttdoc">Returns this points-to set as a NodeBS. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00298">PointsTo.cpp:298</a></div></div>
|
|
1178
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a64939d7ecfd8e2cf862782954a56596b"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a64939d7ecfd8e2cf862782954a56596b">SVF::SVFIR::SVFVarList</a></div><div class="ttdeci">std::vector< const SVFVar * > SVFVarList</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00057">SVFIR.h:57</a></div></div>
|
|
1178
1179
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1179
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a70aa4d730ef1d38ef9c46f5014465bdd"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a70aa4d730ef1d38ef9c46f5014465bdd">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetBlockNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1180
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a70aa4d730ef1d38ef9c46f5014465bdd"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a70aa4d730ef1d38ef9c46f5014465bdd">SVF::SVFIR::getCallSiteRet</a></div><div class="ttdeci">const SVFVar * getCallSiteRet(const RetBlockNode *cs) const</div><div class="ttdoc">Get callsite return. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00254">SVFIR.h:254</a></div></div>
|
|
1180
1181
|
<div class="ttc" id="classSVF_1_1ICFG_html_a7d10e8a815c836a070d35850f817a18c"><div class="ttname"><a href="classSVF_1_1ICFG.html#a7d10e8a815c836a070d35850f817a18c">SVF::ICFG::getCallBlockNode</a></div><div class="ttdeci">CallBlockNode * getCallBlockNode(const Instruction *inst)</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00197">ICFG.cpp:197</a></div></div>
|
|
1181
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a2a4185af81e7e10f0db74c39ee220101"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2a4185af81e7e10f0db74c39ee220101">SVF::SVFIR::hasCallSiteArgsMap</a></div><div class="ttdeci">bool hasCallSiteArgsMap(const CallBlockNode *cs) const</div><div class="ttdoc">Callsite has argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1182
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a432e99757dfe844fd8450f2ab4ff4093"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a432e99757dfe844fd8450f2ab4ff4093">SVF::SVFIR::getCallSiteArgsList</a></div><div class="ttdeci">const PAGNodeList & getCallSiteArgsList(const CallBlockNode *cs) const</div><div class="ttdoc">Get callsite argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00243">SVFIR.h:243</a></div></div>
|
|
1182
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a2a4185af81e7e10f0db74c39ee220101"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2a4185af81e7e10f0db74c39ee220101">SVF::SVFIR::hasCallSiteArgsMap</a></div><div class="ttdeci">bool hasCallSiteArgsMap(const CallBlockNode *cs) const</div><div class="ttdoc">Callsite has argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00232">SVFIR.h:232</a></div></div>
|
|
1183
1183
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|
|
1184
1184
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a3b61042079a6c9dc395f38925c6a1271"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">SVF::SVFVar::isPointer</a></div><div class="ttdeci">virtual bool isPointer() const</div><div class="ttdoc">Whether it is a pointer. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00115">SVFVariables.h:115</a></div></div>
|
|
1185
1185
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a81bd687d34eea884dfcf68274fcec7b5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">SVF::MRGenerator::CollectPtsChain</a></div><div class="ttdeci">NodeBS & CollectPtsChain(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00527">MemRegion.cpp:527</a></div></div>
|
|
@@ -1192,13 +1192,13 @@ Private Attributes</h2></td></tr>
|
|
|
1192
1192
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
1193
1193
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
1194
1194
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
1195
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a170bef1e9a07ce0449faf66706ae6e61"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a170bef1e9a07ce0449faf66706ae6e61">SVF::SVFIR::callsiteHasRet</a></div><div class="ttdeci">bool callsiteHasRet(const RetBlockNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1195
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a170bef1e9a07ce0449faf66706ae6e61"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a170bef1e9a07ce0449faf66706ae6e61">SVF::SVFIR::callsiteHasRet</a></div><div class="ttdeci">bool callsiteHasRet(const RetBlockNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00260">SVFIR.h:260</a></div></div>
|
|
1196
1196
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afe91b57b451d7788364493549e015acf"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afe91b57b451d7788364493549e015acf">SVF::MRGenerator::csToCallSiteArgsPtsMap</a></div><div class="ttdeci">CallSiteToPointsToMap csToCallSiteArgsPtsMap</div><div class="ttdoc">Map a callsite to all its object might pass into its callees. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00231">MemRegion.h:231</a></div></div>
|
|
1197
1197
|
<div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
|
|
1198
1198
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
1199
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1200
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a64cee36354a14aae6b64f8b9d3edbd96"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a64cee36354a14aae6b64f8b9d3edbd96">SVF::SVFIR::PAGNodeList</a></div><div class="ttdeci">std::vector< const SVFVar * > PAGNodeList</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00057">SVFIR.h:57</a></div></div>
|
|
1199
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
|
|
1201
1200
|
<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#l00233">MemRegion.h:233</a></div></div>
|
|
1201
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_ac7f90610a7b5f456c530a4419393fae5"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ac7f90610a7b5f456c530a4419393fae5">SVF::SVFIR::getCallSiteArgsList</a></div><div class="ttdeci">const SVFVarList & getCallSiteArgsList(const CallBlockNode *cs) const</div><div class="ttdoc">Get callsite argument list. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00242">SVFIR.h:242</a></div></div>
|
|
1202
1202
|
</div><!-- fragment -->
|
|
1203
1203
|
</div>
|
|
1204
1204
|
</div>
|
|
@@ -1229,13 +1229,13 @@ Private Attributes</h2></td></tr>
|
|
|
1229
1229
|
<p>Collect globals for escape analysis </p>
|
|
1230
1230
|
|
|
1231
1231
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00105">105</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
1232
|
-
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> nIter = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); nIter != pag-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++nIter)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">if</span>(<a class="code" href="
|
|
1232
|
+
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVFIR::iterator</a> nIter = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(); nIter != pag-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); ++nIter)</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a>* obj = SVFUtil::dyn_cast<ObjVar>(nIter->second))</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">if</span> (obj->getMemObj()->isGlobalObj())</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1MRGenerator.html#af46b82e45aa1ecdfb397325971206541">allGlobals</a>.set(nIter->first);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classSVF_1_1MRGenerator.html#af46b82e45aa1ecdfb397325971206541">allGlobals</a> |= <a class="code" href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">CollectPtsChain</a>(nIter->first);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</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>  }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> }</div><div class="ttc" id="classSVF_1_1GenericGraph_html_a0d9744b1b0e7a09a6f7af29188e243b7"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">SVF::GenericGraph::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00361">GenericGraph.h:361</a></div></div>
|
|
1233
|
+
<div class="ttc" id="classSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00317">SVFVariables.h:317</a></div></div>
|
|
1233
1234
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a81bd687d34eea884dfcf68274fcec7b5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">SVF::MRGenerator::CollectPtsChain</a></div><div class="ttdeci">NodeBS & CollectPtsChain(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00527">MemRegion.cpp:527</a></div></div>
|
|
1234
1235
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_af46b82e45aa1ecdfb397325971206541"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af46b82e45aa1ecdfb397325971206541">SVF::MRGenerator::allGlobals</a></div><div class="ttdeci">NodeBS allGlobals</div><div class="ttdoc">All global variable SVFIR node ids. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00239">MemRegion.h:239</a></div></div>
|
|
1235
1236
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00365">GenericGraph.h:365</a></div></div>
|
|
1236
1237
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph< SVFVar, SVFStmt >::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00338">GenericGraph.h:338</a></div></div>
|
|
1237
1238
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
|
|
1238
|
-
<div class="ttc" id="classSVF_1_1ObjPN_html"><div class="ttname"><a href="classSVF_1_1ObjPN.html">SVF::ObjPN</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00317">SVFVariables.h:317</a></div></div>
|
|
1239
1239
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
1240
1240
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
1241
1241
|
</div><!-- fragment -->
|
|
@@ -1284,7 +1284,7 @@ Private Attributes</h2></td></tr>
|
|
|
1284
1284
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a07dc868039c5e2764b3cc34faff6d94a"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a07dc868039c5e2764b3cc34faff6d94a">SVF::MRGenerator::hasModSideEffectOfCallSite</a></div><div class="ttdeci">bool hasModSideEffectOfCallSite(const CallBlockNode *cs)</div><div class="ttdoc">Has indirect mods of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00409">MemRegion.h:409</a></div></div>
|
|
1285
1285
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a77cf2b1959581da2b0cdf88291664ff3"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a77cf2b1959581da2b0cdf88291664ff3">SVF::MRGenerator::addCPtsToCallSiteRefs</a></div><div class="ttdeci">void addCPtsToCallSiteRefs(NodeBS &cpts, const CallBlockNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00349">MemRegion.h:349</a></div></div>
|
|
1286
1286
|
<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#l00195">MemRegion.h:195</a></div></div>
|
|
1287
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_aa530e33657f68fc2e8eae9435ce430cb"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa530e33657f68fc2e8eae9435ce430cb">SVF::SVFIR::getCallSiteSet</a></div><div class="ttdeci">const CallSiteSet & getCallSiteSet() const</div><div class="ttdoc">Get all callsites. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1287
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_aa530e33657f68fc2e8eae9435ce430cb"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa530e33657f68fc2e8eae9435ce430cb">SVF::SVFIR::getCallSiteSet</a></div><div class="ttdeci">const CallSiteSet & getCallSiteSet() const</div><div class="ttdoc">Get all callsites. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00204">SVFIR.h:204</a></div></div>
|
|
1288
1288
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ac91b6f0f33a95ba35cc23e0e4657732a"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac91b6f0f33a95ba35cc23e0e4657732a">SVF::MRGenerator::hasRefSideEffectOfCallSite</a></div><div class="ttdeci">bool hasRefSideEffectOfCallSite(const CallBlockNode *cs)</div><div class="ttdoc">Has indirect refs of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00404">MemRegion.h:404</a></div></div>
|
|
1289
1289
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
|
|
1290
1290
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ac43b3f895efd160c7dd5860c0dfd1625"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ac43b3f895efd160c7dd5860c0dfd1625">SVF::MRGenerator::collectCallSitePts</a></div><div class="ttdeci">void collectCallSitePts(const CallBlockNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00479">MemRegion.cpp:479</a></div></div>
|
|
@@ -1299,7 +1299,7 @@ Private Attributes</h2></td></tr>
|
|
|
1299
1299
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
|
|
1300
1300
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a3c9e58dee18cde9a6e1575e34955af78"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a3c9e58dee18cde9a6e1575e34955af78">SVF::MRGenerator::addCPtsToCallSiteMods</a></div><div class="ttdeci">void addCPtsToCallSiteMods(NodeBS &cpts, const CallBlockNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00354">MemRegion.h:354</a></div></div>
|
|
1301
1301
|
<div class="ttc" id="classSVF_1_1CallBlockNode_html"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html">SVF::CallBlockNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00364">ICFGNode.h:364</a></div></div>
|
|
1302
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1302
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
|
|
1303
1303
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00149">SVFBasicTypes.h:149</a></div></div>
|
|
1304
1304
|
</div><!-- fragment -->
|
|
1305
1305
|
</div>
|
|
@@ -1332,26 +1332,26 @@ Private Attributes</h2></td></tr>
|
|
|
1332
1332
|
<p>if this function does not have any caller, then we do not care its MSSA </p>
|
|
1333
1333
|
|
|
1334
1334
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00172">172</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
1335
|
-
<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> fi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), efi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); fi != efi;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  ++fi)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>& fun = **fi;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">Options::IgnoreDeadFun</a> && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6d268e8d588717601345be3a911a7625">isDeadFunction</a>(fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()))</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">for</span> (Function::const_iterator iter = fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()->begin(), eiter = fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()->end();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  iter != eiter; ++iter)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>& bb = *iter;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">for</span> (BasicBlock::const_iterator bit = bb.begin(), ebit = bb.end();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  bit != ebit; ++bit)</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>& inst = *bit;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
1335
|
+
<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> {</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">getModule</a>();</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> fi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), efi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); fi != efi;</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  ++fi)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>& fun = **fi;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> </div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">Options::IgnoreDeadFun</a> && <a class="code" href="namespaceSVF_1_1SVFUtil.html#a6d268e8d588717601345be3a911a7625">isDeadFunction</a>(fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()))</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">for</span> (Function::const_iterator iter = fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()->begin(), eiter = fun.<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>()->end();</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  iter != eiter; ++iter)</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>& bb = *iter;</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">for</span> (BasicBlock::const_iterator bit = bb.begin(), ebit = bb.end();</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  bit != ebit; ++bit)</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>& inst = *bit;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a>& pagEdgeList = <a class="code" href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">getPAGEdgesFromInst</a>(&inst);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">for</span> (SVFStmtList::iterator bit = pagEdgeList.begin(), ebit =</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  pagEdgeList.end(); bit != ebit; ++bit)</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* inst = *bit;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">pagEdgeToFunMap</a>[inst] = &fun;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *st = SVFUtil::dyn_cast<StoreStmt>(inst))</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  {</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> cpts(<a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(st->getDstID()).toNodeBS());</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="comment">// TODO: change this assertion check later when we have conditional points-to set</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">if</span> (cpts.empty())</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!cpts.empty() && <span class="stringliteral">"null pointer!!"</span>);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="classSVF_1_1MRGenerator.html#af50efed3af17806a3ba3f668e4466d3e">addCPtsToStore</a>(cpts, st, &fun);</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *ld = SVFUtil::dyn_cast<LoadStmt>(inst))</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> cpts(<a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ld->getSrcID()).toNodeBS());</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="comment">// TODO: change this assertion check later when we have conditional points-to set</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">if</span> (cpts.empty())</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!cpts.empty() && <span class="stringliteral">"null pointer!!"</span>);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a79a3032b50f7ef905213b770b12e0967">addCPtsToLoad</a>(cpts, ld, &fun);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  }</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span> }</div><div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
|
|
1336
1336
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00152">SVFModule.h:152</a></div></div>
|
|
1337
1337
|
<div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
1338
1338
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
|
|
1339
|
-
<div class="ttc" id="
|
|
1339
|
+
<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#l00337">MemRegion.h:337</a></div></div>
|
|
1340
|
+
<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#l00172">MemRegion.h:172</a></div></div>
|
|
1340
1341
|
<div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
|
|
1341
|
-
<div class="ttc" id="
|
|
1342
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_acc78a116ca0be01a359d1313b2ae603c"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">SVFStmtList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
1342
1343
|
<div class="ttc" id="classSVF_1_1Options_html_a50182faec95c6c4635df65a55148b040"><div class="ttname"><a href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">SVF::Options::IgnoreDeadFun</a></div><div class="ttdeci">static const llvm::cl::opt< bool > IgnoreDeadFun</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00148">Options.h:148</a></div></div>
|
|
1343
1344
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_ad8b71cebf46deaf60e2cd4f6d6bb9433"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#ad8b71cebf46deaf60e2cd4f6d6bb9433">SVF::PointerAnalysis::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdoc">Module. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00217">PointerAnalysis.h:217</a></div></div>
|
|
1344
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_a4cd3d3af2cfad7b5c086f00ab8e68169"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a4cd3d3af2cfad7b5c086f00ab8e68169">SVF::MRGenerator::addCPtsToLoad</a></div><div class="ttdeci">void addCPtsToLoad(NodeBS &cpts, const LoadPE *ld, const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00343">MemRegion.h:343</a></div></div>
|
|
1345
1345
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
1346
1346
|
<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="BasicTypes_8h_source.html#l00079">BasicTypes.h:79</a></div></div>
|
|
1347
|
+
<div class="ttc" id="classSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00633">SVFStatements.h:633</a></div></div>
|
|
1347
1348
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_ab250a4950269f57027d8e8ef10089f58"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ab250a4950269f57027d8e8ef10089f58">SVF::MRGenerator::pagEdgeToFunMap</a></div><div class="ttdeci">PAGEdgeToFunMap pagEdgeToFunMap</div><div class="ttdoc">Map a PAGEdge to its fun. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00220">MemRegion.h:220</a></div></div>
|
|
1348
|
-
<div class="ttc" id="
|
|
1349
|
-
<div class="ttc" id="classSVF_1_1LoadPE_html"><div class="ttname"><a href="classSVF_1_1LoadPE.html">SVF::LoadPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00628">SVFStatements.h:628</a></div></div>
|
|
1350
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_a820e30118868947b62f0a558da5512fc"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a820e30118868947b62f0a558da5512fc">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">PAGEdgeList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
1349
|
+
<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#l00343">MemRegion.h:343</a></div></div>
|
|
1351
1350
|
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00249">BasicTypes.h:249</a></div></div>
|
|
1352
1351
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
1353
1352
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
1354
1353
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00160">SVFModule.h:160</a></div></div>
|
|
1354
|
+
<div class="ttc" id="classSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00596">SVFStatements.h:596</a></div></div>
|
|
1355
1355
|
<div class="ttc" id="classSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00052">SVFModule.h:52</a></div></div>
|
|
1356
1356
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a6d268e8d588717601345be3a911a7625"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a6d268e8d588717601345be3a911a7625">SVF::SVFUtil::isDeadFunction</a></div><div class="ttdeci">bool isDeadFunction(const Function *fun)</div><div class="ttdoc">whether this is a function without any possible caller? </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00125">LLVMUtil.cpp:125</a></div></div>
|
|
1357
1357
|
<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>
|
|
@@ -1384,8 +1384,9 @@ Private Attributes</h2></td></tr>
|
|
|
1384
1384
|
<p>Recurisively collect all points-to of the whole struct fields </p>
|
|
1385
1385
|
|
|
1386
1386
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00527">527</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
1387
|
-
<div class="fragment"><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> baseId = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#
|
|
1387
|
+
<div class="fragment"><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> {</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> baseId = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">getBaseObjVar</a>(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  NodeToPTSSMap::iterator it = <a class="code" href="classSVF_1_1MRGenerator.html#a0e46c7beb580ace3a652ac9e1c419b48">cachedPtsChainMap</a>.find(baseId);</div><div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1MRGenerator.html#a0e46c7beb580ace3a652ac9e1c419b48">cachedPtsChainMap</a>.end())</div><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  {</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& pts = <a class="code" href="classSVF_1_1MRGenerator.html#a0e46c7beb580ace3a652ac9e1c419b48">cachedPtsChainMap</a>[baseId];</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  pts |= <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>()-><a class="code" href="classSVF_1_1SVFIR.html#a42d1e2f0213fb6e54c56cc0695b57cb0">getFieldsAfterCollapse</a>(baseId);</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc">WorkList</a> worklist;</div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">for</span>(NodeBS::iterator it = pts.begin(), eit = pts.end(); it!=eit; ++it)</div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(*it);</div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">while</span>(!worklist.empty())</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  {</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId = worklist.pop();</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>& tmp = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(nodeId).<a class="code" href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">toNodeBS</a>();</div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">for</span>(NodeBS::iterator it = tmp.begin(), eit = tmp.end(); it!=eit; ++it)</div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  {</div><div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  pts |= <a class="code" href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">CollectPtsChain</a>(*it);</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  }</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">return</span> pts;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  }</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span> </div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> }</div><div class="ttc" id="classSVF_1_1PointsTo_html_ae4749cf6dc43645e2479cefbcc246637"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ae4749cf6dc43645e2479cefbcc246637">SVF::PointsTo::toNodeBS</a></div><div class="ttdeci">NodeBS toNodeBS(void) const</div><div class="ttdoc">Returns this points-to set as a NodeBS. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00298">PointsTo.cpp:298</a></div></div>
|
|
1388
1388
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
|
|
1389
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00442">SVFIR.h:442</a></div></div>
|
|
1389
1390
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a81bd687d34eea884dfcf68274fcec7b5"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5">SVF::MRGenerator::CollectPtsChain</a></div><div class="ttdeci">NodeBS & CollectPtsChain(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00527">MemRegion.cpp:527</a></div></div>
|
|
1390
1391
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_ad4c6a48b60c870d63049fe7272cc7eb8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">SVF::FIFOWorkList::push</a></div><div class="ttdeci">bool push(Data data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00159">WorkList.h:159</a></div></div>
|
|
1391
1392
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
@@ -1395,7 +1396,6 @@ Private Attributes</h2></td></tr>
|
|
|
1395
1396
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
1396
1397
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
1397
1398
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a42d1e2f0213fb6e54c56cc0695b57cb0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a42d1e2f0213fb6e54c56cc0695b57cb0">SVF::SVFIR::getFieldsAfterCollapse</a></div><div class="ttdeci">NodeBS getFieldsAfterCollapse(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00480">SVFIR.cpp:480</a></div></div>
|
|
1398
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a4720426ab75f8d07e780995ffad7d51a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a4720426ab75f8d07e780995ffad7d51a">SVF::SVFIR::getBaseObjNode</a></div><div class="ttdeci">NodeID getBaseObjNode(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00443">SVFIR.h:443</a></div></div>
|
|
1399
1399
|
</div><!-- fragment -->
|
|
1400
1400
|
</div>
|
|
1401
1401
|
</div>
|
|
@@ -1771,7 +1771,7 @@ Private Attributes</h2></td></tr>
|
|
|
1771
1771
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_af46b82e45aa1ecdfb397325971206541"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#af46b82e45aa1ecdfb397325971206541">SVF::MRGenerator::allGlobals</a></div><div class="ttdeci">NodeBS allGlobals</div><div class="ttdoc">All global variable SVFIR node ids. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00239">MemRegion.h:239</a></div></div>
|
|
1772
1772
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
|
|
1773
1773
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
1774
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1774
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00357">SVFIR.h:357</a></div></div>
|
|
1775
1775
|
</div><!-- fragment -->
|
|
1776
1776
|
</div>
|
|
1777
1777
|
</div>
|
|
@@ -1866,8 +1866,8 @@ Private Attributes</h2></td></tr>
|
|
|
1866
1866
|
</div><!-- fragment -->
|
|
1867
1867
|
</div>
|
|
1868
1868
|
</div>
|
|
1869
|
-
<a id="
|
|
1870
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
1869
|
+
<a id="a19da5768681a21c52a6c43761814a157"></a>
|
|
1870
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a19da5768681a21c52a6c43761814a157">◆ </a></span>getLoadMRSet()</h2>
|
|
1871
1871
|
|
|
1872
1872
|
<div class="memitem">
|
|
1873
1873
|
<div class="memproto">
|
|
@@ -1878,7 +1878,7 @@ Private Attributes</h2></td></tr>
|
|
|
1878
1878
|
<tr>
|
|
1879
1879
|
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a>& SVF::MRGenerator::getLoadMRSet </td>
|
|
1880
1880
|
<td>(</td>
|
|
1881
|
-
<td class="paramtype">const <a class="el" href="
|
|
1881
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1LoadStmt.html">LoadStmt</a> * </td>
|
|
1882
1882
|
<td class="paramname"><em>load</em></td><td>)</td>
|
|
1883
1883
|
<td></td>
|
|
1884
1884
|
</tr>
|
|
@@ -1916,15 +1916,15 @@ Private Attributes</h2></td></tr>
|
|
|
1916
1916
|
<p>Obtain the mod sets for a call, used for external ModRefInfo queries </p>
|
|
1917
1917
|
|
|
1918
1918
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00670">670</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
1919
|
-
<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()) && !<a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()))</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
1920
|
-
<div class="ttc" id="
|
|
1921
|
-
<div class="ttc" id="
|
|
1919
|
+
<div class="fragment"><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> {</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()) && !<a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()))</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  {</div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a>& pagEdgeList = <a class="code" href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">getPAGEdgesFromInst</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</div><div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> mods;</div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  <span class="keywordflow">for</span> (SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit =</div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  pagEdgeList.end(); bit != ebit; ++bit)</div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  {</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *bit;</div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* st = SVFUtil::dyn_cast<StoreStmt>(edge))</div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  mods |= <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(st->getDstID()).toNodeBS();</div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  }</div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="keywordflow">return</span> mods;</div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  }</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  {</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRGenerator.html#aebd6abbf574392abce426dc796d2ee56">getModSideEffectOfCallSite</a>(cs);</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  }</div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> }</div><div class="ttc" id="classSVF_1_1MRGenerator_html_aebd6abbf574392abce426dc796d2ee56"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#aebd6abbf574392abce426dc796d2ee56">SVF::MRGenerator::getModSideEffectOfCallSite</a></div><div class="ttdeci">const NodeBS & getModSideEffectOfCallSite(const CallBlockNode *cs)</div><div class="ttdoc">Get indirect mods of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00399">MemRegion.h:399</a></div></div>
|
|
1920
|
+
<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#l00172">MemRegion.h:172</a></div></div>
|
|
1921
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_acc78a116ca0be01a359d1313b2ae603c"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">SVFStmtList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
1922
1922
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
1923
1923
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a93ac673b885633849fa484938405ca75"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00115">LLVMUtil.h:115</a></div></div>
|
|
1924
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_a820e30118868947b62f0a558da5512fc"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a820e30118868947b62f0a558da5512fc">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">PAGEdgeList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
1925
1924
|
<div class="ttc" id="classSVF_1_1CallBlockNode_html_ad3d50024efcfa94b1246c982b43aff2f"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">SVF::CallBlockNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
|
|
1926
1925
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
1927
1926
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
1927
|
+
<div class="ttc" id="classSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00596">SVFStatements.h:596</a></div></div>
|
|
1928
1928
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00063">LLVMUtil.h:63</a></div></div>
|
|
1929
1929
|
<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>
|
|
1930
1930
|
</div><!-- fragment -->
|
|
@@ -2277,14 +2277,14 @@ Private Attributes</h2></td></tr>
|
|
|
2277
2277
|
</div><!-- fragment -->
|
|
2278
2278
|
</div>
|
|
2279
2279
|
</div>
|
|
2280
|
-
<a id="
|
|
2281
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
2280
|
+
<a id="acc78a116ca0be01a359d1313b2ae603c"></a>
|
|
2281
|
+
<h2 class="memtitle"><span class="permalink"><a href="#acc78a116ca0be01a359d1313b2ae603c">◆ </a></span>getPAGEdgesFromInst()</h2>
|
|
2282
2282
|
|
|
2283
2283
|
<div class="memitem">
|
|
2284
2284
|
<div class="memproto">
|
|
2285
2285
|
<table class="memname">
|
|
2286
2286
|
<tr>
|
|
2287
|
-
<td class="memname"><a class="el" href="classSVF_1_1SVFIR.html#
|
|
2287
|
+
<td class="memname"><a class="el" href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVFIR::SVFStmtList</a> & MRGenerator::getPAGEdgesFromInst </td>
|
|
2288
2288
|
<td>(</td>
|
|
2289
2289
|
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
2290
2290
|
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
@@ -2296,13 +2296,13 @@ Private Attributes</h2></td></tr>
|
|
|
2296
2296
|
<p>Given an instruction, get all its the PAGEdge (statement) in sequence. </p>
|
|
2297
2297
|
|
|
2298
2298
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00160">160</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
2299
|
-
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3">ptrOnlyMSSA</a>)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#
|
|
2299
|
+
<div class="fragment"><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3">ptrOnlyMSSA</a>)</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">getPTASVFStmtList</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst));</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a570ad42ad516e3fabb91a3563b618c0b">getSVFStmtList</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst));</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div><div class="ttc" id="classSVF_1_1SVFIR_html_abb91ed47d5c13d0ad7eec35164e37988"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abb91ed47d5c13d0ad7eec35164e37988">SVF::SVFIR::getPTASVFStmtList</a></div><div class="ttdeci">SVFStmtList & getPTASVFStmtList(const ICFGNode *inst)</div><div class="ttdoc">Given an instruction, get all its PTA PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00186">SVFIR.h:186</a></div></div>
|
|
2300
2300
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
|
|
2301
2301
|
<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#l00196">MemRegion.h:196</a></div></div>
|
|
2302
2302
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
2303
|
-
<div class="ttc" id="
|
|
2303
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a570ad42ad516e3fabb91a3563b618c0b"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a570ad42ad516e3fabb91a3563b618c0b">SVF::SVFIR::getSVFStmtList</a></div><div class="ttdeci">SVFStmtList & getSVFStmtList(const ICFGNode *inst)</div><div class="ttdoc">Given an instruction, get all its PAGEdges. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00181">SVFIR.h:181</a></div></div>
|
|
2304
2304
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
2305
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
2305
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
|
|
2306
2306
|
<div class="ttc" id="classSVF_1_1ICFG_html_ab7b0b3088b46ad65451905cc4f567a7b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">SVF::ICFG::getBlockICFGNode</a></div><div class="ttdeci">ICFGNode * getBlockICFGNode(const Instruction *inst)</div><div class="ttdoc">Get a basic block ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00181">ICFG.cpp:181</a></div></div>
|
|
2307
2307
|
</div><!-- fragment -->
|
|
2308
2308
|
</div>
|
|
@@ -2354,12 +2354,12 @@ Private Attributes</h2></td></tr>
|
|
|
2354
2354
|
<p>Obtain the ref sets for a call, used for external ModRefInfo queries </p>
|
|
2355
2355
|
|
|
2356
2356
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00694">694</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
2357
|
-
<div class="fragment"><div class="line"><a name="l00695"></a><span class="lineno"> 695</span> {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()) && !<a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()))</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  {</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
2358
|
-
<div class="ttc" id="
|
|
2357
|
+
<div class="fragment"><div class="line"><a name="l00695"></a><span class="lineno"> 695</span> {</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()) && !<a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()))</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  {</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a>& pagEdgeList = <a class="code" href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">getPAGEdgesFromInst</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> refs;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">for</span> (SVFStmtList::const_iterator bit = pagEdgeList.begin(), ebit =</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  pagEdgeList.end(); bit != ebit; ++bit)</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  {</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *bit;</div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* ld = SVFUtil::dyn_cast<LoadStmt>(edge))</div><div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  refs |= <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(ld->getSrcID()).toNodeBS();</div><div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  }</div><div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  <span class="keywordflow">return</span> refs;</div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  }</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  {</div><div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1MRGenerator.html#ae2cc7d7d6ab427acb0352b388c7a4acc">getRefSideEffectOfCallSite</a>(cs);</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  }</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span> }</div><div class="ttc" id="classSVF_1_1MRGenerator_html_ae2cc7d7d6ab427acb0352b388c7a4acc"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#ae2cc7d7d6ab427acb0352b388c7a4acc">SVF::MRGenerator::getRefSideEffectOfCallSite</a></div><div class="ttdeci">const NodeBS & getRefSideEffectOfCallSite(const CallBlockNode *cs)</div><div class="ttdoc">Get indirect refs of a callsite. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00394">MemRegion.h:394</a></div></div>
|
|
2358
|
+
<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#l00172">MemRegion.h:172</a></div></div>
|
|
2359
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_acc78a116ca0be01a359d1313b2ae603c"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">SVFStmtList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
2359
2360
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
2361
|
+
<div class="ttc" id="classSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00633">SVFStatements.h:633</a></div></div>
|
|
2360
2362
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a93ac673b885633849fa484938405ca75"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00115">LLVMUtil.h:115</a></div></div>
|
|
2361
|
-
<div class="ttc" id="classSVF_1_1LoadPE_html"><div class="ttname"><a href="classSVF_1_1LoadPE.html">SVF::LoadPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00628">SVFStatements.h:628</a></div></div>
|
|
2362
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_a820e30118868947b62f0a558da5512fc"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a820e30118868947b62f0a558da5512fc">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">PAGEdgeList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
2363
2363
|
<div class="ttc" id="classSVF_1_1CallBlockNode_html_ad3d50024efcfa94b1246c982b43aff2f"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">SVF::CallBlockNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
|
|
2364
2364
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
2365
2365
|
<div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
|
|
@@ -2462,8 +2462,8 @@ Private Attributes</h2></td></tr>
|
|
|
2462
2462
|
</div><!-- fragment -->
|
|
2463
2463
|
</div>
|
|
2464
2464
|
</div>
|
|
2465
|
-
<a id="
|
|
2466
|
-
<h2 class="memtitle"><span class="permalink"><a href="#
|
|
2465
|
+
<a id="a364ad1e34d09a92cdc0cfe530c84880f"></a>
|
|
2466
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a364ad1e34d09a92cdc0cfe530c84880f">◆ </a></span>getStoreMRSet()</h2>
|
|
2467
2467
|
|
|
2468
2468
|
<div class="memitem">
|
|
2469
2469
|
<div class="memproto">
|
|
@@ -2474,7 +2474,7 @@ Private Attributes</h2></td></tr>
|
|
|
2474
2474
|
<tr>
|
|
2475
2475
|
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a98ac3bf264e6a85d172c2c4264ea908f">MRSet</a>& SVF::MRGenerator::getStoreMRSet </td>
|
|
2476
2476
|
<td>(</td>
|
|
2477
|
-
<td class="paramtype">const <a class="el" href="
|
|
2477
|
+
<td class="paramtype">const <a class="el" href="classSVF_1_1StoreStmt.html">StoreStmt</a> * </td>
|
|
2478
2478
|
<td class="paramname"><em>store</em></td><td>)</td>
|
|
2479
2479
|
<td></td>
|
|
2480
2480
|
</tr>
|
|
@@ -2543,14 +2543,14 @@ Private Attributes</h2></td></tr>
|
|
|
2543
2543
|
<p>otherwise, we find the mod/ref sets from the callee function, who has definition and been processed </p>
|
|
2544
2544
|
|
|
2545
2545
|
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00603">603</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
2546
|
-
<div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno"> 604</span> {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()))</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <a class="code" href="classSVF_1_1MRGenerator.html#
|
|
2547
|
-
<div class="ttc" id="
|
|
2546
|
+
<div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno"> 604</span> {</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">isHeapAllocExtCall</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>()))</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  {</div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <a class="code" href="classSVF_1_1MRGenerator.html#a8717adf4520e0702274c5f013776be52">SVFStmtList</a>& pagEdgeList = <a class="code" href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">getPAGEdgesFromInst</a>(cs-><a class="code" href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">getCallSite</a>());</div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  <span class="keywordflow">for</span> (SVFStmtList::const_iterator bit = pagEdgeList.begin(),</div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  ebit = pagEdgeList.end(); bit != ebit; ++bit)</div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">PAGEdge</a>* edge = *bit;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1AddrStmt.html">AddrStmt</a>* addr = SVFUtil::dyn_cast<AddrStmt>(edge))</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  mod.set(addr->getSrcID());</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  }</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  }</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  {</div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  mod = <a class="code" href="classSVF_1_1MRGenerator.html#a7d47fbc3dbe8fd19ca5e4210bdecf914">getModSideEffectOfFunction</a>(callee);</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  ref = <a class="code" href="classSVF_1_1MRGenerator.html#ac0007c8808654ca74feef0d8568378b9">getRefSideEffectOfFunction</a>(callee);</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  }</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="comment">// add ref set</span></div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordtype">bool</span> refchanged = <a class="code" href="classSVF_1_1MRGenerator.html#a4e02c3aee7eb0206f6d643b72e39d059">addRefSideEffectOfCallSite</a>(cs, ref);</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="comment">// add mod set</span></div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  <span class="keywordtype">bool</span> modchanged = <a class="code" href="classSVF_1_1MRGenerator.html#a8b00b46136ce2586b5f94248d0826a94">addModSideEffectOfCallSite</a>(cs, mod);</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keywordflow">return</span> refchanged || modchanged;</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span> }</div><div class="ttc" id="classSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00197">SVFStatements.h:197</a></div></div>
|
|
2547
|
+
<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#l00389">MemRegion.h:389</a></div></div>
|
|
2548
|
+
<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#l00172">MemRegion.h:172</a></div></div>
|
|
2549
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_acc78a116ca0be01a359d1313b2ae603c"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#acc78a116ca0be01a359d1313b2ae603c">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">SVFStmtList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
2548
2550
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a4e02c3aee7eb0206f6d643b72e39d059"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a4e02c3aee7eb0206f6d643b72e39d059">SVF::MRGenerator::addRefSideEffectOfCallSite</a></div><div class="ttdeci">bool addRefSideEffectOfCallSite(const CallBlockNode *cs, const NodeBS &refs)</div><div class="ttdoc">Add indirect uses an memory object in the function. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00431">MemRegion.cpp:431</a></div></div>
|
|
2549
2551
|
<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#l00384">MemRegion.h:384</a></div></div>
|
|
2550
2552
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a93ac673b885633849fa484938405ca75"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a93ac673b885633849fa484938405ca75">SVF::SVFUtil::isHeapAllocExtCall</a></div><div class="ttdeci">bool isHeapAllocExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00115">LLVMUtil.h:115</a></div></div>
|
|
2551
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_a820e30118868947b62f0a558da5512fc"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a820e30118868947b62f0a558da5512fc">SVF::MRGenerator::getPAGEdgesFromInst</a></div><div class="ttdeci">PAGEdgeList & getPAGEdgesFromInst(const Instruction *inst)</div><div class="ttdoc">Given an instruction, get all its the PAGEdge (statement) in sequence. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00160">MemRegion.cpp:160</a></div></div>
|
|
2552
2553
|
<div class="ttc" id="classSVF_1_1CallBlockNode_html_ad3d50024efcfa94b1246c982b43aff2f"><div class="ttname"><a href="classSVF_1_1CallBlockNode.html#ad3d50024efcfa94b1246c982b43aff2f">SVF::CallBlockNode::getCallSite</a></div><div class="ttdeci">const Instruction * getCallSite() const</div><div class="ttdoc">Return callsite. </div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00381">ICFGNode.h:381</a></div></div>
|
|
2553
|
-
<div class="ttc" id="classSVF_1_1AddrPE_html"><div class="ttname"><a href="classSVF_1_1AddrPE.html">SVF::AddrPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00196">SVFStatements.h:196</a></div></div>
|
|
2554
2554
|
<div class="ttc" id="classSVF_1_1MRGenerator_html_a8b00b46136ce2586b5f94248d0826a94"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#a8b00b46136ce2586b5f94248d0826a94">SVF::MRGenerator::addModSideEffectOfCallSite</a></div><div class="ttdeci">bool addModSideEffectOfCallSite(const CallBlockNode *cs, const NodeBS &mods)</div><div class="ttdoc">Add indirect def an memory object in the function. </div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8cpp_source.html#l00447">MemRegion.cpp:447</a></div></div>
|
|
2555
2555
|
<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>
|
|
2556
2556
|
</div><!-- fragment -->
|
|
@@ -2645,36 +2645,6 @@ Private Attributes</h2></td></tr>
|
|
|
2645
2645
|
</div><!-- fragment -->
|
|
2646
2646
|
</div>
|
|
2647
2647
|
</div>
|
|
2648
|
-
<a id="a8832a53d8f6a5eb0a07551ca19c5513d"></a>
|
|
2649
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a8832a53d8f6a5eb0a07551ca19c5513d">◆ </a></span>hasPAGEdgeList()</h2>
|
|
2650
|
-
|
|
2651
|
-
<div class="memitem">
|
|
2652
|
-
<div class="memproto">
|
|
2653
|
-
<table class="memname">
|
|
2654
|
-
<tr>
|
|
2655
|
-
<td class="memname">bool MRGenerator::hasPAGEdgeList </td>
|
|
2656
|
-
<td>(</td>
|
|
2657
|
-
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
2658
|
-
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
2659
|
-
<td></td>
|
|
2660
|
-
</tr>
|
|
2661
|
-
</table>
|
|
2662
|
-
</div><div class="memdoc">
|
|
2663
|
-
|
|
2664
|
-
<p>Whether this instruction has <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge. </p>
|
|
2665
|
-
|
|
2666
|
-
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00151">151</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
2667
|
-
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3">ptrOnlyMSSA</a>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a90f8da69c50f9aa82366ca9b88eb5027">hasPTAPAGEdgeList</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst));</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#ade4dc34350ab7d5e05295dfdd5d019c6">hasPAGEdgeList</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div><div class="ttc" id="classSVF_1_1SVFIR_html_a90f8da69c50f9aa82366ca9b88eb5027"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a90f8da69c50f9aa82366ca9b88eb5027">SVF::SVFIR::hasPTAPAGEdgeList</a></div><div class="ttdeci">bool hasPTAPAGEdgeList(const ICFGNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00177">SVFIR.h:177</a></div></div>
|
|
2668
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
|
|
2669
|
-
<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#l00196">MemRegion.h:196</a></div></div>
|
|
2670
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_ade4dc34350ab7d5e05295dfdd5d019c6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ade4dc34350ab7d5e05295dfdd5d019c6">SVF::SVFIR::hasPAGEdgeList</a></div><div class="ttdeci">bool hasPAGEdgeList(const ICFGNode *inst) const</div><div class="ttdoc">Whether this instruction has SVFIR Edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00173">SVFIR.h:173</a></div></div>
|
|
2671
|
-
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
2672
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
2673
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00133">SVFIR.h:133</a></div></div>
|
|
2674
|
-
<div class="ttc" id="classSVF_1_1ICFG_html_ab7b0b3088b46ad65451905cc4f567a7b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">SVF::ICFG::getBlockICFGNode</a></div><div class="ttdeci">ICFGNode * getBlockICFGNode(const Instruction *inst)</div><div class="ttdoc">Get a basic block ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00181">ICFG.cpp:181</a></div></div>
|
|
2675
|
-
</div><!-- fragment -->
|
|
2676
|
-
</div>
|
|
2677
|
-
</div>
|
|
2678
2648
|
<a id="aeed8bcf54d2a72c640e464e256249630"></a>
|
|
2679
2649
|
<h2 class="memtitle"><span class="permalink"><a href="#aeed8bcf54d2a72c640e464e256249630">◆ </a></span>hasRefMRSet()</h2>
|
|
2680
2650
|
|
|
@@ -2735,6 +2705,36 @@ Private Attributes</h2></td></tr>
|
|
|
2735
2705
|
</div><!-- fragment -->
|
|
2736
2706
|
</div>
|
|
2737
2707
|
</div>
|
|
2708
|
+
<a id="a6f631290f3da7c308395eb6a9472d7a5"></a>
|
|
2709
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a6f631290f3da7c308395eb6a9472d7a5">◆ </a></span>hasSVFStmtList()</h2>
|
|
2710
|
+
|
|
2711
|
+
<div class="memitem">
|
|
2712
|
+
<div class="memproto">
|
|
2713
|
+
<table class="memname">
|
|
2714
|
+
<tr>
|
|
2715
|
+
<td class="memname">bool MRGenerator::hasSVFStmtList </td>
|
|
2716
|
+
<td>(</td>
|
|
2717
|
+
<td class="paramtype">const <a class="el" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> * </td>
|
|
2718
|
+
<td class="paramname"><em>inst</em></td><td>)</td>
|
|
2719
|
+
<td></td>
|
|
2720
|
+
</tr>
|
|
2721
|
+
</table>
|
|
2722
|
+
</div><div class="memdoc">
|
|
2723
|
+
|
|
2724
|
+
<p>Whether this instruction has <a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> Edge. </p>
|
|
2725
|
+
|
|
2726
|
+
<p class="definition">Definition at line <a class="el" href="MemRegion_8cpp_source.html#l00151">151</a> of file <a class="el" href="MemRegion_8cpp_source.html">MemRegion.cpp</a>.</p>
|
|
2727
|
+
<div class="fragment"><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> {</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1MRGenerator.html#a6a62d2dede5d2506c19b2d058d1cd9d3">ptrOnlyMSSA</a>)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a0552d565633ee22abe03085134a871c0">hasPTASVFStmtList</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst));</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">return</span> pag-><a class="code" href="classSVF_1_1SVFIR.html#a63acb4d86d93ad1e88860ac839a8c654">hasSVFStmtList</a>(pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">getBlockICFGNode</a>(inst));</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> }</div><div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00205">PointerAnalysis.h:205</a></div></div>
|
|
2728
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a63acb4d86d93ad1e88860ac839a8c654"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a63acb4d86d93ad1e88860ac839a8c654">SVF::SVFIR::hasSVFStmtList</a></div><div class="ttdeci">bool hasSVFStmtList(const ICFGNode *inst) const</div><div class="ttdoc">Whether this instruction has SVFIR Edge. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00172">SVFIR.h:172</a></div></div>
|
|
2729
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a0552d565633ee22abe03085134a871c0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a0552d565633ee22abe03085134a871c0">SVF::SVFIR::hasPTASVFStmtList</a></div><div class="ttdeci">bool hasPTASVFStmtList(const ICFGNode *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00176">SVFIR.h:176</a></div></div>
|
|
2730
|
+
<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#l00196">MemRegion.h:196</a></div></div>
|
|
2731
|
+
<div class="ttc" id="classSVF_1_1MRGenerator_html_afb7ce3a24edda14895999eb15231daff"><div class="ttname"><a href="classSVF_1_1MRGenerator.html#afb7ce3a24edda14895999eb15231daff">SVF::MRGenerator::pta</a></div><div class="ttdeci">BVDataPTAImpl * pta</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00193">MemRegion.h:193</a></div></div>
|
|
2732
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
2733
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdoc">Return ICFG. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00132">SVFIR.h:132</a></div></div>
|
|
2734
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_ab7b0b3088b46ad65451905cc4f567a7b"><div class="ttname"><a href="classSVF_1_1ICFG.html#ab7b0b3088b46ad65451905cc4f567a7b">SVF::ICFG::getBlockICFGNode</a></div><div class="ttdeci">ICFGNode * getBlockICFGNode(const Instruction *inst)</div><div class="ttdoc">Get a basic block ICFGNode. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00181">ICFG.cpp:181</a></div></div>
|
|
2735
|
+
</div><!-- fragment -->
|
|
2736
|
+
</div>
|
|
2737
|
+
</div>
|
|
2738
2738
|
<a id="a28130cc55ab317d383ba6593f323b12a"></a>
|
|
2739
2739
|
<h2 class="memtitle"><span class="permalink"><a href="#a28130cc55ab317d383ba6593f323b12a">◆ </a></span>isAliasedMR()</h2>
|
|
2740
2740
|
|
|
@@ -2830,7 +2830,7 @@ Private Attributes</h2></td></tr>
|
|
|
2830
2830
|
<div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00445">SymbolTableInfo.h:445</a></div></div>
|
|
2831
2831
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a5d699af73b1e7ad4e3a5f6d26b8b6d15"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a5d699af73b1e7ad4e3a5f6d26b8b6d15">SVF::SCCDetection::isInCycle</a></div><div class="ttdeci">bool isInCycle(NodeID n) const</div><div class="ttdoc">whether the node is in a cycle </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00149">SCC.h:149</a></div></div>
|
|
2832
2832
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a547b3bc62de65b9dbfc6dee55c063dd7"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00112">LLVMModule.h:112</a></div></div>
|
|
2833
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
2833
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00357">SVFIR.h:357</a></div></div>
|
|
2834
2834
|
</div><!-- fragment -->
|
|
2835
2835
|
</div>
|
|
2836
2836
|
</div>
|
|
@@ -3457,7 +3457,7 @@ Private Attributes</h2></td></tr>
|
|
|
3457
3457
|
<td class="mlabels-left">
|
|
3458
3458
|
<table class="memname">
|
|
3459
3459
|
<tr>
|
|
3460
|
-
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
3460
|
+
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a273b2634adcfa10a08924517e8d51175">LoadsToMRsMap</a> SVF::MRGenerator::loadsToMRsMap</td>
|
|
3461
3461
|
</tr>
|
|
3462
3462
|
</table>
|
|
3463
3463
|
</td>
|
|
@@ -3483,7 +3483,7 @@ Private Attributes</h2></td></tr>
|
|
|
3483
3483
|
<td class="mlabels-left">
|
|
3484
3484
|
<table class="memname">
|
|
3485
3485
|
<tr>
|
|
3486
|
-
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
3486
|
+
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#acfadd565b5c978c9417e059b3ea7588c">LoadsToPointsToMap</a> SVF::MRGenerator::loadsToPointsToMap</td>
|
|
3487
3487
|
</tr>
|
|
3488
3488
|
</table>
|
|
3489
3489
|
</td>
|
|
@@ -3609,7 +3609,7 @@ Private Attributes</h2></td></tr>
|
|
|
3609
3609
|
<td class="mlabels-left">
|
|
3610
3610
|
<table class="memname">
|
|
3611
3611
|
<tr>
|
|
3612
|
-
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
3612
|
+
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#afacb458ca832ef459e873b7d90134a8c">StoresToMRsMap</a> SVF::MRGenerator::storesToMRsMap</td>
|
|
3613
3613
|
</tr>
|
|
3614
3614
|
</table>
|
|
3615
3615
|
</td>
|
|
@@ -3635,7 +3635,7 @@ Private Attributes</h2></td></tr>
|
|
|
3635
3635
|
<td class="mlabels-left">
|
|
3636
3636
|
<table class="memname">
|
|
3637
3637
|
<tr>
|
|
3638
|
-
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#
|
|
3638
|
+
<td class="memname"><a class="el" href="classSVF_1_1MRGenerator.html#a357e1654e30b2f91f6ea30ea5a52e91d">StoresToPointsToMap</a> SVF::MRGenerator::storesToPointsToMap</td>
|
|
3639
3639
|
</tr>
|
|
3640
3640
|
</table>
|
|
3641
3641
|
</td>
|