svf-tools 1.0.583 → 1.0.585
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/AndersenStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +1 -1
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ConsG_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/DCHG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +14 -10
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +9 -9
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +35 -42
- package/SVF-doxygen/html/html/ICFG_8h_source.html +29 -28
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +1 -0
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/SVFG_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +30 -27
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +95 -95
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +40 -44
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +112 -109
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/VFG_8h_source.html +9 -9
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +1 -2
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +47 -47
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +78 -77
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +111 -86
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +42 -36
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +68 -67
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +3 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +4 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
- 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_1MergeFunctionRets.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +15 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +355 -268
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +232 -224
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +7 -8
- package/SVF-doxygen/html/html/functions_a.html +8 -5
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func.html +12 -9
- package/SVF-doxygen/html/html/functions_func_b.html +1 -1
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_s.html +15 -11
- package/SVF-doxygen/html/html/functions_i.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +8 -8
- package/SVF-doxygen/html/html/functions_n.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +11 -11
- package/SVF-doxygen/html/html/functions_p.html +16 -12
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +22 -19
- package/SVF-doxygen/html/html/functions_t.html +7 -7
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_s.html +2 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +86 -86
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +22 -22
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +5 -5
- package/SVF-doxygen/html/html/search/all_1.js +1 -0
- package/SVF-doxygen/html/html/search/all_10.js +4 -4
- package/SVF-doxygen/html/html/search/all_11.js +1 -1
- package/SVF-doxygen/html/html/search/all_12.js +10 -9
- package/SVF-doxygen/html/html/search/all_13.js +6 -6
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +5 -5
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/functions_0.js +1 -0
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_11.js +4 -3
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/variables_12.js +2 -2
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +3 -4
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +4 -4
- package/include/Graphs/ICFG.h +5 -0
- package/include/MemoryModel/SVFIR.h +14 -4
- package/include/SVF-FE/BasicTypes.h +1 -0
- package/include/SVF-FE/SVFIRBuilder.h +3 -3
- package/lib/DDA/DDAPass.cpp +2 -2
- package/lib/Graphs/ICFG.cpp +0 -3
- package/lib/MTA/MTA.cpp +2 -2
- package/lib/MemoryModel/SVFIR.cpp +0 -3
- package/lib/SABER/SrcSnkDDA.cpp +2 -2
- package/lib/SVF-FE/ICFGBuilder.cpp +4 -0
- package/lib/SVF-FE/SVFIRBuilder.cpp +13 -4
- package/lib/WPA/WPAPass.cpp +2 -2
- package/package.json +1 -1
- package/tools/CFL/cfl.cpp +2 -2
- package/tools/Example/svf-ex.cpp +2 -2
|
@@ -71,73 +71,74 @@ $(function() {
|
|
|
71
71
|
<table class="directory">
|
|
72
72
|
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#abde033687317d47909ee45db7501723f">addCallEdge</a>(ICFGNode *srcNode, ICFGNode *dstNode, const Instruction *cs)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
73
73
|
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#aa4517b497891823eccbad2e790e2a440">addConditionalIntraEdge</a>(ICFGNode *srcNode, ICFGNode *dstNode, const Value *condition, s32_t branchCondVal)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
74
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
75
|
-
<tr><td class="entry"><a class="el" href="
|
|
76
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
77
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
78
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
79
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
80
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
81
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
82
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
83
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
84
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
85
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
86
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
87
|
-
<tr><td class="entry"><a class="el" href="
|
|
88
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
89
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
90
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
91
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
92
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
93
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
94
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
95
|
-
<tr><td class="entry"><a class="el" href="
|
|
96
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
97
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
98
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
99
|
-
<tr><td class="entry"><a class="el" href="
|
|
100
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
101
|
-
<tr><td class="entry"><a class="el" href="
|
|
102
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
103
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
104
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
105
|
-
<tr><td class="entry"><a class="el" href="
|
|
106
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html#
|
|
107
|
-
<tr><td class="entry"><a class="el" href="
|
|
108
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
109
|
-
<tr><td class="entry"><a class="el" href="
|
|
110
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
111
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
112
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
113
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
114
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
115
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
116
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
117
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
118
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
119
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
120
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
121
|
-
<tr><td class="entry"><a class="el" href="
|
|
122
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
123
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
124
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
125
|
-
<tr><td class="entry"><a class="el" href="
|
|
126
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
127
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
128
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
129
|
-
<tr><td class="entry"><a class="el" href="
|
|
130
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#
|
|
131
|
-
<tr><td class="entry"><a class="el" href="
|
|
132
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
133
|
-
<tr><td class="entry"><a class="el" href="
|
|
134
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
135
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
136
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
137
|
-
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
138
|
-
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#
|
|
139
|
-
<tr><td class="entry"><a class="el" href="
|
|
140
|
-
<tr class="even"><td class="entry"><a class="el" href="
|
|
74
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#adce53ce7392af67e1c6764ecba6fe774">addGlobalICFGNode</a>()</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
75
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">addGNode</a>(NodeID id, NodeType *node)</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
76
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a462f590c2604184d69e4efe3d85a7b5b">addICFGEdge</a>(ICFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
|
77
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a15816a82d8c33a066009440dce6ee973">addICFGNode</a>(ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></td></tr>
|
|
78
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#adafd8bbb91507a9a78a3f16305812afc">addIntraEdge</a>(ICFGNode *srcNode, ICFGNode *dstNode)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
79
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a8cecaf4341ad2f943dc040c8e6d0dec4">addNodeToSVFLoop</a>(const ICFGNode *node, const SVFLoop *loop)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
80
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a4a44849b596c89ab14d2e5f18366e848">addRetEdge</a>(ICFGNode *srcNode, ICFGNode *dstNode, const Instruction *cs)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
81
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
82
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a3385b008ae03444404c1e392fd47f1d6">begin</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
83
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a70421a19a494eb6131a9ae72ef1a64d6">checkIntraEdgeParents</a>(const ICFGNode *srcNode, const ICFGNode *dstNode)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
|
84
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a94e4de04d8da10a19ab65c22e257b82b">const_iterator</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
85
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#ac603cd3bb9c52c4261bba04e2c8ea193">CSToCallNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
86
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a8ca1b5e8478ffefed30d3dc138a67a8e">CSToRetNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
87
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#adf0a205f4f62f33c5fa8f2d544aac633">destroy</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
88
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(const std::string &file, bool simple=false)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
89
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a2fbc96de5f066469c2739229307bcc0c">edgeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
90
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a12d493d6ad2b6c89f240c9ccfa3bdf30">EdgeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
91
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></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_1GenericGraph.html#a3001af3746d26b7dc0a212db5e48a4bb">end</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
93
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a44a95ca43a7b3148c1aee9ad5da6e9d1">FunToFunEntryNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
94
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a25f4e5330af9d3fba19ad70520b2ec7f">FunToFunExitNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
95
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">GenericGraph</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></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_1ICFG.html#adc66b547720b9271e6805edea0b9d01f">getCallICFGNode</a>(const Instruction *inst)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
97
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a0dca4655c2f6112a5be1f921b8e81076">getFunEntryICFGNode</a>(const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
98
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#af1b2d2839f811a00103df87342dfc919">getFunExitICFGNode</a>(const SVFFunction *fun)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
99
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#ae0b05ce161d62362642803158228e5d0">getGlobalICFGNode</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</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_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
101
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a5dd4ac55123501c47c628adcf27e2475">getICFGEdge</a>(const ICFGNode *src, const ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
102
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html#a2c022308f9c7ae3bf33d9482fcb51e03">getICFGKind</a>(const int kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html">SVF::ICFGPrinter</a></td><td class="entry"></td></tr>
|
|
103
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</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_1ICFG.html#a489d4265c87304402bb3a20654ab4b99">getICFGNode</a>(const Instruction *inst)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
105
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a2b3a5a9c3c4c623a6d45ab1eac3c6a8b">getIntraICFGNode</a>(const Instruction *inst)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
106
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html#a38aa67e172459a72d8fc92a6172903be">getPAGEdgeKindValue</a>(int kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html">SVF::ICFGPrinter</a></td><td class="entry"></td></tr>
|
|
107
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html#a54f0729c869b5061b5fb9fe056c326ef">getPAGNodeKindValue</a>(int kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html">SVF::ICFGPrinter</a></td><td class="entry"></td></tr>
|
|
108
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a66cb50d8c176f800f06d9cb8924eb896">getRetICFGNode</a>(const Instruction *inst)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
109
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a490e7f2a5a0452d513895d5f24c72d8e">getSVFLoops</a>(const ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
110
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a29cab1426b0000bd87c026ab8c9979c0">getTotalEdgeNum</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
111
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>() const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
112
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a6885064afa211958af7b73f0233284e5">hasGNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
113
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a16c2ed1f9e28c84669b14dc48fb3c01a">hasICFGNode</a>(NodeID id) const</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
114
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a86535e50d1feba706b19491d905baef1">hasInterICFGEdge</a>(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
115
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#aa662baae5682ef6ec5084fa4147c9709">hasIntraICFGEdge</a>(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
116
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a29fb70d6638765ce291c5a8a11fbea64">hasThreadICFGEdge</a>(ICFGNode *src, ICFGNode *dst, ICFGEdge::ICFGEdgeK kind)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
117
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a683f33b8ad507a33809511954c7c1acb">ICFG</a>()</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
118
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a20ea3e37e9c3c7d3138ff593041a8e47">ICFGEdgeSetTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
119
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#af1fe5708c6f67fd87fa1edaa6c73ff5d">ICFGNodeIDToNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
120
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a4288dd1d729524b8e8a92954852a2317">ICFGNodeToSVFLoopVec</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
121
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html#ab51ba2c92e69d3688b0a185b4b1d69cb">ICFGPrinter</a>()</td><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html">SVF::ICFGPrinter</a></td><td class="entry"></td></tr>
|
|
122
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a47a1ef8b67b0c92f78b4457dc3bbfe71">IDToNodeMap</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
|
|
123
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#ab9027b190f50ceefc90094e4f967f269">IDToNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
124
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a2f2bca8219c7d769f6d2937e5cd40d14">incEdgeNum</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
125
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a7388dabef7300e77adf33f3999639f21">incNodeNum</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
126
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#ab3e25c26fb0fef0fc41d7ba6a84be0af">InstToBlockNodeMapTy</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
127
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#ae115e70bf53f25c0ca6b1f22acccf5b5">isInLoop</a>(const ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
128
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a31db72814524d1b6581999c4b93dd696">isInLoop</a>(const Instruction *inst)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
129
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a498f84068ef643a94970aeb171607e31">iterator</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
130
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a38122734cbe71551a420dfb7fee2012e">nodeNum</a></td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
131
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a86c50fc6775fd29f88df2cb4646bb211">NodeType</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"></td></tr>
|
|
132
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html#a5ef3cd8fa4c2dd99289725f1aa781721">printICFGToJson</a>(const std::string &filename)</td><td class="entry"><a class="el" href="classSVF_1_1ICFGPrinter.html">SVF::ICFGPrinter</a></td><td class="entry"></td></tr>
|
|
133
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a1817b65e76052f11e36a67d6b9efd915">removeGNode</a>(NodeType *node)</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
|
134
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a534625b10673efe5b0f344bfebf9b3cf">removeICFGEdge</a>(ICFGEdge *edge)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
|
135
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a403cd10f7c01cc879d803a9759e729cb">removeICFGNode</a>(ICFGNode *node)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
|
136
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#ad15daca24c91c5abe4bbb962979efbde">SVFLoopVec</a> typedef</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
137
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a5df6061b65d021cd73c66592ec79f052">totalICFGNode</a></td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
138
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a5a00682b75726cacc1b4d88bbf40c824">updateCallGraph</a>(PTACallGraph *callgraph)</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
139
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#a0d16e302515ffa0033e02ee8f6b3b590">view</a>()</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"></td></tr>
|
|
140
|
+
<tr class="even"><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html#a3b94850d788a1b8da45e9b8bf2f2df2c">~GenericGraph</a>()</td><td class="entry"><a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
|
|
141
|
+
<tr><td class="entry"><a class="el" href="classSVF_1_1ICFG.html#abdaf7551b7cd46bada3396c135e68584">~ICFG</a>()</td><td class="entry"><a class="el" href="classSVF_1_1ICFG.html">SVF::ICFG</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
|
|
141
142
|
</table></div><!-- contents -->
|
|
142
143
|
<!-- start footer part -->
|
|
143
144
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -155,6 +155,8 @@ Public Member Functions</h2></td></tr>
|
|
|
155
155
|
<tr class="separator:af1b2d2839f811a00103df87342dfc919 inherit pub_methods_classSVF_1_1ICFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
156
156
|
<tr class="memitem:ae0b05ce161d62362642803158228e5d0 inherit pub_methods_classSVF_1_1ICFG"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1GlobalICFGNode.html">GlobalICFGNode</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#ae0b05ce161d62362642803158228e5d0">getGlobalICFGNode</a> () const</td></tr>
|
|
157
157
|
<tr class="separator:ae0b05ce161d62362642803158228e5d0 inherit pub_methods_classSVF_1_1ICFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
158
|
+
<tr class="memitem:adce53ce7392af67e1c6764ecba6fe774 inherit pub_methods_classSVF_1_1ICFG"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1ICFG.html#adce53ce7392af67e1c6764ecba6fe774">addGlobalICFGNode</a> ()</td></tr>
|
|
159
|
+
<tr class="separator:adce53ce7392af67e1c6764ecba6fe774 inherit pub_methods_classSVF_1_1ICFG"><td class="memSeparator" colspan="2"> </td></tr>
|
|
158
160
|
<tr class="inherit_header pub_methods_classSVF_1_1GenericGraph"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1GenericGraph')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classSVF_1_1GenericGraph.html">SVF::GenericGraph< NodeTy, EdgeTy ></a></td></tr>
|
|
159
161
|
<tr class="memitem:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">GenericGraph</a> ()</td></tr>
|
|
160
162
|
<tr class="memdesc:aa5837cddbbd63c5a8ac5725bcecb192f inherit pub_methods_classSVF_1_1GenericGraph"><td class="mdescLeft"> </td><td class="mdescRight">Constructor. <a href="classSVF_1_1GenericGraph.html#aa5837cddbbd63c5a8ac5725bcecb192f">More...</a><br /></td></tr>
|
|
@@ -411,7 +413,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
411
413
|
<div class="ttc" id="classSVF_1_1SVFIR_html_a6bc360d2604ae4a0af74530b263b10d9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a6bc360d2604ae4a0af74530b263b10d9">SVF::SVFIR::SVFStmtList</a></div><div class="ttdeci">std::vector< const SVFStmt * > SVFStmtList</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00056">SVFIR.h:56</a></div></div>
|
|
412
414
|
<div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
|
|
413
415
|
<div class="ttc" id="classSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00414">SVFStatements.h:414</a></div></div>
|
|
414
|
-
<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#
|
|
416
|
+
<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#l00196">SVFIR.h:196</a></div></div>
|
|
415
417
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ae6792506a0150a9400d635eceab7f9e7"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ae6792506a0150a9400d635eceab7f9e7">SVF::GenericEdge::getSrcID</a></div><div class="ttdeci">NodeID getSrcID() const</div><div class="ttdoc">get methods of the components </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00073">GenericGraph.h:73</a></div></div>
|
|
416
418
|
<div class="ttc" id="classSVF_1_1CallCFGEdge_html"><div class="ttname"><a href="classSVF_1_1CallCFGEdge.html">SVF::CallCFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00168">ICFGEdge.h:168</a></div></div>
|
|
417
419
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00267">SVFUtil.cpp:267</a></div></div>
|
|
@@ -399,7 +399,7 @@ Private Attributes</h2></td></tr>
|
|
|
399
399
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00164">164</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
400
400
|
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"anode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  {</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = argument->getContext();</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  argument->getParent()->setMetadata(label, mdNodePts);</div><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>  <span class="keywordflow">else</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">auto</span> mdNode = argument->getParent()->getMetadata(label);</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at argument"</span>);</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00272">IRAnnotator.h:272</a></div></div>
|
|
401
401
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
402
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
402
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
403
403
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
404
404
|
</div><!-- fragment -->
|
|
405
405
|
</div>
|
|
@@ -447,7 +447,7 @@ Private Attributes</h2></td></tr>
|
|
|
447
447
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00218">218</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
448
448
|
<div class="fragment"><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>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"bnode-"</span> + std::to_string(nodeId);</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>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = basicBlock->getContext();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  basicBlock->getParent()->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  {</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keyword">auto</span> mdNode = basicBlock->getParent()->getMetadata(label);</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at basicBlock"</span>);</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00272">IRAnnotator.h:272</a></div></div>
|
|
449
449
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
450
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
450
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
451
451
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
452
452
|
</div><!-- fragment -->
|
|
453
453
|
</div>
|
|
@@ -490,7 +490,7 @@ Private Attributes</h2></td></tr>
|
|
|
490
490
|
<div class="fragment"><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"cnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getContext();</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(label)->addOperand(mdNodePts);</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">auto</span> mdNode = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getNamedMetadata(label);</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at instruction"</span>);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">addAndersenNamedMetdata</a>(nodeId, mdNode);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_af48723d319bbe2ecfd0c4777c1c92dc1"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">SVF::IRAnnotator::addAndersenNamedMetdata</a></div><div class="ttdeci">void addAndersenNamedMetdata(const SVF::NodeID &nodeId, NamedMDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00285">IRAnnotator.h:285</a></div></div>
|
|
491
491
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
492
492
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00314">IRAnnotator.h:314</a></div></div>
|
|
493
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
493
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
494
494
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
495
495
|
</div><!-- fragment -->
|
|
496
496
|
</div>
|
|
@@ -538,7 +538,7 @@ Private Attributes</h2></td></tr>
|
|
|
538
538
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00182">182</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
539
539
|
<div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"fnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (writeFlag)</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>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <span class="keyword">function</span>->getContext();</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">function</span>->setMetadata(label, mdNodePts);</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="keywordflow">else</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  {</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keyword">auto</span> mdNode = <span class="keyword">function</span>->getMetadata(label);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at function"</span>);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  }</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00272">IRAnnotator.h:272</a></div></div>
|
|
540
540
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
541
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
541
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
542
542
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
543
543
|
</div><!-- fragment -->
|
|
544
544
|
</div>
|
|
@@ -586,7 +586,7 @@ Private Attributes</h2></td></tr>
|
|
|
586
586
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00200">200</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
587
587
|
<div class="fragment"><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"gnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = globalVar->getContext();</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  globalVar->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  }</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keyword">auto</span> mdNode = globalVar->getMetadata(label);</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at instruction"</span>);</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00272">IRAnnotator.h:272</a></div></div>
|
|
588
588
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
589
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
589
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
590
590
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
591
591
|
</div><!-- fragment -->
|
|
592
592
|
</div>
|
|
@@ -635,7 +635,7 @@ Private Attributes</h2></td></tr>
|
|
|
635
635
|
<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"iAsmnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getContext();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(label)->addOperand(mdNodePts);</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  {</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">auto</span> mdNode = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getNamedMetadata(label);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at inlineAsm"</span>);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">addAndersenNamedMetdata</a>(nodeId, mdNode);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_af48723d319bbe2ecfd0c4777c1c92dc1"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">SVF::IRAnnotator::addAndersenNamedMetdata</a></div><div class="ttdeci">void addAndersenNamedMetdata(const SVF::NodeID &nodeId, NamedMDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00285">IRAnnotator.h:285</a></div></div>
|
|
636
636
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
637
637
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00314">IRAnnotator.h:314</a></div></div>
|
|
638
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
638
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
639
639
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
640
640
|
</div><!-- fragment -->
|
|
641
641
|
</div>
|
|
@@ -683,7 +683,7 @@ Private Attributes</h2></td></tr>
|
|
|
683
683
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00146">146</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
684
684
|
<div class="fragment"><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  {</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"inode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = instruction->getContext();</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  instruction->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  }</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  {</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">auto</span> mdNode = instruction->getMetadata(label);</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at instruction"</span>);</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><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>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00272">IRAnnotator.h:272</a></div></div>
|
|
685
685
|
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00303">IRAnnotator.h:303</a></div></div>
|
|
686
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
686
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
687
687
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
688
688
|
</div><!-- fragment -->
|
|
689
689
|
</div>
|
|
@@ -809,7 +809,7 @@ Private Attributes</h2></td></tr>
|
|
|
809
809
|
|
|
810
810
|
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00064">64</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
811
811
|
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">auto</span> baseNodeId = gepNode->getBaseNode();</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">auto</span> locationSetOffset = gepNode->getConstantFieldIdx();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getContext();</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  llvm::SmallVector<llvm::Metadata *, 32> operands;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  operands.push_back(llvm::MDString::get(context, std::to_string(baseNodeId)));</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  operands.push_back(llvm::MDString::get(context, std::to_string(locationSetOffset)));</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  llvm::MDTuple *metadata = llvm::MDTuple::get(context, operands);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"gepnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(label)->addOperand(metadata);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00314">IRAnnotator.h:314</a></div></div>
|
|
812
|
-
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
812
|
+
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00035">BasicTypes.h:35</a></div></div>
|
|
813
813
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
814
814
|
</div><!-- fragment -->
|
|
815
815
|
</div>
|
|
@@ -136,7 +136,7 @@ Private Attributes</h2></td></tr>
|
|
|
136
136
|
</div><div class="memdoc">
|
|
137
137
|
|
|
138
138
|
<p class="definition">Definition at line <a class="el" href="DataFlowUtil_8h_source.html#l00165">165</a> of file <a class="el" href="DataFlowUtil_8h_source.html">DataFlowUtil.h</a>.</p>
|
|
139
|
-
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  :</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">DominanceFrontierBase</a>(), <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">DF</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div><div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
139
|
+
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  :</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">DominanceFrontierBase</a>(), <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">DF</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  }</div><div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
|
|
140
140
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_aa50321ef8e3c9ee5e0b04f95a5a72e24"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">SVF::IteratedDominanceFrontier::DF</a></div><div class="ttdeci">const DominanceFrontier * DF</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00158">DataFlowUtil.h:158</a></div></div>
|
|
141
141
|
</div><!-- fragment -->
|
|
142
142
|
</div>
|
|
@@ -205,7 +205,7 @@ Private Attributes</h2></td></tr>
|
|
|
205
205
|
|
|
206
206
|
<p class="definition">Definition at line <a class="el" href="DataFlowUtil_8cpp_source.html#l00126">126</a> of file <a class="el" href="DataFlowUtil_8cpp_source.html">DataFlowUtil.cpp</a>.</p>
|
|
207
207
|
<div class="fragment"><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> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  DomSetType worklist;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">DominanceFrontierBase<BasicBlock, false>::const_iterator</a> it = <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">DF</a>.find(bb);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  assert(it != <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">DF</a>.end());</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  worklist.insert(it->second.begin(), it->second.end());</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = *worklist.begin();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  worklist.erase(worklist.begin());</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (Frontiers[bb].find(item) == Frontiers[bb].end())</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  Frontiers[bb].insert(item);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  const_iterator parent = <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">DF</a>.find(item);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  assert(parent != <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">DF</a>.end());</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  worklist.insert(parent->second.begin(), parent->second.end());</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</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="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
208
|
-
<div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
208
|
+
<div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
|
|
209
209
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_aa50321ef8e3c9ee5e0b04f95a5a72e24"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">SVF::IteratedDominanceFrontier::DF</a></div><div class="ttdeci">const DominanceFrontier * DF</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00158">DataFlowUtil.h:158</a></div></div>
|
|
210
210
|
<div class="ttc" id="cJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
211
211
|
</div><!-- fragment -->
|
|
@@ -233,8 +233,8 @@ Public Member Functions</h2></td></tr>
|
|
|
233
233
|
|
|
234
234
|
<p class="definition">Definition at line <a class="el" href="LLVMLoopAnalysis_8cpp_source.html#l00047">47</a> of file <a class="el" href="LLVMLoopAnalysis_8cpp_source.html">LLVMLoopAnalysis.cpp</a>.</p>
|
|
235
235
|
<div class="fragment"><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">llvm::DominatorTree</a> DT = <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">llvm::DominatorTree</a>();</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  std::vector<const Loop *> loop_stack;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &svfFunc: *mod)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="comment">// do not analyze external call</span></div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(svfFunc)) <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">llvm::Function</a> *func = svfFunc->getLLVMFun();</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  DT.recalculate(*func);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">auto</span> loopInfo = <span class="keyword">new</span> llvm::LoopInfoBase<llvm::BasicBlock, llvm::Loop>();</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  loopInfo->releaseMemory();</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  loopInfo->analyze(DT);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &loop: *loopInfo)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  loop_stack.push_back(loop);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// pre-order traversal on loop-subloop tree</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">while</span> (!loop_stack.empty())</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">Loop</a> *loop = loop_stack.back();</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  loop_stack.pop_back();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  llvmLoops.push_back(loop);</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &subloop: loop->getSubLoops())</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  loop_stack.push_back(subloop);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  }</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> }</div><div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
|
|
236
|
-
<div class="ttc" id="namespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdoc">LLVM Loop. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
237
|
-
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
236
|
+
<div class="ttc" id="namespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdoc">LLVM Loop. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
|
|
237
|
+
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
|
|
238
238
|
<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="SVFUtil_8h_source.html#l00346">SVFUtil.h:346</a></div></div>
|
|
239
239
|
</div><!-- fragment -->
|
|
240
240
|
</div>
|