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
|
@@ -69,7 +69,7 @@ $(function() {
|
|
|
69
69
|
<a href="CallGraphBuilder_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- CallGraphBuilder.cpp ----------------------------------------------------------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * CallGraphBuilder.cpp</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Created on:</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Author: Yulei</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="SVFUtil_8h.html">Util/SVFUtil.h</a>"</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="CallGraphBuilder_8h.html">SVF-FE/CallGraphBuilder.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include "<a class="code" href="ICFG_8h.html">Graphs/ICFG.h</a>"</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">using namespace </span><a class="code" href="namespaceSVFUtil.html">SVFUtil</a>;</div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classSVF_1_1CallGraphBuilder.html#aa64a27e99434908a203e566074c66ebc"> 38</a></span> <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1CallGraphBuilder.html#aa64a27e99434908a203e566074c66ebc">CallGraphBuilder::buildCallGraph</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule)</div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> {</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#aa5a0780c5c69a1e9a0ba902b4ad49714">SVFModule::llvm_iterator</a> F = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(), E = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); F != E; ++F)</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(*F);</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  callgraph->addCallGraphNode(fun);</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  }</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#aa5a0780c5c69a1e9a0ba902b4ad49714">SVFModule::llvm_iterator</a> F = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(), E = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); F != E; ++F)</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun = *F;</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">inst_iterator</a> I = inst_begin(*fun), J = inst_end(*fun); I != J; ++I)</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="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst = &*I;</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#a8d8216a92140d982303f83ea424ddc91">SVFUtil::isNonInstricCallSite</a>(inst))</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* callee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">getCallee</a>(inst))</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callBlockNode = icfg->getCallICFGNode(inst);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* caller = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">getSVFFunction</a>(fun);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  callgraph->addDirectCallGraphEdge(callBlockNode,caller,callee);</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>  }</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>  }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">return</span> callgraph;</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span> }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="classSVF_1_1ThreadCallGraphBuilder.html#a0f5bf24257858919c10af0e076d87ef7"> 69</a></span> <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* <a class="code" href="classSVF_1_1ThreadCallGraphBuilder.html#a0f5bf24257858919c10af0e076d87ef7">ThreadCallGraphBuilder::buildThreadCallGraph</a>(<a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule)</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> {</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  buildCallGraph(svfModule);</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>  <a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>* cg = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">dyn_cast</a><<a class="code" href="classSVF_1_1ThreadCallGraph.html">ThreadCallGraph</a>>(callgraph);</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  assert(cg && <span class="stringliteral">"not a thread callgraph?"</span>);</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_1ThreadAPI.html">ThreadAPI</a>* tdAPI = <a class="code" href="classSVF_1_1ThreadAPI.html#a6852ff1eedc1117e95e45e4a90c80d53">ThreadAPI::getThreadAPI</a>();</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#ab86e221a93bec67a2ecb7cb53315f569">SVFModule::llvm_const_iterator</a> fi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(), efi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); fi != efi; ++fi)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun = *fi;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">const_inst_iterator</a> II = inst_begin(*fun), E = inst_end(*fun); II != E; ++II)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst = &*II;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a9da276dca5092d18f4f22d32e5ab6cdf">isTDFork</a>(inst))</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = icfg->getCallICFGNode(inst);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a563ebb1ece0adb4bafe5e14b2a024a91">addForksite</a>(cs);</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* forkee = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>>(tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a7ddc0c71aeae315af21972a4905b3456">getForkedFun</a>(inst));</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (forkee)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a19e505dbca2d2b5128762b223b9a7114">addDirectForkEdge</a>(cs);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="comment">// indirect call to the start routine function</span></div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#ab20211a66583387f0da4769bee65e300">addThreadForkEdgeSetMap</a>(cs,<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a86d75b7e3570337e484397e60f97d88e">isHareParFor</a>(inst))</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  {</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = icfg->getCallICFGNode(inst);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a69719915e8c23e3afd6766daea946ffe">addParForSite</a>(cs);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* taskFunc = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>>(tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#afeedd6e518af76fa9e7142af8899b2f5">getTaskFuncAtHareParForSite</a>(inst));</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">if</span> (taskFunc)</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#ae942f7d46198207219e5ce8287497262">addDirectParForEdge</a>(cs);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="comment">// indirect call to the start routine function</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  {</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#aae1caa7231ab9436db98403d6a175149">addHareParForEdgeSetMap</a>(cs,<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  }</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="comment">// record join sites</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#ab86e221a93bec67a2ecb7cb53315f569">SVFModule::llvm_const_iterator</a> fi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(), efi = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); fi != efi; ++fi)</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun = *fi;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">const_inst_iterator</a> II = inst_begin(*fun), E = inst_end(*fun); II != E; ++II)</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  {</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *inst = &*II;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (tdAPI-><a class="code" href="classSVF_1_1ThreadAPI.html#a8cc5f9ff6039392ce1471cd830973c44">isTDJoin</a>(inst))</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = icfg->getCallICFGNode(inst);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  cg-><a class="code" href="classSVF_1_1ThreadCallGraph.html#a795d504a098634b1725af272b37e46e7">addJoinsite</a>(cs);</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">return</span> cg;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> </div><div class="ttc" id="classSVF_1_1SVFModule_html_af38d0f831967d6d8391a4c84e58d6519"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">SVF::SVFModule::llvmFunEnd</a></div><div class="ttdeci">llvm_iterator llvmFunEnd()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00147">SVFModule.h:147</a></div></div>
|
|
70
70
|
<div class="ttc" id="classSVF_1_1ThreadAPI_html_a9da276dca5092d18f4f22d32e5ab6cdf"><div class="ttname"><a href="classSVF_1_1ThreadAPI.html#a9da276dca5092d18f4f22d32e5ab6cdf">SVF::ThreadAPI::isTDFork</a></div><div class="ttdeci">bool isTDFork(const Instruction *inst) const</div><div class="ttdoc">Return true if this call create a new thread. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadAPI_8h_source.html#l00129">ThreadAPI.h:129</a></div></div>
|
|
71
71
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a795d504a098634b1725af272b37e46e7"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a795d504a098634b1725af272b37e46e7">SVF::ThreadCallGraph::addJoinsite</a></div><div class="ttdeci">bool addJoinsite(const CallICFGNode *cs)</div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00336">ThreadCallGraph.h:336</a></div></div>
|
|
72
|
-
<div class="ttc" id="namespaceSVF_html_a032e8478a7b6a8bb0b7755c98a7bce91"><div class="ttname"><a href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">SVF::const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
72
|
+
<div class="ttc" id="namespaceSVF_html_a032e8478a7b6a8bb0b7755c98a7bce91"><div class="ttname"><a href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">SVF::const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00182">BasicTypes.h:182</a></div></div>
|
|
73
73
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a563ebb1ece0adb4bafe5e14b2a024a91"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a563ebb1ece0adb4bafe5e14b2a024a91">SVF::ThreadCallGraph::addForksite</a></div><div class="ttdeci">bool addForksite(const CallICFGNode *cs)</div><div class="ttdoc">Add fork sites which directly or indirectly create a thread. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8h_source.html#l00331">ThreadCallGraph.h:331</a></div></div>
|
|
74
74
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
75
75
|
<div class="ttc" id="SVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
@@ -102,7 +102,7 @@ $(function() {
|
|
|
102
102
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8d8216a92140d982303f83ea424ddc91"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8d8216a92140d982303f83ea424ddc91">SVF::SVFUtil::isNonInstricCallSite</a></div><div class="ttdeci">bool isNonInstricCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a callsite in the application code, excluding llvm intrinsic calls...</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00209">SVFUtil.h:209</a></div></div>
|
|
103
103
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_ae942f7d46198207219e5ce8287497262"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#ae942f7d46198207219e5ce8287497262">SVF::ThreadCallGraph::addDirectParForEdge</a></div><div class="ttdeci">void addDirectParForEdge(const CallICFGNode *cs)</div><div class="ttdoc">Add direct/indirect parallel for edges. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8cpp_source.html#l00224">ThreadCallGraph.cpp:224</a></div></div>
|
|
104
104
|
<div class="ttc" id="CallGraphBuilder_8h_html"><div class="ttname"><a href="CallGraphBuilder_8h.html">CallGraphBuilder.h</a></div></div>
|
|
105
|
-
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
105
|
+
<div class="ttc" id="namespaceSVF_html_a255af6ff30782cb9a548feadb0fe7d6b"><div class="ttname"><a href="namespaceSVF.html#a255af6ff30782cb9a548feadb0fe7d6b">SVF::inst_iterator</a></div><div class="ttdeci">llvm::inst_iterator inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00179">BasicTypes.h:179</a></div></div>
|
|
106
106
|
<div class="ttc" id="classSVF_1_1ThreadCallGraph_html_a19e505dbca2d2b5128762b223b9a7114"><div class="ttname"><a href="classSVF_1_1ThreadCallGraph.html#a19e505dbca2d2b5128762b223b9a7114">SVF::ThreadCallGraph::addDirectForkEdge</a></div><div class="ttdeci">void addDirectForkEdge(const CallICFGNode *cs)</div><div class="ttdoc">Add direct/indirect thread fork edges. </div><div class="ttdef"><b>Definition:</b> <a href="ThreadCallGraph_8cpp_source.html#l00147">ThreadCallGraph.cpp:147</a></div></div>
|
|
107
107
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a547b3bc62de65b9dbfc6dee55c063dd7"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00114">LLVMModule.h:114</a></div></div>
|
|
108
108
|
</div><!-- fragment --></div><!-- contents -->
|
|
@@ -89,11 +89,11 @@ $(function() {
|
|
|
89
89
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a56cfcc39637cf5208f65297a63dde266"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a56cfcc39637cf5208f65297a63dde266">SVF::ConstraintGraph::addAddrCGEdge</a></div><div class="ttdeci">AddrCGEdge * addAddrCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add a SVFIR edge into Edge map. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00167">ConsG.cpp:167</a></div></div>
|
|
90
90
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_ac7d24753491a9bab39a13b32bb65f139"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ac7d24753491a9bab39a13b32bb65f139">SVF::ConstraintGraph::NodeToSubsMap</a></div><div class="ttdeci">Map< NodeID, NodeBS > NodeToSubsMap</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00051">ConsG.h:51</a></div></div>
|
|
91
91
|
<div class="ttc" id="classSVF_1_1NormalGepCGEdge_html"><div class="ttname"><a href="classSVF_1_1NormalGepCGEdge.html">SVF::NormalGepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00265">ConsGEdge.h:265</a></div></div>
|
|
92
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
92
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_af76a55c3b8255a81a566bdce35ffc749"><div class="ttname"><a href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">SVF::SVFIR::getBaseObj</a></div><div class="ttdeci">const MemObj * getBaseObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00420">SVFIR.h:420</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
94
94
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_afe34ca6bdbb22b188799a4297fd19004"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#afe34ca6bdbb22b188799a4297fd19004">SVF::ConstraintGraph::NodeToRepMap</a></div><div class="ttdeci">Map< NodeID, NodeID > NodeToRepMap</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00050">ConsG.h:50</a></div></div>
|
|
95
95
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
96
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
96
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a77a6bb9335aa12d29825af1b5ea07e08"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08">SVF::SVFIR::getBaseObjVar</a></div><div class="ttdeci">NodeID getBaseObjVar(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00416">SVFIR.h:416</a></div></div>
|
|
97
97
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a633666953f8d6675961981c4eab1adb0"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a633666953f8d6675961981c4eab1adb0">SVF::ConstraintGraph::addStoreCGEdge</a></div><div class="ttdeci">StoreCGEdge * addStoreCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Store edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00259">ConsG.cpp:259</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_aabe2861fcbc364e2c8aa8114d4879c39"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aabe2861fcbc364e2c8aa8114d4879c39">SVF::ConstraintGraph::moveEdgesToRepNode</a></div><div class="ttdeci">bool moveEdgesToRepNode(ConstraintNode *node, ConstraintNode *rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00284">ConsG.h:284</a></div></div>
|
|
99
99
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a1e5a23fbd08cf4186775baffbd6a7934"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1e5a23fbd08cf4186775baffbd6a7934">SVF::ConstraintGraph::addLoadCGEdge</a></div><div class="ttdeci">LoadCGEdge * addLoadCGEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add Load edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00241">ConsG.cpp:241</a></div></div>
|
|
@@ -119,7 +119,7 @@ $(function() {
|
|
|
119
119
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_aa87bf07fc538c2cf425138727e7acbce"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa87bf07fc538c2cf425138727e7acbce">SVF::ConstraintGraph::print</a></div><div class="ttdeci">void print()</div><div class="ttdoc">Print CG into terminal. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00543">ConsG.cpp:543</a></div></div>
|
|
120
120
|
<div class="ttc" id="classSVF_1_1IRGraph_html_abffddd41cc308b9b3bd5ad4a7f8f1624"><div class="ttname"><a href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">SVF::IRGraph::getValueNode</a></div><div class="ttdeci">NodeID getValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00124">IRGraph.h:124</a></div></div>
|
|
121
121
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html_a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#a663af27955ba0c545f34fa1f076b7375aed68bc43e8aae49e8590e140eb0ffaf3">SVF::ConstraintEdge::Addr</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00056">ConsGEdge.h:56</a></div></div>
|
|
122
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a65a4af3d6f0bfc11e31f020bb2966576"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a65a4af3d6f0bfc11e31f020bb2966576">SVF::SVFIR::getPTASVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getPTASVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get PTA edges set according to its kind. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
122
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a65a4af3d6f0bfc11e31f020bb2966576"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a65a4af3d6f0bfc11e31f020bb2966576">SVF::SVFIR::getPTASVFStmtSet</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getPTASVFStmtSet(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get PTA edges set according to its kind. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00177">SVFIR.h:177</a></div></div>
|
|
123
123
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a84468bc9355d31e8c3e18369036ddf5c"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a84468bc9355d31e8c3e18369036ddf5c">SVF::ConstraintGraph::isPWCNode</a></div><div class="ttdeci">bool isPWCNode(NodeID nodeId)</div><div class="ttdoc">Check/Set PWC (positive weight cycle) flag. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00348">ConsG.h:348</a></div></div>
|
|
124
124
|
<div class="ttc" id="ConsGEdge_8h_html"><div class="ttname"><a href="ConsGEdge_8h.html">ConsGEdge.h</a></div></div>
|
|
125
125
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a38fd07dd86f6187a7671f9f85565fccc"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a38fd07dd86f6187a7671f9f85565fccc">SVF::ConstraintGraph::isSingleFieldObj</a></div><div class="ttdeci">bool isSingleFieldObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00322">ConsG.h:322</a></div></div>
|
|
@@ -147,10 +147,10 @@ $(function() {
|
|
|
147
147
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a7e4c0c3e6e3c64d2729abd0f161cf550"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a7e4c0c3e6e3c64d2729abd0f161cf550">SVF::ConstraintGraph::ConstraintGraph</a></div><div class="ttdeci">ConstraintGraph(SVFIR *p)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00095">ConsG.h:95</a></div></div>
|
|
148
148
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph< ConstraintNode, ConstraintEdge >::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00384">GenericGraph.h:384</a></div></div>
|
|
149
149
|
<div class="ttc" id="classSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
|
|
150
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_ad9895f2d075eb402390e3b01ed68e001"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">SVF::SVFIR::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
150
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_ad9895f2d075eb402390e3b01ed68e001"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ad9895f2d075eb402390e3b01ed68e001">SVF::SVFIR::isBlkObjOrConstantObj</a></div><div class="ttdeci">bool isBlkObjOrConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00394">SVFIR.h:394</a></div></div>
|
|
151
151
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html_ad155e1ed2473cc4f5f57128d282ac541"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html#ad155e1ed2473cc4f5f57128d282ac541">SVF::ConstraintEdge::ConstraintEdgeSetTy</a></div><div class="ttdeci">GenericNode< ConstraintNode, ConstraintEdge >::GEdgeSetTy ConstraintEdgeSetTy</div><div class="ttdoc">Constraint edge type. </div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00085">ConsGEdge.h:85</a></div></div>
|
|
152
152
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a3f727a2822fb18a14ce9e10c6534cf5a"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a3f727a2822fb18a14ce9e10c6534cf5a">SVF::ConstraintGraph::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(NodeID id, const LocationSet &ls)</div><div class="ttdoc">Get a field of a memory object. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00328">ConsG.h:328</a></div></div>
|
|
153
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS & getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
153
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a7276e82b4648ed0e1b3d1b8b37b24089"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7276e82b4648ed0e1b3d1b8b37b24089">SVF::SVFIR::getAllFieldsObjVars</a></div><div class="ttdeci">NodeBS & getAllFieldsObjVars(const MemObj *obj)</div><div class="ttdoc">Get all fields of an object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00476">SVFIR.cpp:476</a></div></div>
|
|
154
154
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_ade6a90ed5e0a9e8615bafec54d9d1d73"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#ade6a90ed5e0a9e8615bafec54d9d1d73">SVF::ConstraintGraph::getSubs</a></div><div class="ttdeci">NodeBS & getSubs(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00258">ConsG.h:258</a></div></div>
|
|
155
155
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a9fc73676ea133651604e2528fe1d8244"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a9fc73676ea133651604e2528fe1d8244">SVF::ConstraintGraph::removeDirectEdge</a></div><div class="ttdeci">void removeDirectEdge(ConstraintEdge *edge)</div><div class="ttdoc">Remove direct edge from their src and dst edge sets. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00403">ConsG.cpp:403</a></div></div>
|
|
156
156
|
<div class="ttc" id="structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4_html_a3f34a804842ca97e422cb255ff670b5c"><div class="ttname"><a href="structllvm_1_1GraphTraits_3_01SVF_1_1ConstraintGraph_01_5_01_4.html#a3f34a804842ca97e422cb255ff670b5c">llvm::GraphTraits< SVF::ConstraintGraph * >::NodeRef</a></div><div class="ttdeci">SVF::ConstraintNode * NodeRef</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00403">ConsG.h:403</a></div></div>
|
|
@@ -164,7 +164,7 @@ $(function() {
|
|
|
164
164
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a5aac453464955185ca0d47e91db9df7b"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a5aac453464955185ca0d47e91db9df7b">SVF::ConstraintGraph::addNormalGepCGEdge</a></div><div class="ttdeci">NormalGepCGEdge * addNormalGepCGEdge(NodeID src, NodeID dst, const LocationSet &ls)</div><div class="ttdoc">Add Gep edge. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00205">ConsG.cpp:205</a></div></div>
|
|
165
165
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_abea65bf6dd43aa312082f8d4c7c3e3cb"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#abea65bf6dd43aa312082f8d4c7c3e3cb">SVF::ConstraintGraph::setRep</a></div><div class="ttdeci">void setRep(NodeID node, NodeID rep)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00246">ConsG.h:246</a></div></div>
|
|
166
166
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_aa30231dab5b7c759e4e5d76422a5eb8e"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#aa30231dab5b7c759e4e5d76422a5eb8e">SVF::ConstraintGraph::resetRep</a></div><div class="ttdeci">void resetRep(NodeID node)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00266">ConsG.h:266</a></div></div>
|
|
167
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a2878e202045b7f2c817185e8bf95d354"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">SVF::SVFIR::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(const MemObj *obj) const</div><div class="ttdoc">Get a field-insensitive obj SVFIR node according to a mem obj. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
167
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a2878e202045b7f2c817185e8bf95d354"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354">SVF::SVFIR::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(const MemObj *obj) const</div><div class="ttdoc">Get a field-insensitive obj SVFIR node according to a mem obj. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00374">SVFIR.h:374</a></div></div>
|
|
168
168
|
<div class="ttc" id="namespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode </div><div class="ttdef"><b>Definition:</b> <a href="CFGNormalizer_8h_source.html#l00035">CFGNormalizer.h:35</a></div></div>
|
|
169
169
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_af2dcf9fd0bc3d353c8582849cdabdf54"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#af2dcf9fd0bc3d353c8582849cdabdf54">SVF::ConstraintGraph::ConstraintNodeIDToNodeMapTy</a></div><div class="ttdeci">Map< NodeID, ConstraintNode * > ConstraintNodeIDToNodeMapTy</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00048">ConsG.h:48</a></div></div>
|
|
170
170
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a7c8a29ad1d270fca745f233bb4800731"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a7c8a29ad1d270fca745f233bb4800731">SVF::ConstraintGraph::getFIObjVar</a></div><div class="ttdeci">NodeID getFIObjVar(NodeID id)</div><div class="ttdoc">Get a field-insensitive node of a memory object. </div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00337">ConsG.h:337</a></div></div>
|
|
@@ -182,11 +182,11 @@ $(function() {
|
|
|
182
182
|
<div class="ttc" id="ConsGNode_8h_html"><div class="ttname"><a href="ConsGNode_8h.html">ConsGNode.h</a></div></div>
|
|
183
183
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph< ConstraintNode, ConstraintEdge >::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00391">GenericGraph.h:391</a></div></div>
|
|
184
184
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a1973126243ff619033a78a3782944278"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a1973126243ff619033a78a3782944278">SVF::ConstraintGraph::buildCG</a></div><div class="ttdeci">void buildCG()</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8cpp_source.html#l00040">ConsG.cpp:40</a></div></div>
|
|
185
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
185
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a2d2131128ceb3362b5dc89317cfd88a0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2d2131128ceb3362b5dc89317cfd88a0">SVF::SVFIR::getIndirectCallsites</a></div><div class="ttdeci">const CallSiteToFunPtrMap & getIndirectCallsites() const</div><div class="ttdoc">Add/get indirect callsites. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00309">SVFIR.h:309</a></div></div>
|
|
186
186
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00048">ConsGEdge.h:48</a></div></div>
|
|
187
187
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a006667ed55132ca0909c0e9118fea704"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a006667ed55132ca0909c0e9118fea704">SVF::ConstraintGraph::getNextCollapseNode</a></div><div class="ttdeci">NodeID getNextCollapseNode()</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00368">ConsG.h:368</a></div></div>
|
|
188
188
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
189
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a20c0c65af266ac876cb722aee6e87101"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a20c0c65af266ac876cb722aee6e87101">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const LocationSet &ls)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
189
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a20c0c65af266ac876cb722aee6e87101"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a20c0c65af266ac876cb722aee6e87101">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const LocationSet &ls)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00423">SVFIR.cpp:423</a></div></div>
|
|
190
190
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a0f9d5eef25827ac1d380e5d8bd225025"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a0f9d5eef25827ac1d380e5d8bd225025">SVF::ConstraintGraph::StoreCGEdgeSet</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy StoreCGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00064">ConsG.h:64</a></div></div>
|
|
191
191
|
<div class="ttc" id="classSVF_1_1ConstraintGraph_html_a03f9fe8ae7094c39937f47f422276724"><div class="ttname"><a href="classSVF_1_1ConstraintGraph.html#a03f9fe8ae7094c39937f47f422276724">SVF::ConstraintGraph::setPWCNode</a></div><div class="ttdeci">void setPWCNode(NodeID nodeId)</div><div class="ttdef"><b>Definition:</b> <a href="ConsG_8h_source.html#l00352">ConsG.h:352</a></div></div>
|
|
192
192
|
<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>
|
|
@@ -167,7 +167,7 @@ $(function() {
|
|
|
167
167
|
<div class="ttc" id="classSVF_1_1DPItem_html_a03a90eca842c0e83d874902103f6fdb2"><div class="ttname"><a href="classSVF_1_1DPItem.html#a03a90eca842c0e83d874902103f6fdb2">SVF::DPItem::getCurNodeID</a></div><div class="ttdeci">NodeID getCurNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00077">DPItem.h:77</a></div></div>
|
|
168
168
|
<div class="ttc" id="classSVF_1_1ContextDDA_html_aa8a7b6e99b92abfa5c2404515b703a2d"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#aa8a7b6e99b92abfa5c2404515b703a2d">SVF::ContextDDA::handleBKCondition</a></div><div class="ttdeci">virtual bool handleBKCondition(CxtLocDPItem &dpm, const SVFGEdge *edge) override</div><div class="ttdoc">Handle condition for context or path analysis (backward analysis) </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00255">ContextDDA.cpp:255</a></div></div>
|
|
169
169
|
<div class="ttc" id="classSVF_1_1CxtStmtDPItem_html"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html">SVF::CxtStmtDPItem</a></div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00389">DPItem.h:389</a></div></div>
|
|
170
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a17c5d9fa7c0bd3cd03c06b5ff0906eb6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">SVF::SVFIR::getFunPtr</a></div><div class="ttdeci">NodeID getFunPtr(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
170
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a17c5d9fa7c0bd3cd03c06b5ff0906eb6"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">SVF::SVFIR::getFunPtr</a></div><div class="ttdeci">NodeID getFunPtr(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00313">SVFIR.h:313</a></div></div>
|
|
171
171
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a7994236bff84ba8244592fdf5e546734"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a7994236bff84ba8244592fdf5e546734">SVF::DDAVFSolver< CxtVar, CxtPtSet, CxtLocDPItem >::isOutOfBudgetQuery</a></div><div class="ttdeci">bool isOutOfBudgetQuery() const</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00733">DDAVFSolver.h:733</a></div></div>
|
|
172
172
|
<div class="ttc" id="classSVF_1_1VFGEdge_html_a4352297ef44c4eff1efe2f348cce6fe9"><div class="ttname"><a href="classSVF_1_1VFGEdge.html#a4352297ef44c4eff1efe2f348cce6fe9">SVF::VFGEdge::isCallVFGEdge</a></div><div class="ttdeci">bool isCallVFGEdge() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00084">VFGEdge.h:84</a></div></div>
|
|
173
173
|
<div class="ttc" id="classSVF_1_1CallICFGNode_html"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html">SVF::CallICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00363">ICFGNode.h:363</a></div></div>
|
|
@@ -194,7 +194,7 @@ $(function() {
|
|
|
194
194
|
<div class="ttc" id="classSVF_1_1PointsTo_html"><div class="ttname"><a href="classSVF_1_1PointsTo.html">SVF::PointsTo</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00028">PointsTo.h:28</a></div></div>
|
|
195
195
|
<div class="ttc" id="classSVF_1_1ContextDDA_html_a2ce589a1d63a5126e178fc47527e0f92"><div class="ttname"><a href="classSVF_1_1ContextDDA.html#a2ce589a1d63a5126e178fc47527e0f92">SVF::ContextDDA::getCSIDAtCall</a></div><div class="ttdeci">CallSiteID getCSIDAtCall(CxtLocDPItem &dpm, const SVFGEdge *edge)</div><div class="ttdoc">get callsite id from call, return 0 if it is a spurious call edge </div><div class="ttdef"><b>Definition:</b> <a href="ContextDDA_8cpp_source.html#l00209">ContextDDA.cpp:209</a></div></div>
|
|
196
196
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
197
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="
|
|
197
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_aa1943d53e75aef9b014953143c6894da"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00136">SVFIR.h:136</a></div></div>
|
|
198
198
|
<div class="ttc" id="SVFBasicTypes_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DEBUG model of each pass. </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00155">SVFBasicTypes.h:155</a></div></div>
|
|
199
199
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a431ec4f85eb0f029e5740b92fd9ceb32"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">SVF::PointerAnalysis::initialize</a></div><div class="ttdeci">virtual void initialize()</div><div class="ttdoc">Initialization of a pointer analysis, including building symbol table and SVFIR etc. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00111">PointerAnalysis.cpp:111</a></div></div>
|
|
200
200
|
<div class="ttc" id="classSVF_1_1CxtStmtDPItem_html_ace41c90e66f6a85f12ff67540ad9d594"><div class="ttname"><a href="classSVF_1_1CxtStmtDPItem.html#ace41c90e66f6a85f12ff67540ad9d594">SVF::CxtStmtDPItem::getCond</a></div><div class="ttdeci">const ContextCond & getCond() const</div><div class="ttdoc">Get context. </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00414">DPItem.h:414</a></div></div>
|
|
@@ -204,7 +204,7 @@ $(function() {
|
|
|
204
204
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a547b3bc62de65b9dbfc6dee55c063dd7"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a547b3bc62de65b9dbfc6dee55c063dd7">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00114">LLVMModule.h:114</a></div></div>
|
|
205
205
|
<div class="ttc" id="classSVF_1_1RetDirSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1RetDirSVFGEdge.html">SVF::RetDirSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00254">VFGEdge.h:254</a></div></div>
|
|
206
206
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html">SVF::PointerAnalysis</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00057">PointerAnalysis.h:57</a></div></div>
|
|
207
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
207
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a2dd4d5f704906270af13e7a07f900eb1"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">SVF::SVFIR::getObject</a></div><div class="ttdeci">const MemObj * getObject(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00354">SVFIR.h:354</a></div></div>
|
|
208
208
|
<div class="ttc" id="classSVF_1_1CondPTAImpl_html"><div class="ttname"><a href="classSVF_1_1CondPTAImpl.html">SVF::CondPTAImpl</a></div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00247">PointerAnalysisImpl.h:247</a></div></div>
|
|
209
209
|
</div><!-- fragment --></div><!-- contents -->
|
|
210
210
|
<!-- start footer part -->
|