svf-tools 1.0.351 → 1.0.352
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGEdge_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 +44 -45
- package/SVF-doxygen/html/html/ConsG_8h_source.html +21 -21
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +10 -8
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +4 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +24 -22
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +17 -17
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +15 -14
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +11 -11
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +3 -4
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +19 -21
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +38 -40
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +35 -37
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +21 -23
- package/SVF-doxygen/html/html/SVFStatements_8h.html +0 -4
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +146 -156
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +98 -98
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +13 -13
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +50 -51
- package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +100 -102
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +17 -18
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt-members.html +28 -29
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +25 -30
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +28 -29
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +23 -24
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +31 -32
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +38 -39
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +27 -28
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +30 -31
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +95 -96
- 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.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +17 -18
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +56 -55
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +21 -20
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +16 -14
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +139 -50
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +7 -8
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +27 -28
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +17 -18
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +33 -34
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +32 -33
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +5 -6
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +30 -31
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +23 -24
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +27 -28
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +77 -78
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +49 -53
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +24 -25
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +18 -19
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -19
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +26 -27
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -19
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +29 -30
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +30 -31
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +79 -80
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/html/classes.html +95 -93
- package/SVF-doxygen/html/html/functions_a.html +5 -5
- package/SVF-doxygen/html/html/functions_c.html +22 -22
- package/SVF-doxygen/html/html/functions_eval_g.html +2 -1
- package/SVF-doxygen/html/html/functions_eval_n.html +0 -1
- package/SVF-doxygen/html/html/functions_eval_v.html +0 -1
- package/SVF-doxygen/html/html/functions_func.html +5 -5
- package/SVF-doxygen/html/html/functions_func_c.html +20 -22
- package/SVF-doxygen/html/html/functions_func_g.html +13 -13
- package/SVF-doxygen/html/html/functions_func_i.html +7 -4
- package/SVF-doxygen/html/html/functions_func_n.html +0 -3
- package/SVF-doxygen/html/html/functions_func_o.html +3 -5
- package/SVF-doxygen/html/html/functions_func_t.html +0 -2
- package/SVF-doxygen/html/html/functions_func_v.html +0 -3
- package/SVF-doxygen/html/html/functions_g.html +17 -16
- package/SVF-doxygen/html/html/functions_i.html +9 -6
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_n.html +0 -4
- package/SVF-doxygen/html/html/functions_o.html +3 -5
- package/SVF-doxygen/html/html/functions_p.html +10 -10
- package/SVF-doxygen/html/html/functions_r.html +8 -4
- package/SVF-doxygen/html/html/functions_s.html +12 -10
- package/SVF-doxygen/html/html/functions_t.html +7 -9
- package/SVF-doxygen/html/html/functions_v.html +4 -5
- package/SVF-doxygen/html/html/functions_vars_v.html +3 -0
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/hierarchy.html +55 -57
- package/SVF-doxygen/html/html/namespaceSVF.html +0 -4
- package/SVF-doxygen/html/html/search/all_1.js +5 -5
- package/SVF-doxygen/html/html/search/all_10.js +8 -8
- package/SVF-doxygen/html/html/search/all_12.js +2 -2
- package/SVF-doxygen/html/html/search/all_13.js +9 -9
- package/SVF-doxygen/html/html/search/all_14.js +5 -5
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +3 -3
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +4 -4
- package/SVF-doxygen/html/html/search/all_9.js +2 -1
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +3 -3
- package/SVF-doxygen/html/html/search/all_e.js +3 -4
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/classes_12.js +0 -1
- package/SVF-doxygen/html/html/search/classes_b.js +0 -1
- package/SVF-doxygen/html/html/search/enumvalues_12.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_6.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_b.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +5 -5
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +0 -1
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +3 -3
- package/SVF-doxygen/html/html/search/functions_8.js +2 -1
- package/SVF-doxygen/html/html/search/functions_c.js +0 -1
- package/SVF-doxygen/html/html/search/functions_d.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +1 -0
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +18 -18
- package/include/Graphs/ConsG.h +2 -2
- package/include/Graphs/ConsGEdge.h +1 -1
- package/include/Graphs/VFG.h +2 -2
- package/include/MemoryModel/SVFIR.h +2 -2
- package/include/MemoryModel/SVFStatements.h +17 -94
- package/include/MemoryModel/SVFVariables.h +9 -6
- package/include/SVF-FE/DCHG.h +1 -1
- package/include/SVF-FE/SVFIRBuilder.h +5 -5
- package/include/Util/IRAnnotator.h +1 -1
- package/lib/DDA/ContextDDA.cpp +4 -5
- package/lib/DDA/DDAClient.cpp +6 -6
- package/lib/DDA/DDAStat.cpp +1 -1
- package/lib/DDA/FlowDDA.cpp +4 -5
- package/lib/Graphs/ConsG.cpp +26 -31
- package/lib/Graphs/SVFG.cpp +2 -2
- package/lib/Graphs/VFG.cpp +36 -43
- package/lib/MTA/MTAAnnotator.cpp +3 -3
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +1 -1
- package/lib/MemoryModel/SVFIR.cpp +26 -34
- package/lib/MemoryModel/SVFStatements.cpp +0 -22
- package/lib/MemoryModel/SVFVariables.cpp +1 -1
- package/lib/MemoryModel/SymbolTableInfo.cpp +1 -1
- package/lib/SVF-FE/DCHG.cpp +1 -1
- package/lib/SVF-FE/Graph2Json.cpp +24 -27
- package/lib/Util/PTAStat.cpp +9 -9
- package/lib/Util/TypeBasedHeapCloning.cpp +5 -5
- package/lib/WPA/AndersenSFR.cpp +2 -2
- package/lib/WPA/AndersenStat.cpp +2 -2
- package/lib/WPA/CSC.cpp +2 -2
- package/lib/WPA/FlowSensitive.cpp +4 -7
- package/lib/WPA/FlowSensitiveStat.cpp +2 -2
- package/lib/WPA/FlowSensitiveTBHC.cpp +6 -9
- package/package.json +1 -1
|
@@ -343,8 +343,9 @@ Private Attributes</h2></td></tr>
|
|
|
343
343
|
</div><div class="memdoc">
|
|
344
344
|
|
|
345
345
|
<p class="definition">Definition at line <a class="el" href="CSC_8cpp_source.html#l00076">76</a> of file <a class="el" href="CSC_8cpp_source.html">CSC.cpp</a>.</p>
|
|
346
|
-
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// pwcReps[nodeId] = _scc->repNode(nodeId);</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="classSVF_1_1CSC.html#adac02224ec722f0cf1954d7a484bd11e">setVisited</a>(nodeId);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a> += _w;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] = <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(nodeId);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> eit = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a6a2021d0d494e7d47469e4161280a098">directOutEdgeBegin</a>(); eit != node-><a class="code" href="classSVF_1_1ConstraintNode.html#a7bf8a1955d6f19b8d0ae5bdeb9a0897f">directOutEdgeEnd</a>(); ++eit)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offset;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gepCGEdge = SVFUtil::dyn_cast<NormalGepCGEdge>(*eit))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  offset = gepCGEdge->getFieldOffset();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  offset = 0;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = (*eit)->getDstID();</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(nodeId) == <a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(dstId) && !<a class="code" href="classSVF_1_1CSC.html#a2913a7a83deae0b91f1f42dc45c4f3b2">isVisited</a>(dstId))</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classSVF_1_1CSC.html#a2e595f5584ac62cddb45b70d8865f100">visit</a>(dstId, offset);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> _revS;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> _C;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.empty())</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backNodeId = <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.top();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  _revS.push(backNodeId);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* backNode = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(backNodeId);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* normalGep = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>>(<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a04a57ef9803917346cb966e05ecd0de4">getEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _w = normalGep-><a class="code" href="classSVF_1_1NormalGepCGEdge.html#a360460e0df7d804b3b19a45c1f043de9">getFieldOffset</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] +_w - <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[backNodeId];</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  backNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>) ||</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a>))</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>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = _D[nodeId] - _D[backNodeId];</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  backNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  _C.insert(backNodeId);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">while</span> (!_revS.empty())</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backedId = _revS.top();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(backedId);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  _revS.pop();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop(); <span class="comment">// after checking all the edges of the top node of _S, remove the node</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html_a5f57823a4918f6c6bfee9c18beddda51"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">SVF::ConstraintGraph::hasEdge</a></div><div class="ttdeci">bool hasEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00128">ConsG.h:128</a></div></div>
|
|
346
|
+
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// pwcReps[nodeId] = _scc->repNode(nodeId);</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="classSVF_1_1CSC.html#adac02224ec722f0cf1954d7a484bd11e">setVisited</a>(nodeId);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a> += _w;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] = <a class="code" href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">_I</a>;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(nodeId);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* node = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(nodeId);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">ConstraintNode::const_iterator</a> eit = node-><a class="code" href="classSVF_1_1ConstraintNode.html#a6a2021d0d494e7d47469e4161280a098">directOutEdgeBegin</a>(); eit != node-><a class="code" href="classSVF_1_1ConstraintNode.html#a7bf8a1955d6f19b8d0ae5bdeb9a0897f">directOutEdgeEnd</a>(); ++eit)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offset;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* gepCGEdge = SVFUtil::dyn_cast<NormalGepCGEdge>(*eit))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  offset = gepCGEdge->getConstantFieldIdx();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  offset = 0;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> dstId = (*eit)->getDstID();</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(nodeId) == <a class="code" href="classSVF_1_1CSC.html#ad6639daea8a19a920c88af332a420d00">_scc</a>-><a class="code" href="classSVF_1_1SCCDetection.html#a3a5fdc9330a657240f77199f5aee602d">repNode</a>(dstId) && !<a class="code" href="classSVF_1_1CSC.html#a2913a7a83deae0b91f1f42dc45c4f3b2">isVisited</a>(dstId))</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classSVF_1_1CSC.html#a2e595f5584ac62cddb45b70d8865f100">visit</a>(dstId, offset);</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="namespaceSVF.html#a1811127aebdb9c926e39d155e20b3dc0">NodeStack</a> _revS;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <a class="code" href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">NodeSet</a> _C;</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keywordflow">while</span> (!<a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.empty())</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backNodeId = <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.top();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop();</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  _revS.push(backNodeId);</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="classSVF_1_1ConstraintNode.html">ConstraintNode</a>* backNode = <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(backNodeId);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>* normalGep = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="classSVF_1_1NormalGepCGEdge.html">NormalGepCGEdge</a>>(<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a04a57ef9803917346cb966e05ecd0de4">getEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375acfd0a194af0da66162545f0089eb4baa">ConstraintEdge::NormalGep</a>));</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _w = normalGep-><a class="code" href="classSVF_1_1NormalGepCGEdge.html#a710e0791e92cca74da3df03ad5278c55">getConstantFieldIdx</a>();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[nodeId] +_w - <a class="code" href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">_D</a>[backNodeId];</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  backNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">ConstraintEdge::VariantGep</a>) ||</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">hasEdge</a>(node, backNode, <a class="code" href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375a29b0aa3353f866ef1655ab6d4716feb9">ConstraintEdge::Copy</a>))</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>  <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> _l = _D[nodeId] - _D[backNodeId];</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  backNode-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> cNodeId : _C)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="classSVF_1_1CSC.html#a549a0a410b1ca9eeb22c05dd93761560">_consG</a>-><a class="code" href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">getConstraintNode</a>(cNodeId)-><a class="code" href="classSVF_1_1ConstraintNode.html#a873ba0c14dc57bd603c4a6b4d73e4278">strides</a>.set(_l);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  _C.insert(backNodeId);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">while</span> (!_revS.empty())</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> backedId = _revS.top();</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.push(backedId);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  _revS.pop();</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="code" href="classSVF_1_1CSC.html#a44dbda27203499770ed1315366218c51">_S</a>.pop(); <span class="comment">// after checking all the edges of the top node of _S, remove the node</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> }</div><div class="ttc" id="classSVF_1_1ConstraintGraph_html_a5f57823a4918f6c6bfee9c18beddda51"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5f57823a4918f6c6bfee9c18beddda51">SVF::ConstraintGraph::hasEdge</a></div><div class="ttdeci">bool hasEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00128">ConsG.h:128</a></div></div>
|
|
347
347
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a04a57ef9803917346cb966e05ecd0de4"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a04a57ef9803917346cb966e05ecd0de4">SVF::ConstraintGraph::getEdge</a></div><div class="ttdeci">ConstraintEdge * getEdge(ConstraintNode *src, ConstraintNode *dst, ConstraintEdge::ConstraintEdgeK kind)</div><div class="ttdoc">Get an edge via its src and dst nodes and kind. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00146">ConsG.h:146</a></div></div>
|
|
348
|
+
<div class="ttc" id="classSVF_1_1NormalGepCGEdge_html_a710e0791e92cca74da3df03ad5278c55"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html#a710e0791e92cca74da3df03ad5278c55">SVF::NormalGepCGEdge::getConstantFieldIdx</a></div><div class="ttdeci">s64_t getConstantFieldIdx() const</div><div class="ttdoc">Get location set of the gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00307">ConsGEdge.h:307</a></div></div>
|
|
348
349
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375ae5df3ce07dd670b48916f7b8ab33ae5a">SVF::ConstraintEdge::VariantGep</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
349
350
|
<div class="ttc" id="namespaceSVF_html_a212231734fa43d5c7414137deaac7df3"><div class="ttname"><a href="namespaceSVF.html#a212231734fa43d5c7414137deaac7df3">SVF::NodeSet</a></div><div class="ttdeci">Set< NodeID > NodeSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00114">SVFBasicTypes.h:114</a></div></div>
|
|
350
351
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a26722666cc8f2fce61bed73f086a0e87"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a26722666cc8f2fce61bed73f086a0e87">SVF::ConstraintGraph::getConstraintNode</a></div><div class="ttdeci">ConstraintNode * getConstraintNode(NodeID id) const</div><div class="ttdoc">Get/add/remove constraint node. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00107">ConsG.h:107</a></div></div>
|
|
@@ -366,7 +367,6 @@ Private Attributes</h2></td></tr>
|
|
|
366
367
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a6a2021d0d494e7d47469e4161280a098"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a6a2021d0d494e7d47469e4161280a098">SVF::ConstraintNode::directOutEdgeBegin</a></div><div class="ttdeci">iterator directOutEdgeBegin()</div><div class="ttdoc">Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00168">ConsGNode.h:168</a></div></div>
|
|
367
368
|
<div class="ttc" id="classSVF_1_1CSC_html_a2913a7a83deae0b91f1f42dc45c4f3b2"><div class="ttname"><a href="classSVF_1_1CSC.html#a2913a7a83deae0b91f1f42dc45c4f3b2">SVF::CSC::isVisited</a></div><div class="ttdeci">bool isVisited(NodeID nId)</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00075">CSC.h:75</a></div></div>
|
|
368
369
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
369
|
-
<div class="ttc" id="classSVF_1_1NormalGepCGEdge_html_a360460e0df7d804b3b19a45c1f043de9"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html#a360460e0df7d804b3b19a45c1f043de9">SVF::NormalGepCGEdge::getFieldOffset</a></div><div class="ttdeci">s64_t getFieldOffset() const</div><div class="ttdoc">Get location set of the gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00307">ConsGEdge.h:307</a></div></div>
|
|
370
370
|
<div class="ttc" id="classSVF_1_1CSC_html_af58e474ee7605663fd04fce58dc029d1"><div class="ttname"><a href="classSVF_1_1CSC.html#af58e474ee7605663fd04fce58dc029d1">SVF::CSC::_I</a></div><div class="ttdeci">NodeID _I</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00060">CSC.h:60</a></div></div>
|
|
371
371
|
<div class="ttc" id="classSVF_1_1CSC_html_a0eaf3a742fb8003b031528ee7c1c4799"><div class="ttname"><a href="classSVF_1_1CSC.html#a0eaf3a742fb8003b031528ee7c1c4799">SVF::CSC::_D</a></div><div class="ttdeci">IdToIdMap _D</div><div class="ttdef"><b>Definition:</b> <a href="CSC_8h_source.html#l00061">CSC.h:61</a></div></div>
|
|
372
372
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html_a7bf8a1955d6f19b8d0ae5bdeb9a0897f"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a7bf8a1955d6f19b8d0ae5bdeb9a0897f">SVF::ConstraintNode::directOutEdgeEnd</a></div><div class="ttdeci">iterator directOutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00176">ConsGNode.h:176</a></div></div>
|
|
@@ -89,31 +89,31 @@ $(function() {
|
|
|
89
89
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
90
90
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
91
91
|
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a6764973569c281d483afab17a75cb4dc">GenericEdge</a>(NodeTy *s, NodeTy *d, GEdgeFlag k)</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
92
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
93
|
-
<tr><td class="entry"><a class="el" href="
|
|
94
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#
|
|
95
|
-
<tr><td class="entry"><a class="el" href="
|
|
96
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
97
|
-
<tr><td class="entry"><a class="el" href="
|
|
98
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
99
|
-
<tr><td class="entry"><a class="el" href="
|
|
100
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
101
|
-
<tr><td class="entry"><a class="el" href="
|
|
102
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#
|
|
103
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#
|
|
104
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#
|
|
105
|
-
<tr><td class="entry"><a class="el" href="
|
|
106
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#
|
|
107
|
-
<tr><td class="entry"><a class="el" href="
|
|
108
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
109
|
-
<tr><td class="entry"><a class="el" href="
|
|
110
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
111
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
112
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
113
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
114
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#
|
|
115
|
-
<tr><td class="entry"><a class="el" href="
|
|
116
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
92
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
|
|
93
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a793c53e0b4f9a58099c096f0a0856495">getBB</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
94
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#aa50cca8bd91ffb135a7998b58ad7966f">getCallInst</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
95
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#ab548c22dfbfeeaeb8ffe83417b396c09">getCallSite</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
96
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::SVFStmt::getDstID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
97
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::SVFStmt::getDstNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
98
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af7bb0d687fc61cae1de639c88e472491">getEdgeID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
99
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
100
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aa809a57c8cdaaa35dfc3cc0f3b33b52b">getICFGNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
101
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a86628ea173dec4934322f5d1caf2e1db">getInst</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
102
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a973a2b79da223275ed6a1831837b89c7">getLHSVar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
103
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
104
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#ad03d28d16754c9049dd4d0ad3b6c1e28">getRHSVar</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
105
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1AssignStmt.html">SVF::AssignStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
106
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::SVFStmt::getSrcID</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
107
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">SVF::SVFStmt::getSrcNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
108
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
109
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a></td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
110
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0b6c03af568b70903da6b200ac86c951">isPTAEdge</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
|
|
111
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a93fc6c4c991931c78c48500c2db50f66">KindToSVFStmtMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
|
|
112
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">Load</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
|
|
113
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a3b20523aed66ac8943d7d00ff777137b">makeEdgeFlagWithAddionalOpnd</a>(GEdgeKind k, const SVFVar *var)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
114
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(GEdgeKind k, const ICFGNode *cs)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
115
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a>(GEdgeKind k, const ICFGNode *store)</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
|
|
116
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#aff95460d4b859e657a9198b7c5e5c736">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"></td></tr>
|
|
117
117
|
<tr><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#a9ea8ddb83c64889c3baa128b72ff7207">operator=</a>(const CallPE &)</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
|
118
118
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a0e461644bf9a4e50099b38f09222e858">operator==</a>(const GenericEdge< NodeType > *rhs) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
119
119
|
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a2bdfa37167b5496629e5cae62705d5f2">PAGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
|
|
@@ -132,9 +132,8 @@ $(function() {
|
|
|
132
132
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1CallPE.html#aecdf349bde9547dae7eb88c6cfd34bab">toString</a>() const override</td><td class="entry"><a class="el" href="classSVF_1_1CallPE.html">SVF::CallPE</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
133
133
|
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#af1a9c2a18805560e46425bd98a35dea9">totalEdgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
|
|
134
134
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a> enum value</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"></td></tr>
|
|
135
|
-
<tr><td class="entry"><a class="el" href="
|
|
136
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
137
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
135
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html#a548daea0cac6491de91d4840b7297741">~GenericEdge</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericEdge.html">SVF::GenericEdge< NodeTy ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
136
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html#aac79c7e8d390f297002782afb0ba3ff0">~SVFStmt</a>()</td><td class="entry"><a class="el" href="classSVF_1_1SVFStmt.html">SVF::SVFStmt</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
138
137
|
</table></div><!-- contents -->
|
|
139
138
|
<!-- start footer part -->
|
|
140
139
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -219,16 +219,15 @@ Additional Inherited Members</h2></td></tr>
|
|
|
219
219
|
<br />
|
|
220
220
|
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">Call</a>,
|
|
221
221
|
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a8d269a45adf13e69468f0357222ab2af">Ret</a>,
|
|
222
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#
|
|
223
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#
|
|
222
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a20d960c19118d1ed319e0dbea94405e8">Gep</a>,
|
|
223
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a6b3cd98eeb47c8475e7ee64480dcdee9">Phi</a>,
|
|
224
224
|
<br />
|
|
225
|
-
  <a class="el" href="classSVF_1_1SVFStmt.html#
|
|
226
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
|
|
225
|
+
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a610d6662d1814cffbf23db29e7e620c0">Cmp</a>,
|
|
227
226
|
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad58f5e59c55e1ffd23b83d16224fed13">BinaryOp</a>,
|
|
228
227
|
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad2a5e6fe0f2b5fefb53abb9e91c57688">UnaryOp</a>,
|
|
228
|
+
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9ad52703e3ec09b6a4f565e5d82279b6a3">Branch</a>,
|
|
229
229
|
<br />
|
|
230
|
-
  <a class="el" href="classSVF_1_1SVFStmt.html#
|
|
231
|
-
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
|
|
230
|
+
  <a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">ThreadFork</a>,
|
|
232
231
|
<a class="el" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a3c3f8883c2d3b50aef6331d5da97ffb0">ThreadJoin</a>
|
|
233
232
|
<br />
|
|
234
233
|
}</td></tr>
|
|
@@ -270,7 +269,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
270
269
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
271
270
|
<div class="textblock"><p>Call </p>
|
|
272
271
|
|
|
273
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
272
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00465">465</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
274
273
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
275
274
|
<a id="a5e6271f5697a32b57efeccfedc61e331"></a>
|
|
276
275
|
<h2 class="memtitle"><span class="permalink"><a href="#a5e6271f5697a32b57efeccfedc61e331">◆ </a></span>CallPE() <span class="overload">[1/3]</span></h2>
|
|
@@ -375,10 +374,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
375
374
|
|
|
376
375
|
<p>constructor </p>
|
|
377
376
|
|
|
378
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
379
|
-
<div class="fragment"><div class="line"><a name="
|
|
377
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00493">493</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
378
|
+
<div class="fragment"><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  :</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <a class="code" href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">AssignStmt</a>(s,d,<a class="code" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a>(k,i)), <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>(i)</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a4513c6e66b46c36219ba6d7403f3eb00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">SVF::SVFStmt::makeEdgeFlagWithCallInst</a></div><div class="ttdeci">static GEdgeFlag makeEdgeFlagWithCallInst(GEdgeKind k, const ICFGNode *cs)</div><div class="ttdoc">Compute the unique edgeFlag value from edge kind and call site Instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00147">SVFStatements.h:147</a></div></div>
|
|
380
379
|
<div class="ttc" id="classSVF_1_1AssignStmt_html_abc65520cc2b9608c97374829eb475c57"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#abc65520cc2b9608c97374829eb475c57">SVF::AssignStmt::AssignStmt</a></div><div class="ttdeci">AssignStmt()</div><div class="ttdoc">place holder </div></div>
|
|
381
|
-
<div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
380
|
+
<div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00472">SVFStatements.h:472</a></div></div>
|
|
382
381
|
</div><!-- fragment -->
|
|
383
382
|
</div>
|
|
384
383
|
</div>
|
|
@@ -409,8 +408,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
409
408
|
|
|
410
409
|
<p>Methods for support type inquiry through isa, cast, and dyn_cast: </p>
|
|
411
410
|
|
|
412
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
413
|
-
<div class="fragment"><div class="line"><a name="
|
|
411
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00476">476</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
412
|
+
<div class="fragment"><div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  {</div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  }</div></div><!-- fragment -->
|
|
414
413
|
</div>
|
|
415
414
|
</div>
|
|
416
415
|
<a id="a188c51f3e378c451d34e90c96cca0cf5"></a>
|
|
@@ -437,8 +436,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
437
436
|
</table>
|
|
438
437
|
</div><div class="memdoc">
|
|
439
438
|
|
|
440
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
441
|
-
<div class="fragment"><div class="line"><a name="
|
|
439
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00480">480</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
440
|
+
<div class="fragment"><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  {</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a></div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  || edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
442
441
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
443
442
|
</div><!-- fragment -->
|
|
444
443
|
</div>
|
|
@@ -467,8 +466,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
467
466
|
</table>
|
|
468
467
|
</div><div class="memdoc">
|
|
469
468
|
|
|
470
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
471
|
-
<div class="fragment"><div class="line"><a name="
|
|
469
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00485">485</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
470
|
+
<div class="fragment"><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>  <span class="keywordflow">return</span> edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVFStmt::Call</a></div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  || edge->getEdgeKind() == <a class="code" href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVFStmt::ThreadFork</a>;</div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a97ca16eba4c5f92e16388f0cdbcfcc00">SVF::SVFStmt::Call</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
472
471
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a375b956af2119d7abca8f1995f7701fd">SVF::SVFStmt::ThreadFork</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
473
472
|
</div><!-- fragment -->
|
|
474
473
|
</div>
|
|
@@ -498,8 +497,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
498
497
|
|
|
499
498
|
<p>Get method for the call instruction. </p>
|
|
500
499
|
|
|
501
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
502
|
-
<div class="fragment"><div class="line"><a name="
|
|
500
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00500">500</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
501
|
+
<div class="fragment"><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  {</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>;</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  }</div><div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00472">SVFStatements.h:472</a></div></div>
|
|
503
502
|
</div><!-- fragment -->
|
|
504
503
|
</div>
|
|
505
504
|
</div>
|
|
@@ -526,8 +525,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
526
525
|
</table>
|
|
527
526
|
</div><div class="memdoc">
|
|
528
527
|
|
|
529
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
530
|
-
<div class="fragment"><div class="line"><a name="
|
|
528
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00504">504</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
529
|
+
<div class="fragment"><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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">inst</a>;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  }</div><div class="ttc" id="classSVF_1_1CallPE_html_a60e8280eb3e77e67e3dfa4dcee943edf"><div class="ttname"><a href="classSVF_1_1CallPE.html#a60e8280eb3e77e67e3dfa4dcee943edf">SVF::CallPE::inst</a></div><div class="ttdeci">const CallICFGNode * inst</div><div class="ttdoc">llvm instruction for this call </div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00472">SVFStatements.h:472</a></div></div>
|
|
531
530
|
</div><!-- fragment -->
|
|
532
531
|
</div>
|
|
533
532
|
</div>
|
|
@@ -586,11 +585,11 @@ Additional Inherited Members</h2></td></tr>
|
|
|
586
585
|
|
|
587
586
|
<p>Reimplemented in <a class="el" href="classSVF_1_1TDForkPE.html#aa385dc7e7e439cb4d8ee1524c8fbf9fe">SVF::TDForkPE</a>.</p>
|
|
588
587
|
|
|
589
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#
|
|
590
|
-
<div class="fragment"><div class="line"><a name="
|
|
591
|
-
<div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
588
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8cpp_source.html#l00189">189</a> of file <a class="el" href="SVFStatements_8cpp_source.html">SVFStatements.cpp</a>.</p>
|
|
589
|
+
<div class="fragment"><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  {</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  std::string str;</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  rawstr << <span class="stringliteral">"CallPE: [Var"</span> << <a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>() << <span class="stringliteral">" <-- Var"</span> << <a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>() << <span class="stringliteral">"]\t"</span>;</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">Options::ShowSVFIRValue</a>) {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  rawstr << <span class="stringliteral">"\n"</span>;</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  rawstr << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(<a class="code" href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">getValue</a>());</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="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> }</div><div class="ttc" id="classSVF_1_1SVFStmt_html_a65ee8b43a3a4999eb112a197d1a9f882"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a65ee8b43a3a4999eb112a197d1a9f882">SVF::SVFStmt::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00115">SVFStatements.h:115</a></div></div>
|
|
590
|
+
<div class="ttc" id="classSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00253">SVFStatements.h:253</a></div></div>
|
|
592
591
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
|
|
593
|
-
<div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
592
|
+
<div class="ttc" id="classSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00256">SVFStatements.h:256</a></div></div>
|
|
594
593
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00390">SVFUtil.cpp:390</a></div></div>
|
|
595
594
|
<div class="ttc" id="classSVF_1_1Options_html_a63c2ff1420867ea4ef0a94d28b3f0558"><div class="ttname"><a href="classSVF_1_1Options.html#a63c2ff1420867ea4ef0a94d28b3f0558">SVF::Options::ShowSVFIRValue</a></div><div class="ttdeci">static const llvm::cl::opt< bool > ShowSVFIRValue</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00134">Options.h:134</a></div></div>
|
|
596
595
|
</div><!-- fragment -->
|
|
@@ -619,7 +618,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
619
618
|
|
|
620
619
|
<p>llvm instruction for this call </p>
|
|
621
620
|
|
|
622
|
-
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#
|
|
621
|
+
<p class="definition">Definition at line <a class="el" href="SVFStatements_8h_source.html#l00472">472</a> of file <a class="el" href="SVFStatements_8h_source.html">SVFStatements.h</a>.</p>
|
|
623
622
|
|
|
624
623
|
</div>
|
|
625
624
|
</div>
|
|
@@ -317,7 +317,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
317
317
|
</table>
|
|
318
318
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
319
319
|
<div class="textblock">
|
|
320
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
320
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00764">764</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
321
321
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
322
322
|
<a id="a2f2a74296d76349d472a71c4ee069aa0"></a>
|
|
323
323
|
<h2 class="memtitle"><span class="permalink"><a href="#a2f2a74296d76349d472a71c4ee069aa0">◆ </a></span>CloneDummyObjVar()</h2>
|
|
@@ -361,8 +361,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
361
361
|
|
|
362
362
|
<p>Constructor. </p>
|
|
363
363
|
|
|
364
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
365
|
-
<div class="fragment"><div class="line"><a name="
|
|
364
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00783">783</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
365
|
+
<div class="fragment"><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  : <a class="code" href="classSVF_1_1DummyObjVar.html#a3dff74bbf50b6a901239d3fd31e0f36c">DummyObjVar</a>(i, m, ty)</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  {</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  }</div><div class="ttc" id="classSVF_1_1DummyObjVar_html_a3dff74bbf50b6a901239d3fd31e0f36c"><div class="ttname"><a href="classSVF_1_1DummyObjVar.html#a3dff74bbf50b6a901239d3fd31e0f36c">SVF::DummyObjVar::DummyObjVar</a></div><div class="ttdeci">DummyObjVar(NodeID i, const MemObj *m, PNODEK ty=DummyObjNode)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00747">SVFVariables.h:747</a></div></div>
|
|
366
366
|
</div><!-- fragment -->
|
|
367
367
|
</div>
|
|
368
368
|
</div>
|
|
@@ -391,8 +391,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
391
391
|
</table>
|
|
392
392
|
</div><div class="memdoc">
|
|
393
393
|
|
|
394
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
395
|
-
<div class="fragment"><div class="line"><a name="
|
|
394
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00768">768</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
395
|
+
<div class="fragment"><div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  {</div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  }</div></div><!-- fragment -->
|
|
396
396
|
</div>
|
|
397
397
|
</div>
|
|
398
398
|
<a id="a6eb2439f433fe48a338b09a6ab017f7c"></a>
|
|
@@ -419,8 +419,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
419
419
|
</table>
|
|
420
420
|
</div><div class="memdoc">
|
|
421
421
|
|
|
422
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
423
|
-
<div class="fragment"><div class="line"><a name="
|
|
422
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00772">772</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
423
|
+
<div class="fragment"><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  {</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keywordflow">return</span> node->getNodeKind() == <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">SVFVar::CloneDummyObjNode</a>;</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">SVF::SVFVar::CloneDummyObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00076">SVFVariables.h:76</a></div></div>
|
|
424
424
|
</div><!-- fragment -->
|
|
425
425
|
</div>
|
|
426
426
|
</div>
|
|
@@ -448,8 +448,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
448
448
|
</table>
|
|
449
449
|
</div><div class="memdoc">
|
|
450
450
|
|
|
451
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
452
|
-
<div class="fragment"><div class="line"><a name="
|
|
451
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00776">776</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
452
|
+
<div class="fragment"><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  {</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">return</span> node->getNodeKind() == <a class="code" href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">SVFVar::CloneDummyObjNode</a>;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  }</div><div class="ttc" id="classSVF_1_1SVFVar_html_a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a283f7c0c2eaae07c6865f73a0daafeffab85277a3daeecc24c99b3da86108e482">SVF::SVFVar::CloneDummyObjNode</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00076">SVFVariables.h:76</a></div></div>
|
|
453
453
|
</div><!-- fragment -->
|
|
454
454
|
</div>
|
|
455
455
|
</div>
|
|
@@ -480,8 +480,8 @@ Additional Inherited Members</h2></td></tr>
|
|
|
480
480
|
|
|
481
481
|
<p>Reimplemented from <a class="el" href="classSVF_1_1DummyObjVar.html#aec23bc498cf78ed065565681e14dd2dd">SVF::DummyObjVar</a>.</p>
|
|
482
482
|
|
|
483
|
-
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#
|
|
484
|
-
<div class="fragment"><div class="line"><a name="
|
|
483
|
+
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00789">789</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
484
|
+
<div class="fragment"><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  {</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">return</span> <span class="stringliteral">"clone of "</span> + <a class="code" href="classSVF_1_1ObjVar.html#ac1609e2e3b6843c6f7992e425771fce3">ObjVar::getValueName</a>();</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  }</div><div class="ttc" id="classSVF_1_1ObjVar_html_ac1609e2e3b6843c6f7992e425771fce3"><div class="ttname"><a href="classSVF_1_1ObjVar.html#ac1609e2e3b6843c6f7992e425771fce3">SVF::ObjVar::getValueName</a></div><div class="ttdeci">virtual const std::string getValueName() const</div><div class="ttdoc">Return name of a LLVM value. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00371">SVFVariables.h:371</a></div></div>
|
|
485
485
|
</div><!-- fragment -->
|
|
486
486
|
</div>
|
|
487
487
|
</div>
|