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
|
@@ -92,12 +92,12 @@ $(function() {
|
|
|
92
92
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_ad9edb45e74ae675d9da82f5acf02d56e"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#ad9edb45e74ae675d9da82f5acf02d56e">SVF::GenericEdge::getDstID</a></div><div class="ttdeci">NodeID getDstID() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00077">GenericGraph.h:77</a></div></div>
|
|
93
93
|
<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>
|
|
94
94
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a0d563fe8b016b27a58f5b054fec9c38a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a0d563fe8b016b27a58f5b054fec9c38a">SVF::DDAVFSolver::svfgBuilder</a></div><div class="ttdeci">SVFGBuilder svfgBuilder</div><div class="ttdoc">SVFG Builder. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00791">DDAVFSolver.h:791</a></div></div>
|
|
95
|
-
<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#
|
|
95
|
+
<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>
|
|
96
96
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_afe518d3d7f8051de5b9860f2460aa1b7"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#afe518d3d7f8051de5b9860f2460aa1b7">SVF::DDAVFSolver::resetQuery</a></div><div class="ttdeci">virtual void resetQuery()</div><div class="ttdoc">Reset visited map for next points-to query. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00319">DDAVFSolver.h:319</a></div></div>
|
|
97
97
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_ab60c701f1881d88aa4440991fb972638"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#ab60c701f1881d88aa4440991fb972638">SVF::DDAVFSolver::OOBResetVisited</a></div><div class="ttdeci">void OOBResetVisited()</div><div class="ttdoc">Reset visited map if the current query is out-of-budget. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00331">DDAVFSolver.h:331</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_af7be3fa6c73dde97d6f9fd0395c9aee0"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af7be3fa6c73dde97d6f9fd0395c9aee0">SVF::DDAVFSolver::addDpmToLoc</a></div><div class="ttdeci">void addDpmToLoc(const DPIm &dpm)</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00669">DDAVFSolver.h:669</a></div></div>
|
|
99
99
|
<div class="ttc" id="classSVF_1_1DDAStat_html_a9625c4623acc4f6ccaca1ec8f04f5a54"><div class="ttname"><a href="classSVF_1_1DDAStat.html#a9625c4623acc4f6ccaca1ec8f04f5a54">SVF::DDAStat::_TotalTimeOfBKCondition</a></div><div class="ttdeci">double _TotalTimeOfBKCondition</div><div class="ttdef"><b>Definition:</b> <a href="DDAStat_8h_source.html#l00064">DDAStat.h:64</a></div></div>
|
|
100
|
-
<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#
|
|
100
|
+
<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>
|
|
101
101
|
<div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
|
|
102
102
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html">SVF::AndersenWaveDiff</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00378">Andersen.h:378</a></div></div>
|
|
103
103
|
<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>
|
|
@@ -128,7 +128,7 @@ $(function() {
|
|
|
128
128
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_aff744e724dcf06a2b1cdd7ba2b1093f1"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aff744e724dcf06a2b1cdd7ba2b1093f1">SVF::DDAVFSolver::startNewPTCompFromStoreDst</a></div><div class="ttdeci">void startNewPTCompFromStoreDst(CPtSet &pts, const DPIm &oldDpm)</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00398">DDAVFSolver.h:398</a></div></div>
|
|
129
129
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_aab76f98ae4f0c1f62f101ac5c5fdbf83"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aab76f98ae4f0c1f62f101ac5c5fdbf83">SVF::DDAVFSolver::LocToDPMVecMap</a></div><div class="ttdeci">OrderedMap< NodeID, DPTItemSet > LocToDPMVecMap</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00059">DDAVFSolver.h:59</a></div></div>
|
|
130
130
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_adbd209b4a2327b2b068fbb56e12042f7"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#adbd209b4a2327b2b068fbb56e12042f7">SVF::DDAVFSolver::backtraceToStoreSrc</a></div><div class="ttdeci">void backtraceToStoreSrc(CPtSet &pts, const DPIm &oldDpm)</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00408">DDAVFSolver.h:408</a></div></div>
|
|
131
|
-
<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#
|
|
131
|
+
<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>
|
|
132
132
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a2d6df8149b45d719e22fc505df94171a"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a2d6df8149b45d719e22fc505df94171a">SVF::DDAVFSolver::dpmToTLCPtSetMap</a></div><div class="ttdeci">DPImToCPtSetMap dpmToTLCPtSetMap</div><div class="ttdoc">points-to caching map for top-level vars </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00783">DDAVFSolver.h:783</a></div></div>
|
|
133
133
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a73bbf4f763316e8d5db62d163da35a18"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a73bbf4f763316e8d5db62d163da35a18">SVF::DDAVFSolver::getCandidateQueries</a></div><div class="ttdeci">NodeBS & getCandidateQueries()</div><div class="ttdoc">Return candidate pointers for DDA. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00091">DDAVFSolver.h:91</a></div></div>
|
|
134
134
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_afc2b0eeb1d5d5f292690f3c949217c38"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#afc2b0eeb1d5d5f292690f3c949217c38">SVF::DDAVFSolver::setCallGraph</a></div><div class="ttdeci">void setCallGraph(PTACallGraph *cg)</div><div class="ttdoc">Set callgraph. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00628">DDAVFSolver.h:628</a></div></div>
|
|
@@ -140,7 +140,7 @@ $(function() {
|
|
|
140
140
|
<div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_adbedb15ac0f9395c5264f087a63bad3b"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#adbedb15ac0f9395c5264f087a63bad3b">SVF::PTACallGraphEdge::CallInstSet</a></div><div class="ttdeci">Set< const CallICFGNode * > CallInstSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00055">PTACallGraph.h:55</a></div></div>
|
|
141
141
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_af34ed8482d3737a8aaaff2d5c75960ec"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#af34ed8482d3737a8aaaff2d5c75960ec">SVF::DDAVFSolver::buildSVFG</a></div><div class="ttdeci">virtual void buildSVFG(SVFIR *pag)</div><div class="ttdoc">Build SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00312">DDAVFSolver.h:312</a></div></div>
|
|
142
142
|
<div class="ttc" id="classSVF_1_1DirectSVFGEdge_html"><div class="ttname"><a href="classSVF_1_1DirectSVFGEdge.html">SVF::DirectSVFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00141">VFGEdge.h:141</a></div></div>
|
|
143
|
-
<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#
|
|
143
|
+
<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>
|
|
144
144
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
145
145
|
<div class="ttc" id="classSVF_1_1MemObj_html_aeba6eeed4843a1a90cf1d4b7deb197af"><div class="ttname"><a href="classSVF_1_1MemObj.html#aeba6eeed4843a1a90cf1d4b7deb197af">SVF::MemObj::isArray</a></div><div class="ttdeci">bool isArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00779">SymbolTableInfo.cpp:779</a></div></div>
|
|
146
146
|
<div class="ttc" id="classSVF_1_1SCCDetection_html"><div class="ttname"><a href="classSVF_1_1SCCDetection.html">SVF::SCCDetection</a></div><div class="ttdef"><b>Definition:</b> <a href="SCC_8h_source.html#l00054">SCC.h:54</a></div></div>
|
|
@@ -211,7 +211,7 @@ $(function() {
|
|
|
211
211
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a2ccbcfa949a1796094b5d9499177fc2b"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a2ccbcfa949a1796094b5d9499177fc2b">SVF::DDAVFSolver::DPMToDPMMap</a></div><div class="ttdeci">OrderedMap< DPIm, DPIm > DPMToDPMMap</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00058">DDAVFSolver.h:58</a></div></div>
|
|
212
212
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a2565bf8dcacb22350dc1dc98ec7595f2"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a2565bf8dcacb22350dc1dc98ec7595f2">SVF::DDAVFSolver::dpmToADCPtSetMap</a></div><div class="ttdeci">DPImToCPtSetMap dpmToADCPtSetMap</div><div class="ttdoc">points-to caching map for address-taken vars </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00784">DDAVFSolver.h:784</a></div></div>
|
|
213
213
|
<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>
|
|
214
|
-
<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#
|
|
214
|
+
<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>
|
|
215
215
|
<div class="ttc" id="classSVF_1_1AndersenWaveDiff_html_a48ff6fc4badc79ad3204ae9bd95cc540"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a48ff6fc4badc79ad3204ae9bd95cc540">SVF::AndersenWaveDiff::createAndersenWaveDiff</a></div><div class="ttdeci">static AndersenWaveDiff * createAndersenWaveDiff(SVFIR *_pag)</div><div class="ttdoc">Create an singleton instance directly instead of invoking llvm pass manager. </div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00389">Andersen.h:389</a></div></div>
|
|
216
216
|
<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>
|
|
217
217
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a4725013a7617645e1418ed670d4837b5"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a4725013a7617645e1418ed670d4837b5">SVF::DDAVFSolver::addLoadDpm</a></div><div class="ttdeci">void addLoadDpm(const DPIm &dpm, const DPIm &loadDpm)</div><div class="ttdoc">Note that simply use "dpmToloadDpmMap[dpm]=loadDpm", requires DPIm have a default constructor...</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00688">DDAVFSolver.h:688</a></div></div>
|
|
@@ -246,9 +246,9 @@ $(function() {
|
|
|
246
246
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a7579491400f1781356cb7d1913537547"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a7579491400f1781356cb7d1913537547">SVF::DDAVFSolver::addLoadCVar</a></div><div class="ttdeci">void addLoadCVar(const DPIm &dpm, const CVar &loadVar)</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00702">DDAVFSolver.h:702</a></div></div>
|
|
247
247
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_abd652b2627f68d7d4f8bf3bdb20ce975"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#abd652b2627f68d7d4f8bf3bdb20ce975">SVF::DDAVFSolver::setCallGraphSCC</a></div><div class="ttdeci">void setCallGraphSCC(CallGraphSCC *scc)</div><div class="ttdoc">Set callgraphSCC. </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00633">DDAVFSolver.h:633</a></div></div>
|
|
248
248
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_a9a9c3a8b5e4ffc89418073110e446f20"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#a9a9c3a8b5e4ffc89418073110e446f20">SVF::DDAVFSolver::isbkVisited</a></div><div class="ttdeci">bool isbkVisited(const DPIm &dpm)</div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00541">DDAVFSolver.h:541</a></div></div>
|
|
249
|
-
<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#
|
|
249
|
+
<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>
|
|
250
250
|
<div class="ttc" id="classSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
251
|
-
<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#
|
|
251
|
+
<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>
|
|
252
252
|
<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>
|
|
253
253
|
<div class="ttc" id="classSVF_1_1DDAVFSolver_html_aa724698d499615bce7caf8f312b746a7"><div class="ttname"><a href="classSVF_1_1DDAVFSolver.html#aa724698d499615bce7caf8f312b746a7">SVF::DDAVFSolver::locToDpmSetMap</a></div><div class="ttdeci">LocToDPMVecMap locToDpmSetMap</div><div class="ttdoc">map location to its dpms </div><div class="ttdef"><b>Definition:</b> <a href="DDAVFSolver_8h_source.html#l00785">DDAVFSolver.h:785</a></div></div>
|
|
254
254
|
<div class="ttc" id="SVFBasicTypes_8h_html_ab6f41e9db3675dc689c5492418885041"><div class="ttname"><a href="SVFBasicTypes_8h.html#ab6f41e9db3675dc689c5492418885041">DOTIMESTAT</a></div><div class="ttdeci">#define DOTIMESTAT(X)</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00157">SVFBasicTypes.h:157</a></div></div>
|
|
@@ -259,7 +259,7 @@ $(function() {
|
|
|
259
259
|
<div class="ttc" id="classSVF_1_1VFGNode_html"><div class="ttname"><a href="classSVF_1_1VFGNode.html">SVF::VFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00046">VFGNode.h:46</a></div></div>
|
|
260
260
|
<div class="ttc" id="namespaceSVF_html_aedf0d6718ca176e0b9e17ab4b30729c6"><div class="ttname"><a href="namespaceSVF.html#aedf0d6718ca176e0b9e17ab4b30729c6">SVF::OrderedMap</a></div><div class="ttdeci">std::map< Key, Value, Compare, Allocator > OrderedMap</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00117">SVFBasicTypes.h:117</a></div></div>
|
|
261
261
|
<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>
|
|
262
|
-
<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#
|
|
262
|
+
<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>
|
|
263
263
|
</div><!-- fragment --></div><!-- contents -->
|
|
264
264
|
<!-- start footer part -->
|
|
265
265
|
<hr class="footer"/><address class="footer"><small>
|
|
@@ -69,15 +69,15 @@ $(function() {
|
|
|
69
69
|
<a href="DataFlowUtil_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">//===- DataFlowUtil.cpp -- Helper class for data-flow analysis----------------//</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// SVF: Static Value-Flow Analysis</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">//</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// Copyright (C) <2013-2017> <Yulei Sui></span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">//</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// (at your option) any later version.</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// GNU General Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// along with this program. If not, see <http://www.gnu.org/licenses/>.</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">//</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">//===----------------------------------------------------------------------===//</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> </div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">/*</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * DataFlowUtil.cpp</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> *</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> * Created on: Jun 4, 2013</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * Author: Yulei Sui</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> */</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include "<a class="code" href="DataFlowUtil_8h.html">SVF-FE/DataFlowUtil.h</a>"</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include "<a class="code" href="LLVMModule_8h.html">SVF-FE/LLVMModule.h</a>"</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">using namespace </span><a class="code" href="namespaceSVF.html">SVF</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="keyword">using namespace </span><a class="code" href="namespacellvm.html">llvm</a>;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="keywordtype">char</span> <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#aaae6f876063759941ac236f17a80cea2">IteratedDominanceFrontier::ID</a> = 0;</div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="comment">//static RegisterPass<IteratedDominanceFrontier> IDF("IDF",</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// "IteratedDominanceFrontier Pass");</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classSVF_1_1PTACFInfoBuilder.html#abf1c70ba37181884e7848f6a7c6acf2c"> 41</a></span> <a class="code" href="classSVF_1_1PTACFInfoBuilder.html#abf1c70ba37181884e7848f6a7c6acf2c">PTACFInfoBuilder::PTACFInfoBuilder</a>()</div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// Module* mod = LLVMModuleSet::getLLVMModuleSet()->getMainLLVMModule();</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// llvm::legacy::PassManager PM;</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// PM.add(new llvm::PTACFInfoBuilderPass());</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// PM.run(*mod);</span></div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> </div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classSVF_1_1PTACFInfoBuilder.html#a772d751f20884e0103703e0b33ae0a16"> 49</a></span> <a class="code" href="classSVF_1_1PTACFInfoBuilder.html#a772d751f20884e0103703e0b33ae0a16">PTACFInfoBuilder::~PTACFInfoBuilder</a>()</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">for</span>(FunToLoopInfoMap::iterator it = funToLoopInfoMap.begin(), eit = funToLoopInfoMap.end(); it!=eit; ++it)</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  {</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">if</span>(it->second != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">delete</span> it->second;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">for</span>(FunToDTMap::iterator it = funToDTMap.begin(), eit = funToDTMap.end(); it!=eit; ++it)</div><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>  <span class="keywordflow">if</span>(it->second != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  {</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="keyword">delete</span> it->second;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  }</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">for</span>(FunToPostDTMap::iterator it = funToPDTMap.begin(), eit = funToPDTMap.end(); it!=eit; ++it)</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  {</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span>(it->second != <span class="keyword">nullptr</span>)</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">delete</span> it->second;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  }</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> }</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classSVF_1_1PTACFInfoBuilder.html#a418e6009760a7c9a048d2ffd9cd29956"> 75</a></span> <a class="code" href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">LoopInfo</a>* <a class="code" href="classSVF_1_1PTACFInfoBuilder.html#a418e6009760a7c9a048d2ffd9cd29956">PTACFInfoBuilder::getLoopInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* f)</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> {</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  assert(f->isDeclaration()==<span class="keyword">false</span> && <span class="stringliteral">"external function (without body) does not have a loopInfo"</span>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>*<span class="keyword">></span>(f);</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  FunToLoopInfoMap::iterator it = funToLoopInfoMap.find(fun);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">if</span>(it==funToLoopInfoMap.end())</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a>* dt = <span class="keyword">new</span> <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a>(*fun);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">LoopInfo</a>* loopInfo = <span class="keyword">new</span> <a class="code" href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">LoopInfo</a>(*dt);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  funToLoopInfoMap[fun] = loopInfo;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">return</span> loopInfo;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classSVF_1_1PTACFInfoBuilder.html#a00e3339dab62325354e8ecd8251da0f1"> 92</a></span> <a class="code" href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">PostDominatorTree</a>* <a class="code" href="classSVF_1_1PTACFInfoBuilder.html#a00e3339dab62325354e8ecd8251da0f1">PTACFInfoBuilder::getPostDT</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* f)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span> {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  assert(f->isDeclaration()==<span class="keyword">false</span> && <span class="stringliteral">"external function (without body) does not have a PostDominatorTree"</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>*<span class="keyword">></span>(f);</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">if</span>(f->isDeclaration())</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  FunToPostDTMap::iterator it = funToPDTMap.find(fun);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span>(it==funToPDTMap.end())</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">PostDominatorTree</a> * PDT = <span class="keyword">new</span> <a class="code" href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">PostDominatorTree</a>(*fun);</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  funToPDTMap[fun] = PDT;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> PDT;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> }</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classSVF_1_1PTACFInfoBuilder.html#afb3864bae4ac95c7d3b731634c1abdab"> 111</a></span> <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a>* <a class="code" href="classSVF_1_1PTACFInfoBuilder.html#afb3864bae4ac95c7d3b731634c1abdab">PTACFInfoBuilder::getDT</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* f)</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> {</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>*<span class="keyword">></span>(f);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  FunToDTMap::iterator it = funToDTMap.find(fun);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span>(it==funToDTMap.end())</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a>* dt = <span class="keyword">new</span> <a class="code" href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">DominatorTree</a>(*fun);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  funToDTMap[fun] = dt;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> dt;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> it->second;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> }</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> </div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classSVF_1_1IteratedDominanceFrontier.html#ab459b40b7b0fd921a2c80461fa0ae54d"> 126</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1IteratedDominanceFrontier.html#ab459b40b7b0fd921a2c80461fa0ae54d">IteratedDominanceFrontier::calculate</a>(<a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a> * bb,</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ab44d20f806be99699895260b14a942d7">DominanceFrontier</a> &DF)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> </div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  DomSetType worklist;</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">DominanceFrontierBase<BasicBlock, false>::const_iterator</a> it = DF.find(bb);</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  assert(it != DF.end());</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  worklist.insert(it->second.begin(), it->second.end());</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a> *<a class="code" href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a> = *worklist.begin();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  worklist.erase(worklist.begin());</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (Frontiers[bb].find(item) == Frontiers[bb].end())</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  Frontiers[bb].insert(item);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  const_iterator parent = DF.find(item);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  assert(parent != DF.end());</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  worklist.insert(parent->second.begin(), parent->second.end());</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> }</div><div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_ab459b40b7b0fd921a2c80461fa0ae54d"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#ab459b40b7b0fd921a2c80461fa0ae54d">SVF::IteratedDominanceFrontier::calculate</a></div><div class="ttdeci">void calculate(BasicBlock *, const DominanceFrontier &DF)</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8cpp_source.html#l00126">DataFlowUtil.cpp:126</a></div></div>
|
|
70
70
|
<div class="ttc" id="namespacellvm_html"><div class="ttname"><a href="namespacellvm.html">llvm</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00192">CFLGraph.h:192</a></div></div>
|
|
71
71
|
<div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
72
|
-
<div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
73
|
-
<div class="ttc" id="namespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
72
|
+
<div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
|
|
73
|
+
<div class="ttc" id="namespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
|
|
74
74
|
<div class="ttc" id="LLVMModule_8h_html"><div class="ttname"><a href="LLVMModule_8h.html">LLVMModule.h</a></div></div>
|
|
75
|
-
<div class="ttc" id="namespaceSVF_html_ab44d20f806be99699895260b14a942d7"><div class="ttname"><a href="namespaceSVF.html#ab44d20f806be99699895260b14a942d7">SVF::DominanceFrontier</a></div><div class="ttdeci">llvm::DominanceFrontier DominanceFrontier</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
75
|
+
<div class="ttc" id="namespaceSVF_html_ab44d20f806be99699895260b14a942d7"><div class="ttname"><a href="namespaceSVF.html#ab44d20f806be99699895260b14a942d7">SVF::DominanceFrontier</a></div><div class="ttdeci">llvm::DominanceFrontier DominanceFrontier</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00075">BasicTypes.h:75</a></div></div>
|
|
76
76
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_a00e3339dab62325354e8ecd8251da0f1"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#a00e3339dab62325354e8ecd8251da0f1">SVF::PTACFInfoBuilder::getPostDT</a></div><div class="ttdeci">PostDominatorTree * getPostDT(const Function *f)</div><div class="ttdoc">Get post dominator tree of a function. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8cpp_source.html#l00092">DataFlowUtil.cpp:92</a></div></div>
|
|
77
|
-
<div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
77
|
+
<div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
78
78
|
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
|
|
79
79
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_a418e6009760a7c9a048d2ffd9cd29956"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#a418e6009760a7c9a048d2ffd9cd29956">SVF::PTACFInfoBuilder::getLoopInfo</a></div><div class="ttdeci">LoopInfo * getLoopInfo(const Function *f)</div><div class="ttdoc">Get loop info of a function. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8cpp_source.html#l00075">DataFlowUtil.cpp:75</a></div></div>
|
|
80
|
-
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
80
|
+
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
|
|
81
81
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_aaae6f876063759941ac236f17a80cea2"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#aaae6f876063759941ac236f17a80cea2">SVF::IteratedDominanceFrontier::ID</a></div><div class="ttdeci">static char ID</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00163">DataFlowUtil.h:163</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_afb3864bae4ac95c7d3b731634c1abdab"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#afb3864bae4ac95c7d3b731634c1abdab">SVF::PTACFInfoBuilder::getDT</a></div><div class="ttdeci">DominatorTree * getDT(const Function *f)</div><div class="ttdoc">Get dominator tree of a function. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8cpp_source.html#l00111">DataFlowUtil.cpp:111</a></div></div>
|
|
83
83
|
<div class="ttc" id="DataFlowUtil_8h_html"><div class="ttname"><a href="DataFlowUtil_8h.html">DataFlowUtil.h</a></div></div>
|
|
@@ -70,31 +70,31 @@ $(function() {
|
|
|
70
70
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_a11a1bb877406f45ea4c8f7c4678bfa15"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#a11a1bb877406f45ea4c8f7c4678bfa15">SVF::PTACFInfoBuilder::funToPDTMap</a></div><div class="ttdeci">FunToPostDTMap funToPDTMap</div><div class="ttdoc">map a function to its post dominator tree </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00147">DataFlowUtil.h:147</a></div></div>
|
|
71
71
|
<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>
|
|
72
72
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_ad76c187197c73fad8dd0c8bdb57b10f7"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#ad76c187197c73fad8dd0c8bdb57b10f7">SVF::PTACFInfoBuilder::FunToLoopInfoMap</a></div><div class="ttdeci">Map< const Function *, LoopInfo * > FunToLoopInfoMap</div><div class="ttdoc">map a function to its loop info </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00128">DataFlowUtil.h:128</a></div></div>
|
|
73
|
-
<div class="ttc" id="namespaceSVF_html_ad8794eb3c00de3d3b5c5e43dded3fb42"><div class="ttname"><a href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF::ScalarEvolution</a></div><div class="ttdeci">llvm::ScalarEvolution ScalarEvolution</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
73
|
+
<div class="ttc" id="namespaceSVF_html_ad8794eb3c00de3d3b5c5e43dded3fb42"><div class="ttname"><a href="namespaceSVF.html#ad8794eb3c00de3d3b5c5e43dded3fb42">SVF::ScalarEvolution</a></div><div class="ttdeci">llvm::ScalarEvolution ScalarEvolution</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00189">BasicTypes.h:189</a></div></div>
|
|
74
74
|
<div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
75
75
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_acb766a793141723a971d87cbc3e5aaac"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#acb766a793141723a971d87cbc3e5aaac">SVF::PTASCEV::~PTASCEV</a></div><div class="ttdeci">virtual ~PTASCEV()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00071">DataFlowUtil.h:71</a></div></div>
|
|
76
76
|
<div class="ttc" id="Util_2BasicTypes_8h_html"><div class="ttname"><a href="Util_2BasicTypes_8h.html">BasicTypes.h</a></div></div>
|
|
77
|
-
<div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
78
|
-
<div class="ttc" id="namespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
77
|
+
<div class="ttc" id="namespaceSVF_html_a2f60343a6839b9cc893bbf77e8a19915"><div class="ttname"><a href="namespaceSVF.html#a2f60343a6839b9cc893bbf77e8a19915">SVF::DominanceFrontierBase</a></div><div class="ttdeci">llvm::DominanceFrontierBase< llvm::BasicBlock, false > DominanceFrontierBase</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00077">BasicTypes.h:77</a></div></div>
|
|
78
|
+
<div class="ttc" id="namespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
|
|
79
79
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_aa6b49b5cbe5057d779685c9ebe763421"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#aa6b49b5cbe5057d779685c9ebe763421">SVF::PTASCEV::ptr</a></div><div class="ttdeci">const Value * ptr</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00078">DataFlowUtil.h:78</a></div></div>
|
|
80
80
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_aead435732fbb492627f746b3d0654ce2"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#aead435732fbb492627f746b3d0654ce2">SVF::PTASCEV::step</a></div><div class="ttdeci">const Value * step</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00077">DataFlowUtil.h:77</a></div></div>
|
|
81
81
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_a155db92ff5057abcb929c0ca8e8bee89"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#a155db92ff5057abcb929c0ca8e8bee89">SVF::PTACFInfoBuilder::funToLoopInfoMap</a></div><div class="ttdeci">FunToLoopInfoMap funToLoopInfoMap</div><div class="ttdoc">map a function to its loop info </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00145">DataFlowUtil.h:145</a></div></div>
|
|
82
82
|
<div class="ttc" id="cJSON_8cpp_html_a65e9886d74aaee76545e83dd09011727"><div class="ttname"><a href="cJSON_8cpp.html#a65e9886d74aaee76545e83dd09011727">false</a></div><div class="ttdeci">#define false</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00070">cJSON.cpp:70</a></div></div>
|
|
83
83
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_a3f4fbad38457025f35e151e54ab96b70"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#a3f4fbad38457025f35e151e54ab96b70">SVF::PTASCEV::PTASCEV</a></div><div class="ttdeci">PTASCEV(const PTASCEV &ptase)</div><div class="ttdoc">Copy Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00065">DataFlowUtil.h:65</a></div></div>
|
|
84
84
|
<div class="ttc" id="namespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00110">SVFBasicTypes.h:110</a></div></div>
|
|
85
|
-
<div class="ttc" id="namespaceSVF_html_ab44d20f806be99699895260b14a942d7"><div class="ttname"><a href="namespaceSVF.html#ab44d20f806be99699895260b14a942d7">SVF::DominanceFrontier</a></div><div class="ttdeci">llvm::DominanceFrontier DominanceFrontier</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
85
|
+
<div class="ttc" id="namespaceSVF_html_ab44d20f806be99699895260b14a942d7"><div class="ttname"><a href="namespaceSVF.html#ab44d20f806be99699895260b14a942d7">SVF::DominanceFrontier</a></div><div class="ttdeci">llvm::DominanceFrontier DominanceFrontier</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00075">BasicTypes.h:75</a></div></div>
|
|
86
86
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_a144e7fa8c5f4987067914416a85656ca"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#a144e7fa8c5f4987067914416a85656ca">SVF::PTASCEV::operator=</a></div><div class="ttdeci">PTASCEV & operator=(const PTASCEV &rhs)</div><div class="ttdoc">Overloading operator=. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00098">DataFlowUtil.h:98</a></div></div>
|
|
87
87
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html">SVF::IteratedDominanceFrontier</a></div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00154">DataFlowUtil.h:154</a></div></div>
|
|
88
|
-
<div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
88
|
+
<div class="ttc" id="namespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
89
89
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_ac6636f0c39ef55e2b5f126532bf2d411"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#ac6636f0c39ef55e2b5f126532bf2d411">SVF::PTASCEV::inloop</a></div><div class="ttdeci">bool inloop</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00079">DataFlowUtil.h:79</a></div></div>
|
|
90
90
|
<div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
|
|
91
91
|
<div class="ttc" id="SVF-FE_2BasicTypes_8h_html"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html">BasicTypes.h</a></div></div>
|
|
92
92
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_ab4844d80db9046eb41d033d11fbdefc1"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#ab4844d80db9046eb41d033d11fbdefc1">SVF::IteratedDominanceFrontier::~IteratedDominanceFrontier</a></div><div class="ttdeci">virtual ~IteratedDominanceFrontier()</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00170">DataFlowUtil.h:170</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html_a69109de5fddf4042037bc6d66563a9e5"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html#a69109de5fddf4042037bc6d66563a9e5">SVF::PTACFInfoBuilder::FunToDTMap</a></div><div class="ttdeci">Map< const Function *, DominatorTree * > FunToDTMap</div><div class="ttdoc">map a function to its dominator tree </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00126">DataFlowUtil.h:126</a></div></div>
|
|
94
|
-
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
94
|
+
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
|
|
95
95
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_aa50321ef8e3c9ee5e0b04f95a5a72e24"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#aa50321ef8e3c9ee5e0b04f95a5a72e24">SVF::IteratedDominanceFrontier::DF</a></div><div class="ttdeci">const DominanceFrontier * DF</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00158">DataFlowUtil.h:158</a></div></div>
|
|
96
96
|
<div class="ttc" id="classSVF_1_1IteratedDominanceFrontier_html_aaae6f876063759941ac236f17a80cea2"><div class="ttname"><a href="classSVF_1_1IteratedDominanceFrontier.html#aaae6f876063759941ac236f17a80cea2">SVF::IteratedDominanceFrontier::ID</a></div><div class="ttdeci">static char ID</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00163">DataFlowUtil.h:163</a></div></div>
|
|
97
|
-
<div class="ttc" id="namespaceSVF_html_aac5262378e41a3414a20cc9a41d4adc6"><div class="ttname"><a href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SVF::SCEV</a></div><div class="ttdeci">llvm::SCEV SCEV</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
97
|
+
<div class="ttc" id="namespaceSVF_html_aac5262378e41a3414a20cc9a41d4adc6"><div class="ttname"><a href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SVF::SCEV</a></div><div class="ttdeci">llvm::SCEV SCEV</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00190">BasicTypes.h:190</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_a6a134ca4f7f50de053805e75431aa856"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#a6a134ca4f7f50de053805e75431aa856">SVF::PTASCEV::PTASCEV</a></div><div class="ttdeci">PTASCEV(const Value *p, const SCEV *s, ScalarEvolution *SE)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00051">DataFlowUtil.h:51</a></div></div>
|
|
99
99
|
<div class="ttc" id="classSVF_1_1PTASCEV_html_ad85500e4caaa70ecacfdf5fbbbcc330e"><div class="ttname"><a href="classSVF_1_1PTASCEV.html#ad85500e4caaa70ecacfdf5fbbbcc330e">SVF::PTASCEV::operator<</a></div><div class="ttdeci">bool operator<(const PTASCEV &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00084">DataFlowUtil.h:84</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1PTACFInfoBuilder_html"><div class="ttname"><a href="classSVF_1_1PTACFInfoBuilder.html">SVF::PTACFInfoBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="DataFlowUtil_8h_source.html#l00123">DataFlowUtil.h:123</a></div></div>
|
|
@@ -76,7 +76,7 @@ $(function() {
|
|
|
76
76
|
<div class="ttc" id="classSVF_1_1SVFStmt_html_a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5"><div class="ttname"><a href="classSVF_1_1SVFStmt.html#a0ab8621e75e75f03425c323b3ed62ce9a62ac8480c43fcc657c631ec0003b15d5">SVF::SVFStmt::Load</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00056">SVFStatements.h:56</a></div></div>
|
|
77
77
|
<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>
|
|
78
78
|
<div class="ttc" id="classSVF_1_1FlowSensitiveStat_html_a55d45e82ea3d338114e50da877bcfb75"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a55d45e82ea3d338114e50da877bcfb75">SVF::FlowSensitiveStat::DFInOutMap</a></div><div class="ttdeci">FlowSensitive::DFInOutMap DFInOutMap</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00088">WPAStat.h:88</a></div></div>
|
|
79
|
-
<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#
|
|
79
|
+
<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>
|
|
80
80
|
<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>
|
|
81
81
|
<div class="ttc" id="classSVF_1_1FlowSensitiveStat_html_a059047d05e9873a624e333162a460571"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a059047d05e9873a624e333162a460571">SVF::FlowSensitiveStat::performStat</a></div><div class="ttdeci">virtual void performStat()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00084">FlowSensitiveStat.cpp:84</a></div></div>
|
|
82
82
|
<div class="ttc" id="classSVF_1_1FlowSensitiveStat_html_ab11996ab5606f51c977b9b1385c13d71"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#ab11996ab5606f51c977b9b1385c13d71">SVF::FlowSensitiveStat::ENUM_INOUT</a></div><div class="ttdeci">ENUM_INOUT</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00105">WPAStat.h:105</a></div></div>
|
|
@@ -91,14 +91,14 @@ $(function() {
|
|
|
91
91
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00067">SVFUtil.cpp:67</a></div></div>
|
|
92
92
|
<div class="ttc" id="classSVF_1_1VFGEdge_html"><div class="ttname"><a href="classSVF_1_1VFGEdge.html">SVF::VFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGEdge_8h_source.html#l00044">VFGEdge.h:44</a></div></div>
|
|
93
93
|
<div class="ttc" id="classSVF_1_1FlowSensitiveStat_html_ab4c205136b22a13b54ceb48135730d23"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#ab4c205136b22a13b54ceb48135730d23">SVF::FlowSensitiveStat::clearStat</a></div><div class="ttdeci">void clearStat()</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitiveStat_8cpp_source.html#l00041">FlowSensitiveStat.cpp:41</a></div></div>
|
|
94
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
94
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a3bbaafd80dfcae6ccc82c3d8b9d303ea"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a3bbaafd80dfcae6ccc82c3d8b9d303ea">SVF::SVFIR::getFieldObjNodeNum</a></div><div class="ttdeci">u32_t getFieldObjNodeNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00298">SVFIR.h:298</a></div></div>
|
|
95
95
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00369">GenericGraph.h:369</a></div></div>
|
|
96
96
|
<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>
|
|
97
97
|
<div class="ttc" id="classSVF_1_1GenericGraph_html_ac213302cf5c7cdf3b66f7b18649d0fbc"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#ac213302cf5c7cdf3b66f7b18649d0fbc">SVF::GenericGraph::iterator</a></div><div class="ttdeci">IDToNodeMapTy::iterator iterator</div><div class="ttdoc">Node Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00342">GenericGraph.h:342</a></div></div>
|
|
98
98
|
<div class="ttc" id="classSVF_1_1SVFStat_html_a178fcefed6ffffc78bbe9b23e0e1babe"><div class="ttname"><a href="classSVF_1_1SVFStat.html#a178fcefed6ffffc78bbe9b23e0e1babe">SVF::SVFStat::printStat</a></div><div class="ttdeci">virtual void printStat(std::string str="")</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00066">SVFStat.cpp:66</a></div></div>
|
|
99
99
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00105">SVFBasicTypes.h:105</a></div></div>
|
|
100
100
|
<div class="ttc" id="classSVF_1_1FlowSensitiveStat_html_a1b605e86f33e79f7d7cd88dc54f2c19e"><div class="ttname"><a href="classSVF_1_1FlowSensitiveStat.html#a1b605e86f33e79f7d7cd88dc54f2c19e">SVF::FlowSensitiveStat::PtsMap</a></div><div class="ttdeci">FlowSensitive::PtsMap PtsMap</div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00089">WPAStat.h:89</a></div></div>
|
|
101
|
-
<div class="ttc" id="classSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#
|
|
101
|
+
<div class="ttc" id="classSVF_1_1SVFIR_html_a8a24e0bf9f95fc1519d4013e0e82dec9"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a8a24e0bf9f95fc1519d4013e0e82dec9">SVF::SVFIR::getFieldValNodeNum</a></div><div class="ttdeci">u32_t getFieldValNodeNum() const</div><div class="ttdoc">Node and edge statistics. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00294">SVFIR.h:294</a></div></div>
|
|
102
102
|
<div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00107">PointsTo.cpp:107</a></div></div>
|
|
103
103
|
<div class="ttc" id="classSVF_1_1SVFVar_html_a927733580b47be5ffcfced44ba9fd6c3"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a927733580b47be5ffcfced44ba9fd6c3">SVF::SVFVar::getOutgoingEdges</a></div><div class="ttdeci">SVFStmt::SVFStmtSetTy & getOutgoingEdges(SVFStmt::PEDGEK kind)</div><div class="ttdoc">Get outgoing SVFIR statements (edges) </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00147">SVFVariables.h:147</a></div></div>
|
|
104
104
|
<div class="ttc" id="classSVF_1_1PointsTo_html_ac4688413177b49b37dbbfd3ed188d59b"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ac4688413177b49b37dbbfd3ed188d59b">SVF::PointsTo::empty</a></div><div class="ttdeci">bool empty(void) const</div><div class="ttdoc">Returns true if set is empty. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00094">PointsTo.cpp:94</a></div></div>
|
|
@@ -88,7 +88,7 @@ $(function() {
|
|
|
88
88
|
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
|
|
89
89
|
<div class="ttc" id="classllvm_1_1generic__bridge__gep__type__iterator_html_a7407c9a10bc872bcf03a2a4e67c2c188"><div class="ttname"><a href="classllvm_1_1generic__bridge__gep__type__iterator.html#a7407c9a10bc872bcf03a2a4e67c2c188">llvm::generic_bridge_gep_type_iterator::operator-></a></div><div class="ttdeci">Type * operator->() const</div><div class="ttdef"><b>Definition:</b> <a href="GEPTypeBridgeIterator_8h_source.html#l00093">GEPTypeBridgeIterator.h:93</a></div></div>
|
|
90
90
|
<div class="ttc" id="classllvm_1_1generic__bridge__gep__type__iterator_html_a1f0e8716ad7ff580240f81db1228a690"><div class="ttname"><a href="classllvm_1_1generic__bridge__gep__type__iterator.html#a1f0e8716ad7ff580240f81db1228a690">llvm::generic_bridge_gep_type_iterator::operator==</a></div><div class="ttdeci">bool operator==(const generic_bridge_gep_type_iterator &x) const</div><div class="ttdef"><b>Definition:</b> <a href="GEPTypeBridgeIterator_8h_source.html#l00053">GEPTypeBridgeIterator.h:53</a></div></div>
|
|
91
|
-
<div class="ttc" id="namespaceSVF_html_afc1b50355821e7299df03b026e36f1df"><div class="ttname"><a href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df">SVF::User</a></div><div class="ttdeci">llvm::User User</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#
|
|
91
|
+
<div class="ttc" id="namespaceSVF_html_afc1b50355821e7299df03b026e36f1df"><div class="ttname"><a href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df">SVF::User</a></div><div class="ttdeci">llvm::User User</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
|
|
92
92
|
<div class="ttc" id="classllvm_1_1generic__bridge__gep__type__iterator_html"><div class="ttname"><a href="classllvm_1_1generic__bridge__gep__type__iterator.html">llvm::generic_bridge_gep_type_iterator</a></div><div class="ttdef"><b>Definition:</b> <a href="GEPTypeBridgeIterator_8h_source.html#l00017">GEPTypeBridgeIterator.h:17</a></div></div>
|
|
93
93
|
</div><!-- fragment --></div><!-- contents -->
|
|
94
94
|
<!-- start footer part -->
|