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
|
@@ -241,7 +241,7 @@ Private Attributes</h2></td></tr>
|
|
|
241
241
|
|
|
242
242
|
<p class="definition">Definition at line <a class="el" href="DDAClient_8h_source.html#l00105">105</a> of file <a class="el" href="DDAClient_8h_source.html">DDAClient.h</a>.</p>
|
|
243
243
|
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAClient.html#a5e02fa3c1e6fbd5ed54038b1eaeeaaff">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(<a class="code" href="classSVF_1_1DDAClient.html#a5e02fa3c1e6fbd5ed54038b1eaeeaaff">pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(<span class="keywordtype">id</span>)))</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <a class="code" href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">candidateQueries</a>.insert(<span class="keywordtype">id</span>);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="ttc" id="classSVF_1_1DDAClient_html_aa6fdff97be2e1a886237b515406d2e61"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">SVF::DDAClient::candidateQueries</a></div><div class="ttdeci">OrderedNodeSet candidateQueries</div><div class="ttdoc">store all candidate pointers to be queried </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00114">DDAClient.h:114</a></div></div>
|
|
244
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
244
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00702">SVFIR.cpp:702</a></div></div>
|
|
245
245
|
<div class="ttc" id="classSVF_1_1DDAClient_html_a5e02fa3c1e6fbd5ed54038b1eaeeaaff"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a5e02fa3c1e6fbd5ed54038b1eaeeaaff">SVF::DDAClient::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdoc">SVFIR graph used by current DDA analysis. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00111">DDAClient.h:111</a></div></div>
|
|
246
246
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::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>
|
|
247
247
|
</div><!-- fragment -->
|
|
@@ -279,7 +279,7 @@ Private Attributes</h2></td></tr>
|
|
|
279
279
|
<div class="ttc" id="classSVF_1_1DDAClient_html_a3fbe4ffde0a14b2db40189883d49237f"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a3fbe4ffde0a14b2db40189883d49237f">SVF::DDAClient::setCurrentQueryPtr</a></div><div class="ttdeci">void setCurrentQueryPtr(NodeID ptr)</div><div class="ttdoc">Set the pointer being queried. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00084">DDAClient.h:84</a></div></div>
|
|
280
280
|
<div class="ttc" id="SVFBasicTypes_8h_html_a40845b3027a1237076aa8297ca39e730"><div class="ttname"><a href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a></div><div class="ttdeci">#define DDDA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00166">SVFBasicTypes.h:166</a></div></div>
|
|
281
281
|
<div class="ttc" id="classSVF_1_1DDAClient_html_ab3fdab96c5bf55feb82b688c92510c36"><div class="ttname"><a href="classSVF_1_1DDAClient.html#ab3fdab96c5bf55feb82b688c92510c36">SVF::DDAClient::collectCandidateQueries</a></div><div class="ttdeci">virtual OrderedNodeSet & collectCandidateQueries(SVFIR *p)</div><div class="ttdoc">Collect candidate pointers for query. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00058">DDAClient.h:58</a></div></div>
|
|
282
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
282
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00702">SVFIR.cpp:702</a></div></div>
|
|
283
283
|
<div class="ttc" id="classSVF_1_1DDAStat_html_accadfa44f7cf9f107e4c8d100ce8db0d"><div class="ttname"><a href="classSVF_1_1DDAStat.html#accadfa44f7cf9f107e4c8d100ce8db0d">SVF::DDAStat::setMemUsageBefore</a></div><div class="ttdeci">void setMemUsageBefore(u32_t vmrss, u32_t vmsize)</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00078">DDAStat.h:78</a></div></div>
|
|
284
284
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
|
|
285
285
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0ebf1138011aa526d92470c1931313ad"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0ebf1138011aa526d92470c1931313ad">SVF::PointerAnalysis::getStat</a></div><div class="ttdeci">PTAStat * getStat() const</div><div class="ttdoc">Get PTA stat. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00208">PointerAnalysis.h:208</a></div></div>
|
|
@@ -327,7 +327,7 @@ Private Attributes</h2></td></tr>
|
|
|
327
327
|
<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classSVF_1_1DDAClient.html#a21badb317a249bbb506615182671b32c">setPAG</a>(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAClient.html#aa8a67c60ec0395c9cfae178dcff638a8">solveAll</a>)</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <a class="code" href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">candidateQueries</a> = <a class="code" href="classSVF_1_1DDAClient.html#a5e02fa3c1e6fbd5ed54038b1eaeeaaff">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a7990c72dd6d645d713f19ed973841484">getAllValidPtrs</a>();</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">else</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>  <span class="keywordflow">for</span> (OrderedNodeSet::iterator it = <a class="code" href="classSVF_1_1DDAClient.html#a25f8abbcaca653d0883d542bfbe729a3">userInput</a>.begin(), eit = <a class="code" href="classSVF_1_1DDAClient.html#a25f8abbcaca653d0883d542bfbe729a3">userInput</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">addCandidate</a>(*it);</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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">candidateQueries</a>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div><div class="ttc" id="cJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
328
328
|
<div class="ttc" id="classSVF_1_1DDAClient_html_aa6fdff97be2e1a886237b515406d2e61"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aa6fdff97be2e1a886237b515406d2e61">SVF::DDAClient::candidateQueries</a></div><div class="ttdeci">OrderedNodeSet candidateQueries</div><div class="ttdoc">store all candidate pointers to be queried </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00114">DDAClient.h:114</a></div></div>
|
|
329
329
|
<div class="ttc" id="classSVF_1_1DDAClient_html_a21badb317a249bbb506615182671b32c"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a21badb317a249bbb506615182671b32c">SVF::DDAClient::setPAG</a></div><div class="ttdeci">void setPAG(SVFIR *g)</div><div class="ttdoc">Set SVFIR graph. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00079">DDAClient.h:79</a></div></div>
|
|
330
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a7990c72dd6d645d713f19ed973841484"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7990c72dd6d645d713f19ed973841484">SVF::SVFIR::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet & getAllValidPtrs()</div><div class="ttdoc">Return valid pointers. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
330
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a7990c72dd6d645d713f19ed973841484"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a7990c72dd6d645d713f19ed973841484">SVF::SVFIR::getAllValidPtrs</a></div><div class="ttdeci">OrderedNodeSet & getAllValidPtrs()</div><div class="ttdoc">Return valid pointers. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00142">SVFIR.h:142</a></div></div>
|
|
331
331
|
<div class="ttc" id="classSVF_1_1DDAClient_html_a7c07d9527011ea0165038e3a112a85d8"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a7c07d9527011ea0165038e3a112a85d8">SVF::DDAClient::addCandidate</a></div><div class="ttdeci">void addCandidate(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00105">DDAClient.h:105</a></div></div>
|
|
332
332
|
<div class="ttc" id="classSVF_1_1DDAClient_html_a25f8abbcaca653d0883d542bfbe729a3"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a25f8abbcaca653d0883d542bfbe729a3">SVF::DDAClient::userInput</a></div><div class="ttdeci">OrderedNodeSet userInput</div><div class="ttdoc">User input queries. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00117">DDAClient.h:117</a></div></div>
|
|
333
333
|
<div class="ttc" id="classSVF_1_1DDAClient_html_aa8a67c60ec0395c9cfae178dcff638a8"><div class="ttname"><a href="classSVF_1_1DDAClient.html#aa8a67c60ec0395c9cfae178dcff638a8">SVF::DDAClient::solveAll</a></div><div class="ttdeci">bool solveAll</div><div class="ttdoc">TRUE if all top level pointers are being queried. </div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00118">DDAClient.h:118</a></div></div>
|
|
@@ -290,7 +290,7 @@ Private Attributes</h2></td></tr>
|
|
|
290
290
|
<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">if</span> (pag-><a class="code" href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">hasValueNode</a>(V1) && pag-><a class="code" href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">hasValueNode</a>(V2))</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  {</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node1 = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V1));</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">if</span>(pag-><a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(node1))</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a>(node1-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* node2 = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(V2));</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">if</span>(pag-><a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(node2))</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a>(node2-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(V1,V2);</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  }</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">AliasResult::MayAlias</a>;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div><div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
291
291
|
<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>
|
|
292
292
|
<div class="ttc" id="classSVF_1_1DDAPass_html_a240ffa3ed0963e579db60784f4a21b9f"><div class="ttname"><a href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">SVF::DDAPass::_pta</a></div><div class="ttdeci">PointerAnalysis * _pta</div><div class="ttdoc">pointer analysis to be executed. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00092">DDAPass.h:92</a></div></div>
|
|
293
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
293
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00702">SVFIR.cpp:702</a></div></div>
|
|
294
294
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
|
|
295
295
|
<div class="ttc" id="namespaceSVF_html_a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f"><div class="ttname"><a href="namespaceSVF.html#a61c01e2e687ab3a001fb806737583943aef15fd8989d8dd9576b3fbb2aabc118f">SVF::MayAlias</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00199">SVFBasicTypes.h:199</a></div></div>
|
|
296
296
|
<div class="ttc" id="classSVF_1_1IRGraph_html_aceb17dfbe137658625e16291127267d1"><div class="ttname"><a href="classSVF_1_1IRGraph.html#aceb17dfbe137658625e16291127267d1">SVF::IRGraph::hasValueNode</a></div><div class="ttdeci">bool hasValueNode(const Value *V)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00128">IRGraph.h:128</a></div></div>
|
|
@@ -340,7 +340,7 @@ Private Attributes</h2></td></tr>
|
|
|
340
340
|
|
|
341
341
|
<p class="definition">Definition at line <a class="el" href="DDAPass_8cpp_source.html#l00284">284</a> of file <a class="el" href="DDAPass_8cpp_source.html">DDAPass.cpp</a>.</p>
|
|
342
342
|
<div class="fragment"><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">getPAG</a>();</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">if</span>(pag-><a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node1)))</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a>(node1);</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">if</span>(pag-><a class="code" href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">isValidTopLevelPtr</a>(pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(node2)))</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a0bb90b398ef85504bcd816ae57bee01d">computeDDAPts</a>(node2);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">alias</a>(node1,node2);</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> }</div><div class="ttc" id="classSVF_1_1DDAPass_html_a240ffa3ed0963e579db60784f4a21b9f"><div class="ttname"><a href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">SVF::DDAPass::_pta</a></div><div class="ttdeci">PointerAnalysis * _pta</div><div class="ttdoc">pointer analysis to be executed. </div><div class="ttdef"><b>Definition:</b> <a href="DDAPass_8h_source.html#l00092">DDAPass.h:92</a></div></div>
|
|
343
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
343
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5c3b194ebada47baaccf0e9f3ab1a139"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5c3b194ebada47baaccf0e9f3ab1a139">SVF::SVFIR::isValidTopLevelPtr</a></div><div class="ttdeci">bool isValidTopLevelPtr(const SVFVar *node)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00702">SVFIR.cpp:702</a></div></div>
|
|
344
344
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a240219c2dc4f5cc5f85445e18c79b83b"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a240219c2dc4f5cc5f85445e18c79b83b">SVF::PointerAnalysis::getPAG</a></div><div class="ttdeci">SVFIR * getPAG() const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00201">PointerAnalysis.h:201</a></div></div>
|
|
345
345
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a6c01f259ad2379a422d7106ce0255eb8"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a6c01f259ad2379a422d7106ce0255eb8">SVF::PointerAnalysis::alias</a></div><div class="ttdeci">virtual AliasResult alias(const Value *V1, const Value *V2)=0</div><div class="ttdoc">Interface exposed to users of our pointer analysis, given Value infos. </div></div>
|
|
346
346
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::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>
|
|
@@ -755,9 +755,8 @@ Private Attributes</h2></td></tr>
|
|
|
755
755
|
<p>finalize </p>
|
|
756
756
|
|
|
757
757
|
<p class="definition">Definition at line <a class="el" href="DDAPass_8cpp_source.html#l00108">108</a> of file <a class="el" href="DDAPass_8cpp_source.html">DDAPass.cpp</a>.</p>
|
|
758
|
-
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder
|
|
758
|
+
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> </div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder(module);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.build();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> </div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1ContextCond.html#a084679a423e78217ca10794775c25b1d">ContextCond::setMaxPathLen</a>(<a class="code" href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">Options::MaxPathLen</a>);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="classSVF_1_1ContextCond.html#a92e89bbae0f31bb9eb971ab3edcc8071">ContextCond::setMaxCxtLen</a>(<a class="code" href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">Options::MaxContextLen</a>);</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">switch</span> (kind)</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  {</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85a0ab6564c48897595c9d23382a026e0a8">PointerAnalysis::Cxt_DDA</a>:</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>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1ContextDDA.html">ContextDDA</a>(pag, <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">break</span>;</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="keywordflow">case</span> <a class="code" href="classSVF_1_1PointerAnalysis.html#a0b182ac680cce0547dbe7714c870ca85aa43c83e2f0df003c158d4b1325b50b18">PointerAnalysis::FlowS_DDA</a>:</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a> = <span class="keyword">new</span> <a class="code" href="classSVF_1_1FlowDDA.html">FlowDDA</a>(pag, <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">break</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>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() << <span class="stringliteral">"This pointer analysis has not been implemented yet.\n"</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">break</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>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#a0865038c4738fcc8f47106faad03d98a">Options::WPANum</a>)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-><a class="code" href="classSVF_1_1DDAClient.html#a76b4c50a1051ff7c0b162b55473de028">collectWPANum</a>(module);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a431ec4f85eb0f029e5740b92fd9ceb32">initialize</a>();</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-><a class="code" href="classSVF_1_1DDAClient.html#a3b202f9a70b6e23c06a15556d23d245e">answerQueries</a>(<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>);</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a118dabc50024b5cd91095814ade47166">finalize</a>();</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1Options.html#aee5e47ee3ca9bacb514f9dfbcb3abf24">Options::PrintCPts</a>)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#ad409cbf61271743394b9e5868f3fd197">dumpCPts</a>();</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> (<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183">printStat</a>())</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1DDAPass.html#a8bb61315bc5d1816f4e07140864af47f">_client</a>-><a class="code" href="classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3">performStat</a>(<a class="code" href="classSVF_1_1DDAPass.html#a240ffa3ed0963e579db60784f4a21b9f">_pta</a>);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#aabfcfcd67df527cdf587aff5ecc26a10">Options::PrintQueryPts</a>)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="classSVF_1_1DDAPass.html#afc700bd3abb5d9199621741b9bd04f0f">printQueryPTS</a>();</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> }</div><div class="ttc" id="classSVF_1_1Options_html_a2e53156bd075d7802d390672f129c6a8"><div class="ttname"><a href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">SVF::Options::MaxContextLen</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxContextLen</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00095">Options.h:95</a></div></div>
|
|
759
759
|
<div class="ttc" id="classSVF_1_1Options_html_a32ef95b3bd06b50337b3129b74ffb45c"><div class="ttname"><a href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">SVF::Options::MaxPathLen</a></div><div class="ttdeci">static const llvm::cl::opt< unsigned > MaxPathLen</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00094">Options.h:94</a></div></div>
|
|
760
|
-
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html_aa6d56f9580f76fd09d25ce6cf7541e98"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build(SVFModule *svfModule)</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00050">SVFIRBuilder.cpp:50</a></div></div>
|
|
761
760
|
<div class="ttc" id="classSVF_1_1DDAClient_html_a76b4c50a1051ff7c0b162b55473de028"><div class="ttname"><a href="classSVF_1_1DDAClient.html#a76b4c50a1051ff7c0b162b55473de028">SVF::DDAClient::collectWPANum</a></div><div class="ttdeci">virtual void collectWPANum(SVFModule *)</div><div class="ttdef"><b>Definition:</b> <a href="DDAClient_8h_source.html#l00103">DDAClient.h:103</a></div></div>
|
|
762
761
|
<div class="ttc" id="classSVF_1_1ContextCond_html_a92e89bbae0f31bb9eb971ab3edcc8071"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a92e89bbae0f31bb9eb971ab3edcc8071">SVF::ContextCond::setMaxCxtLen</a></div><div class="ttdeci">static void setMaxCxtLen(u32_t max)</div><div class="ttdoc">set max context limit </div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00265">DPItem.h:265</a></div></div>
|
|
763
762
|
<div class="ttc" id="classSVF_1_1FlowDDA_html"><div class="ttname"><a href="classSVF_1_1FlowDDA.html">SVF::FlowDDA</a></div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00053">FlowDDA.h:53</a></div></div>
|
|
@@ -496,7 +496,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
496
496
|
<div class="ttc" id="classSVF_1_1DDAStat_html_a1afb47b898f646f71d00c666373281e0"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a1afb47b898f646f71d00c666373281e0">SVF::DDAStat::_TotalPtsSize</a></div><div class="ttdeci">u32_t _TotalPtsSize</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00108">DDAStat.h:108</a></div></div>
|
|
497
497
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph< SVFVar, SVFStmt >::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00343">GenericGraph.h:343</a></div></div>
|
|
498
498
|
<div class="ttc" id="classSVF_1_1DDAStat_html_ad53ad7a958c05b45624d2859a6a9e647"><div class="ttname"><a href="classSVF_1_1DDAStat.html#ad53ad7a958c05b45624d2859a6a9e647">SVF::DDAStat::_StrongUpdateStores</a></div><div class="ttdeci">NodeBS _StrongUpdateStores</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00066">DDAStat.h:66</a></div></div>
|
|
499
|
-
<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#
|
|
499
|
+
<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>
|
|
500
500
|
<div class="ttc" id="classSVF_1_1DDAStat_html_a7b83dd2c2719ed3b308c65aa037d446b"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a7b83dd2c2719ed3b308c65aa037d446b">SVF::DDAStat::_MaxNumOfDPMAtSVFGNode</a></div><div class="ttdeci">u32_t _MaxNumOfDPMAtSVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00119">DDAStat.h:119</a></div></div>
|
|
501
501
|
<div class="ttc" id="classSVF_1_1ContextCond_html_a151b9f21eedd4fdd8f46b78bb456582d"><div class="ttname"><a href="classSVF_1_1ContextCond.html#a151b9f21eedd4fdd8f46b78bb456582d">SVF::ContextCond::maximumCxt</a></div><div class="ttdeci">static u32_t maximumCxt</div><div class="ttdef"><b>Definition:</b> <a href="DPItem_8h_source.html#l00378">DPItem.h:378</a></div></div>
|
|
502
502
|
<div class="ttc" id="classSVF_1_1SVFStat_html_a07b6f8cb424b84b468c4518140fa3a41"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41">SVF::SVFStat::generalNumMap</a></div><div class="ttdeci">NUMStatMap generalNumMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00073">SVFStat.h:73</a></div></div>
|
|
@@ -1051,7 +1051,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
1051
1051
|
<p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00347">347</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
|
|
1052
1052
|
<div class="fragment"><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVFGNode</a>* node = oldDpm.getLoc();</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> obj = oldDpm.getCurNodeID();</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">isConstantObj</a>(obj) || <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">isNonPointerObj</a>(obj))</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1DDAVFSolver.html#a6489319b33a807f7caba2d34017a3e1b">SVFGEdgeSet</a> edgeSet(node->getInEdges());</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVFGNode::const_iterator</a> it = edgeSet.begin(), eit = edgeSet.end(); it != eit; ++it)</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> IndirectSVFGEdge* indirEdge = SVFUtil::dyn_cast<IndirectSVFGEdge>(*it))</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  {</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">NodeBS</a>& guard = indirEdge->getPointsTo();</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">if</span>(guard.test(obj))</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="SVFBasicTypes_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a>(<a class="code" href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a>, <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"\t\t==backtrace indirectVF svfgNode "</span> <<</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  indirEdge->getDstID() << <span class="stringliteral">" --> "</span> << indirEdge->getSrcID() << <span class="stringliteral">"\n"</span>);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">backwardPropDpm</a>(pts,oldDpm.getCurNodeID(),oldDpm,indirEdge);</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  }</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  }</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  }</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
1053
1053
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a6489319b33a807f7caba2d34017a3e1b"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a6489319b33a807f7caba2d34017a3e1b">SVF::DDAVFSolver::SVFGEdgeSet</a></div><div class="ttdeci">SVFGEdge::SVFGEdgeSetTy SVFGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00061">DDAVFSolver.h:61</a></div></div>
|
|
1054
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1054
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00402">SVFIR.h:402</a></div></div>
|
|
1055
1055
|
<div class="ttc" id="namespaceSVF_html_a5dfa3fa5129bacdc0be0c051ccf386df"><div class="ttname"><a href="namespaceSVF.html#a5dfa3fa5129bacdc0be0c051ccf386df">SVF::SVFGNode</a></div><div class="ttdeci">VFGNode SVFGNode</div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00043">SVFG.h:43</a></div></div>
|
|
1056
1056
|
<div class="ttc" id="SVFBasicTypes_8h_html_a40845b3027a1237076aa8297ca39e730"><div class="ttname"><a href="SVFBasicTypes_8h.html#a40845b3027a1237076aa8297ca39e730">DDDA</a></div><div class="ttdeci">#define DDDA</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00166">SVFBasicTypes.h:166</a></div></div>
|
|
1057
1057
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_af6a6243b497df5fdab9f658b9add9c8a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af6a6243b497df5fdab9f658b9add9c8a">SVF::DDAVFSolver::backwardPropDpm</a></div><div class="ttdeci">virtual void backwardPropDpm(CPtSet &pts, NodeID ptr, const DPIm &oldDpm, const SVFGEdge *edge)</div><div class="ttdoc">dpm transit during backward tracing </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00421">DDAVFSolver.h:421</a></div></div>
|
|
@@ -1059,7 +1059,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
1059
1059
|
<div class="ttc" id="namespaceSVF_html_aa7b6a13e52671de8524b130738aeb564"><div class="ttname"><a href="namespaceSVF.html#aa7b6a13e52671de8524b130738aeb564">SVF::NodeBS</a></div><div class="ttdeci">SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00096">SVFBasicTypes.h:96</a></div></div>
|
|
1060
1060
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
1061
1061
|
<div class="ttc" id="classSVF_1_1VFGNode_html_a3c558955f60c237c558d8faafed781e8"><div class="ttname"><a href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">SVF::VFGNode::const_iterator</a></div><div class="ttdeci">VFGEdge::VFGEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00060">VFGNode.h:60</a></div></div>
|
|
1062
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
1062
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00670">SVFIR.cpp:670</a></div></div>
|
|
1063
1063
|
<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>
|
|
1064
1064
|
</div><!-- fragment -->
|
|
1065
1065
|
</div>
|
|
@@ -2170,7 +2170,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
2170
2170
|
<p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00646">646</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
|
|
2171
2171
|
<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  {</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keyword">const</span> MemObj* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">getPtrNodeID</a>(var));</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  <span class="keywordflow">return</span> mem->isArray();</div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  }</div><div class="ttc" id="classSVF_1_1DDAVFSolver_html_a3fa002d4ba4194ffde62ecbdd361a24d"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">SVF::DDAVFSolver::getPtrNodeID</a></div><div class="ttdeci">virtual NodeID getPtrNodeID(const CVar &var) const =0</div><div class="ttdoc">Methods to be implemented in child class. </div></div>
|
|
2172
2172
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
2173
|
-
<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#
|
|
2173
|
+
<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>
|
|
2174
2174
|
</div><!-- fragment -->
|
|
2175
2175
|
</div>
|
|
2176
2176
|
</div>
|
|
@@ -2232,7 +2232,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
2232
2232
|
</div><div class="memdoc">
|
|
2233
2233
|
|
|
2234
2234
|
<p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00652">652</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
|
|
2235
|
-
<div class="fragment"><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  {</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keyword">const</span> MemObj* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">getPtrNodeID</a>(var));</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>();</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  }</div><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#
|
|
2235
|
+
<div class="fragment"><div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  {</div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keyword">const</span> MemObj* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">getPtrNodeID</a>(var));</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  <span class="keywordflow">return</span> mem-><a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>();</div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  }</div><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>
|
|
2236
2236
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a3fa002d4ba4194ffde62ecbdd361a24d"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">SVF::DDAVFSolver::getPtrNodeID</a></div><div class="ttdeci">virtual NodeID getPtrNodeID(const CVar &var) const =0</div><div class="ttdoc">Methods to be implemented in child class. </div></div>
|
|
2237
2237
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
2238
2238
|
<div class="ttc" id="classSVF_1_1MemObj_html_a41d85883d44ad77832b020455951c6fc"><div class="ttname"><a href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">SVF::MemObj::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive() const</div><div class="ttdoc">Return true if its field limit is 0. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00738">SymbolTableInfo.cpp:738</a></div></div>
|
|
@@ -2282,7 +2282,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
2282
2282
|
<p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00639">639</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
|
|
2283
2283
|
<div class="fragment"><div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  {</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keyword">const</span> MemObj* mem = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a2dd4d5f704906270af13e7a07f900eb1">getObject</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">getPtrNodeID</a>(var));</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  assert(mem && <span class="stringliteral">"memory object is null??"</span>);</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keywordflow">return</span> mem->isHeap();</div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  }</div><div class="ttc" id="classSVF_1_1DDAVFSolver_html_a3fa002d4ba4194ffde62ecbdd361a24d"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a3fa002d4ba4194ffde62ecbdd361a24d">SVF::DDAVFSolver::getPtrNodeID</a></div><div class="ttdeci">virtual NodeID getPtrNodeID(const CVar &var) const =0</div><div class="ttdoc">Methods to be implemented in child class. </div></div>
|
|
2284
2284
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
2285
|
-
<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#
|
|
2285
|
+
<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>
|
|
2286
2286
|
</div><!-- fragment -->
|
|
2287
2287
|
</div>
|
|
2288
2288
|
</div>
|
|
@@ -2328,7 +2328,7 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
2328
2328
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a5d699af73b1e7ad4e3a5f6d26b8b6d15"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a5d699af73b1e7ad4e3a5f6d26b8b6d15">SVF::SCCDetection::isInCycle</a></div><div class="ttdeci">bool isInCycle(NodeID n) const</div><div class="ttdoc">whether the node is in a cycle </div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00149">SCC.h:149</a></div></div>
|
|
2329
2329
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::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>
|
|
2330
2330
|
<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>
|
|
2331
|
-
<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#
|
|
2331
|
+
<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>
|
|
2332
2332
|
</div><!-- fragment -->
|
|
2333
2333
|
</div>
|
|
2334
2334
|
</div>
|
|
@@ -2739,10 +2739,10 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
2739
2739
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a6489319b33a807f7caba2d34017a3e1b"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a6489319b33a807f7caba2d34017a3e1b">SVF::DDAVFSolver::SVFGEdgeSet</a></div><div class="ttdeci">SVFGEdge::SVFGEdgeSetTy SVFGEdgeSet</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00061">DDAVFSolver.h:61</a></div></div>
|
|
2740
2740
|
<div class="ttc" id="classSVF_1_1SCCDetection_html_a123b5006a6da7053e5e357140da3c5a3"><div class="ttname"><a href="classSVF_1_1SCCDetection.html#a123b5006a6da7053e5e357140da3c5a3">SVF::SCCDetection::find</a></div><div class="ttdeci">void find(void)</div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00308">SCC.h:308</a></div></div>
|
|
2741
2741
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_ace037388135f272365cee2e87844bfba"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#ace037388135f272365cee2e87844bfba">SVF::DDAVFSolver::reComputeForEdges</a></div><div class="ttdeci">void reComputeForEdges(const DPIm &dpm, const SVFGEdgeSet &edgeSet, bool indirectCall=false)</div><div class="ttdoc">Traverse along out edges to find all nodes which may be affected by locDPM. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00271">DDAVFSolver.h:271</a></div></div>
|
|
2742
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a9235a60e7332c8416e113e7360441d97"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a9235a60e7332c8416e113e7360441d97">SVF::SVFIR::isFunPtr</a></div><div class="ttdeci">bool isFunPtr(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
2742
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a9235a60e7332c8416e113e7360441d97"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a9235a60e7332c8416e113e7360441d97">SVF::SVFIR::isFunPtr</a></div><div class="ttdeci">bool isFunPtr(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00329">SVFIR.h:329</a></div></div>
|
|
2743
2743
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a637dddedd96942d56de6fd6d10c09169"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a637dddedd96942d56de6fd6d10c09169">SVF::DDAVFSolver::updateCallGraphAndSVFG</a></div><div class="ttdeci">virtual void updateCallGraphAndSVFG(const DPIm &, const CallICFGNode *, SVFGEdgeSet &)</div><div class="ttdoc">Update call graph. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00532">DDAVFSolver.h:532</a></div></div>
|
|
2744
2744
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
2745
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_abf209739a97b96ae0d1c8451fdc684e8"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abf209739a97b96ae0d1c8451fdc684e8">SVF::SVFIR::getIndCallSites</a></div><div class="ttdeci">const CallSiteSet & getIndCallSites(NodeID funPtr) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
2745
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_abf209739a97b96ae0d1c8451fdc684e8"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abf209739a97b96ae0d1c8451fdc684e8">SVF::SVFIR::getIndCallSites</a></div><div class="ttdeci">const CallSiteSet & getIndCallSites(NodeID funPtr) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00319">SVFIR.h:319</a></div></div>
|
|
2746
2746
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a0c590e9d56b6d37cb6e0c9081363a0ef"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a0c590e9d56b6d37cb6e0c9081363a0ef">SVF::DDAVFSolver::CallSiteSet</a></div><div class="ttdeci">SVFIR::CallSiteSet CallSiteSet</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00054">DDAVFSolver.h:54</a></div></div>
|
|
2747
2747
|
</div><!-- fragment -->
|
|
2748
2748
|
</div>
|
|
@@ -2910,13 +2910,13 @@ template<class CVar, class CPtSet, class DPIm> </div>
|
|
|
2910
2910
|
<p class="definition">Definition at line <a class="el" href="DDAVFSolver_8h_source.html#l00490">490</a> of file <a class="el" href="DDAVFSolver_8h_source.html">DDAVFSolver.h</a>.</p>
|
|
2911
2911
|
<div class="fragment"><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  {</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> CallICFGNode* cbn= <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()->isCallSiteRetSVFGNode(dpm.getLoc()))</div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  {</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a3dbe0b17694daa74f648a70e77efaf23">isIndirectCallSites</a>(cbn))</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  {</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> funPtr = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(cbn);</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  DPIm funPtrDpm(dpm);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  funPtrDpm.setLocVar(<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-><a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(funPtr)),funPtr);</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#a52737dd41c63404ef91691154aa250ce">findPT</a>(funPtrDpm);</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  }</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> SVFFunction* fun = <a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()->isFunEntrySVFGNode(dpm.getLoc()))</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  {</div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#ac227096ad71dfda8bc48c139fccb3af2">CallInstSet</a> csSet;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">_ander</a>-><a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>()-><a class="code" href="classSVF_1_1PTACallGraph.html#a9a4b0c6672288b9201ab254b4c49548d">getIndCallSitesInvokingCallee</a>(fun,csSet);</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">for</span>(CallInstSet::const_iterator it = csSet.begin(), eit = csSet.end(); it!=eit; ++it)</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  {</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> funPtr = <a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#a17c5d9fa7c0bd3cd03c06b5ff0906eb6">getFunPtr</a>(*it);</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  DPIm funPtrDpm(dpm);</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  funPtrDpm.setLocVar(<a class="code" href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">getSVFG</a>()-><a class="code" href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">getDefSVFGNode</a>(<a class="code" href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">_pag</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(funPtr)),funPtr);</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="code" href="classSVF_1_1DDAVFSolver.html#a52737dd41c63404ef91691154aa250ce">findPT</a>(funPtrDpm);</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  }</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  }</div><div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  }</div><div class="ttc" id="classSVF_1_1DDAVFSolver_html_a55803a2d30137b5ad15c5afeec7c6b28"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a55803a2d30137b5ad15c5afeec7c6b28">SVF::DDAVFSolver::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">GetDefinition SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00342">DDAVFSolver.h:342</a></div></div>
|
|
2912
2912
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
2913
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a3dbe0b17694daa74f648a70e77efaf23"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3dbe0b17694daa74f648a70e77efaf23">SVF::SVFIR::isIndirectCallSites</a></div><div class="ttdeci">bool isIndirectCallSites(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
2913
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a3dbe0b17694daa74f648a70e77efaf23"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3dbe0b17694daa74f648a70e77efaf23">SVF::SVFIR::isIndirectCallSites</a></div><div class="ttdeci">bool isIndirectCallSites(const CallICFGNode *cs) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00325">SVFIR.h:325</a></div></div>
|
|
2914
2914
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a52737dd41c63404ef91691154aa250ce"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a52737dd41c63404ef91691154aa250ce">SVF::DDAVFSolver::findPT</a></div><div class="ttdeci">virtual const CPtSet & findPT(const DPIm &dpm)</div><div class="ttdoc">Compute points-to. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00138">DDAVFSolver.h:138</a></div></div>
|
|
2915
2915
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a7c9b7e5fe37ae31ba84d167945ca57df"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">SVF::PointerAnalysis::getPTACallGraph</a></div><div class="ttdeci">PTACallGraph * getPTACallGraph() const</div><div class="ttdoc">Return call graph. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00174">PointerAnalysis.h:174</a></div></div>
|
|
2916
2916
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a9a4b0c6672288b9201ab254b4c49548d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a9a4b0c6672288b9201ab254b4c49548d">SVF::PTACallGraph::getIndCallSitesInvokingCallee</a></div><div class="ttdeci">void getIndCallSitesInvokingCallee(const SVFFunction *callee, PTACallGraphEdge::CallInstSet &csSet)</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8cpp_source.html#l00248">PTACallGraph.cpp:248</a></div></div>
|
|
2917
2917
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
2918
2918
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_ac227096ad71dfda8bc48c139fccb3af2"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#ac227096ad71dfda8bc48c139fccb3af2">SVF::DDAVFSolver::CallInstSet</a></div><div class="ttdeci">PTACallGraphEdge::CallInstSet CallInstSet</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00053">DDAVFSolver.h:53</a></div></div>
|
|
2919
|
-
<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#
|
|
2919
|
+
<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>
|
|
2920
2920
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_acb7980c7e0d1d8ad6abab0b80831d2a9"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#acb7980c7e0d1d8ad6abab0b80831d2a9">SVF::DDAVFSolver::getSVFG</a></div><div class="ttdeci">SVFG * getSVFG() const</div><div class="ttdoc">Return SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00118">DDAVFSolver.h:118</a></div></div>
|
|
2921
2921
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_aa1d1b6e8cc23f0a6d3935cbe4f02cbdf"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aa1d1b6e8cc23f0a6d3935cbe4f02cbdf">SVF::DDAVFSolver::_ander</a></div><div class="ttdeci">AndersenWaveDiff * _ander</div><div class="ttdoc">Andersen&#39;s analysis. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00777">DDAVFSolver.h:777</a></div></div>
|
|
2922
2922
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::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>
|
|
@@ -1354,7 +1354,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1354
1354
|
<div class="ttc" id="classSVF_1_1FlowDDA_html_a9749c82c1164adb17e2ae53e725ded9a"><div class="ttname"><a href="classSVF_1_1FlowDDA.html#a9749c82c1164adb17e2ae53e725ded9a">SVF::FlowDDA::getPtrNodeID</a></div><div class="ttdeci">virtual NodeID getPtrNodeID(const NodeID &var) const override</div><div class="ttdoc">Override parent method. </div><div class="ttdef"><b>Definition:</b> <a href="FlowDDA_8h_source.html#l00114">FlowDDA.h:114</a></div></div>
|
|
1355
1355
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a5521918cc06c182c821b9fae8136e4fe"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a5521918cc06c182c821b9fae8136e4fe">SVF::DDAVFSolver< NodeID, PointsTo, LocDPItem >::_pag</a></div><div class="ttdeci">SVFIR * _pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00775">DDAVFSolver.h:775</a></div></div>
|
|
1356
1356
|
<div class="ttc" id="classSVF_1_1MemObj_html_a898c5bb3956402578266a6fb142e02b1"><div class="ttname"><a href="classSVF_1_1MemObj.html#a898c5bb3956402578266a6fb142e02b1">SVF::MemObj::isHeap</a></div><div class="ttdeci">bool isHeap() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00769">SymbolTableInfo.cpp:769</a></div></div>
|
|
1357
|
-
<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#
|
|
1357
|
+
<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>
|
|
1358
1358
|
</div><!-- fragment -->
|
|
1359
1359
|
</div>
|
|
1360
1360
|
</div>
|
|
@@ -1648,7 +1648,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1648
1648
|
|
|
1649
1649
|
<p class="definition">Definition at line <a class="el" href="FlowSensitive_8cpp_source.html#l00612">612</a> of file <a class="el" href="FlowSensitive_8cpp_source.html">FlowSensitive.cpp</a>.</p>
|
|
1650
1650
|
<div class="fragment"><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> {</div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordtype">bool</span> isSU = <span class="keyword">false</span>;</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreVFGNode.html">StoreSVFGNode</a>* store = SVFUtil::dyn_cast<StoreSVFGNode>(node))</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  {</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PointsTo.html">PointsTo</a>& dstCPSet = <a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(store->getPAGDstNodeID());</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keywordflow">if</span> (dstCPSet.<a class="code" href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">count</a>() == 1)</div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  {</div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <a class="code" href="classSVF_1_1PointsTo_1_1PointsToIterator.html">PointsTo::iterator</a> it = dstCPSet.<a class="code" href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">begin</a>();</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  singleton = *it;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="comment">// Strong update can be made if this points-to target is not heap, array or field-insensitive.</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1PointerAnalysis.html#ae6ea391ac44dffeb6899bb44323c5361">isHeapMemObj</a>(singleton) && !<a class="code" href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73">isArrayMemObj</a>(singleton)</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  && <a class="code" href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">pag</a>-><a class="code" href="classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749">getBaseObj</a>(singleton)-><a class="code" href="classSVF_1_1MemObj.html#a41d85883d44ad77832b020455951c6fc">isFieldInsensitive</a>() == <span class="keyword">false</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  && !<a class="code" href="classSVF_1_1PointerAnalysis.html#a108380f6f0b67654bb7c7676686096c8">isLocalVarInRecursiveFun</a>(singleton))</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  {</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  isSU = <span class="keyword">true</span>;</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  }</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  }</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  }</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">return</span> isSU;</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> }</div><div class="ttc" id="classSVF_1_1StoreVFGNode_html"><div class="ttname"><a href="classSVF_1_1StoreVFGNode.html">SVF::StoreVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00240">VFGNode.h:240</a></div></div>
|
|
1651
|
-
<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#
|
|
1651
|
+
<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>
|
|
1652
1652
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
|
|
1653
1653
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
|
|
1654
1654
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a89dfeedf8e3e91603a1e9c73e3608a73"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a89dfeedf8e3e91603a1e9c73e3608a73">SVF::PointerAnalysis::isArrayMemObj</a></div><div class="ttdeci">bool isArrayMemObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00319">PointerAnalysis.h:319</a></div></div>
|
|
@@ -1857,7 +1857,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1857
1857
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_aab4f70210eb1e6447a24697d3b459067"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#aab4f70210eb1e6447a24697d3b459067">SVF::FlowSensitive::loadTime</a></div><div class="ttdeci">double loadTime</div><div class="ttdoc">time of load edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00311">FlowSensitive.h:311</a></div></div>
|
|
1858
1858
|
<div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00019">MTAResultValidator.h:19</a></div></div>
|
|
1859
1859
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
|
|
1860
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
1860
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00402">SVFIR.h:402</a></div></div>
|
|
1861
1861
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5dddd53b4ca9d7cc23d88ed9f3de9fde"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5dddd53b4ca9d7cc23d88ed9f3de9fde">SVF::PointerAnalysis::getAllFieldsObjVars</a></div><div class="ttdeci">virtual const NodeBS & getAllFieldsObjVars(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00345">PointerAnalysis.h:345</a></div></div>
|
|
1862
1862
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a16d757abf69ad77951b808dc18ca2999"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a16d757abf69ad77951b808dc18ca2999">SVF::FlowSensitive::unionPtsFromIn</a></div><div class="ttdeci">virtual bool unionPtsFromIn(const SVFGNode *stmt, NodeID srcVar, NodeID dstVar)</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00203">FlowSensitive.h:203</a></div></div>
|
|
1863
1863
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
|
|
@@ -1872,7 +1872,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1872
1872
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_adc7f5c71efb9cd1bec4f5ca9127654c3"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#adc7f5c71efb9cd1bec4f5ca9127654c3">SVF::PointerAnalysis::pag</a></div><div class="ttdeci">static SVFIR * pag</div><div class="ttdoc">SVFIR. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00142">PointerAnalysis.h:142</a></div></div>
|
|
1873
1873
|
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a0f71e4cd0948b294c7d33a690bde7dbe"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a0f71e4cd0948b294c7d33a690bde7dbe">SVF::PointerAnalysis::isFieldInsensitive</a></div><div class="ttdeci">bool isFieldInsensitive(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00354">PointerAnalysis.h:354</a></div></div>
|
|
1874
1874
|
<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>
|
|
1875
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
1875
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00670">SVFIR.cpp:670</a></div></div>
|
|
1876
1876
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00132">PointsTo.h:132</a></div></div>
|
|
1877
1877
|
</div><!-- fragment -->
|
|
1878
1878
|
</div>
|
|
@@ -1997,7 +1997,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1997
1997
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a42a7e39e0e15576742f8ba7c32579ea2"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a42a7e39e0e15576742f8ba7c32579ea2">SVF::FlowSensitive::isStrongUpdate</a></div><div class="ttdeci">bool isStrongUpdate(const SVFGNode *node, NodeID &singleton)</div><div class="ttdoc">Return TRUE if this is a strong update STORE statement. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8cpp_source.html#l00612">FlowSensitive.cpp:612</a></div></div>
|
|
1998
1998
|
<div class="ttc" id="classSVF_1_1PointsTo_1_1PointsToIterator_html"><div class="ttname"><a href="classSVF_1_1PointsTo_1_1PointsToIterator.html">SVF::PointsTo::PointsToIterator</a></div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00181">PointsTo.h:181</a></div></div>
|
|
1999
1999
|
<div class="ttc" id="classSVF_1_1SparseBitVector_html_ad5337b5aeed50f8b7ffd56b14ee25c9f"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#ad5337b5aeed50f8b7ffd56b14ee25c9f">SVF::SparseBitVector::reset</a></div><div class="ttdeci">void reset(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00722">SparseBitVector.h:722</a></div></div>
|
|
2000
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
2000
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a5d15e4b09784f438568ebe61f8aa5156"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a5d15e4b09784f438568ebe61f8aa5156">SVF::SVFIR::isConstantObj</a></div><div class="ttdeci">bool isConstantObj(NodeID id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00402">SVFIR.h:402</a></div></div>
|
|
2001
2001
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_ab492c283e2264b4cbd4c192e805b7750"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ab492c283e2264b4cbd4c192e805b7750">SVF::FlowSensitive::weakUpdateOutFromIn</a></div><div class="ttdeci">virtual bool weakUpdateOutFromIn(const SVFGNode *node)</div><div class="ttdoc">Handle weak updates. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00162">FlowSensitive.h:162</a></div></div>
|
|
2002
2002
|
<div class="ttc" id="classSVF_1_1PointsTo_html_aa53962e561399bf493d1f2b9137356f6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#aa53962e561399bf493d1f2b9137356f6">SVF::PointsTo::begin</a></div><div class="ttdeci">const_iterator begin(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00128">PointsTo.h:128</a></div></div>
|
|
2003
2003
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
@@ -2013,7 +2013,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
2013
2013
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a82b76087363b26fbe749653935569de7"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a82b76087363b26fbe749653935569de7">SVF::FlowSensitive::storeTime</a></div><div class="ttdeci">double storeTime</div><div class="ttdoc">time of store edges </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00312">FlowSensitive.h:312</a></div></div>
|
|
2014
2014
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_a8ebe4342c1496b906ee1b6450558c3e8"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a8ebe4342c1496b906ee1b6450558c3e8">SVF::FlowSensitive::strongUpdateOutFromIn</a></div><div class="ttdeci">virtual bool strongUpdateOutFromIn(const SVFGNode *node, NodeID singleton)</div><div class="ttdoc">Handle strong updates. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00167">FlowSensitive.h:167</a></div></div>
|
|
2015
2015
|
<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>
|
|
2016
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#
|
|
2016
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a980e54129ece0757d7f0373f37428507"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a980e54129ece0757d7f0373f37428507">SVF::SVFIR::isNonPointerObj</a></div><div class="ttdeci">bool isNonPointerObj(NodeID id) const</div><div class="ttdoc">Whether an object can point to any other object or any of its fields is a pointer type...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00670">SVFIR.cpp:670</a></div></div>
|
|
2017
2017
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a8f741cdffbf3c5fe0f602cdca677dee6"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00132">PointsTo.h:132</a></div></div>
|
|
2018
2018
|
<div class="ttc" id="classSVF_1_1FlowSensitive_html_af5a94d14096ae2bbc47b3b3b9f723226"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#af5a94d14096ae2bbc47b3b3b9f723226">SVF::FlowSensitive::updateTime</a></div><div class="ttdeci">double updateTime</div><div class="ttdoc">time of strong/weak updates. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00307">FlowSensitive.h:307</a></div></div>
|
|
2019
2019
|
</div><!-- fragment -->
|