svf-tools 1.0.326 → 1.0.330
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/AndersenHCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +39 -39
- package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +6 -6
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +13 -12
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +21 -21
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +4 -4
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MHP_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +15 -15
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +29 -30
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +28 -28
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +19 -10
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +70 -69
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +26 -26
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +29 -29
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +47 -57
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +72 -76
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +32 -31
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +83 -83
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +20 -21
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +50 -49
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +62 -32
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.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_1GepObjPN.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +84 -84
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +93 -93
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +76 -74
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +57 -56
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +308 -235
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +39 -39
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +74 -77
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +75 -228
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI-members.html +63 -62
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +99 -69
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/functions_c.html +21 -20
- package/SVF-doxygen/html/html/functions_d.html +4 -0
- package/SVF-doxygen/html/html/functions_func_c.html +14 -15
- package/SVF-doxygen/html/html/functions_func_d.html +4 -0
- package/SVF-doxygen/html/html/functions_func_g.html +15 -16
- package/SVF-doxygen/html/html/functions_func_r.html +3 -3
- package/SVF-doxygen/html/html/functions_g.html +16 -17
- package/SVF-doxygen/html/html/functions_l.html +6 -6
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +12 -18
- package/SVF-doxygen/html/html/functions_r.html +3 -3
- package/SVF-doxygen/html/html/functions_s.html +6 -4
- package/SVF-doxygen/html/html/functions_t.html +3 -1
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_c.html +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_14.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_3.js +2 -2
- package/SVF-doxygen/html/html/search/all_4.js +2 -1
- package/SVF-doxygen/html/html/search/all_7.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +3 -3
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +3 -3
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_3.js +2 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +2 -2
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/MemoryModel/PointerAnalysis.h +1 -1
- package/include/MemoryModel/SVFIR.h +1 -1
- package/include/MemoryModel/SymbolTableInfo.h +0 -6
- package/include/SVF-FE/SVFIRBuilder.h +6 -1
- package/include/Util/ExtAPI.h +9 -0
- package/include/Util/SVFModule.h +2 -7
- package/include/Util/ThreadAPI.h +9 -0
- package/lib/MemoryModel/PointerAnalysis.cpp +4 -2
- package/lib/MemoryModel/SymbolTableInfo.cpp +8 -149
- package/lib/SVF-FE/SVFIRBuilder.cpp +132 -3
- package/lib/Util/NodeIDAllocator.cpp +1 -0
- package/lib/WPA/Andersen.cpp +0 -4
- package/package.json +1 -1
- package/tools/Example/svf-ex.cpp +1 -2
|
@@ -320,7 +320,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
320
320
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_ad49fa2a288945f6910deb11acdf6a42d"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#ad49fa2a288945f6910deb11acdf6a42d">SVF::PTACallGraph::getIndCallMap</a></div><div class="ttdeci">CallEdgeMap & getIndCallMap()</div><div class="ttdoc">Get callees from an indirect callsite. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00280">PTACallGraph.h:280</a></div></div>
|
|
321
321
|
<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#l00419">Andersen.h:419</a></div></div>
|
|
322
322
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
|
|
323
|
-
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8fa5b8a7b410faf63106a879ff72bf51"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">SVF::PointerAnalysis::getVFnsFromPts</a></div><div class="ttdeci">void getVFnsFromPts(const CallBlockNode *cs, const PointsTo &target, VFunSet &vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#
|
|
323
|
+
<div class="ttc" id="classSVF_1_1PointerAnalysis_html_a8fa5b8a7b410faf63106a879ff72bf51"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a8fa5b8a7b410faf63106a879ff72bf51">SVF::PointerAnalysis::getVFnsFromPts</a></div><div class="ttdeci">void getVFnsFromPts(const CallBlockNode *cs, const PointsTo &target, VFunSet &vfns)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8cpp_source.html#l00503">PointerAnalysis.cpp:503</a></div></div>
|
|
324
324
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a28c0ede7e4765d2a686fc8ae0f5641a4"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a28c0ede7e4765d2a686fc8ae0f5641a4">SVF::SVFUtil::getSourceLoc</a></div><div class="ttdeci">std::string getSourceLoc(const Value *val)</div><div class="ttdoc">Return source code including line number and file name from debug information. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00269">SVFUtil.cpp:269</a></div></div>
|
|
325
325
|
<div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
|
|
326
326
|
<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#l00178">PointerAnalysis.h:178</a></div></div>
|
|
@@ -387,7 +387,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
387
387
|
<div class="ttc" id="classSVF_1_1ObjVar_html_a3ccbe6bbe3f565641e0cf46c5ecbb6bb"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a3ccbe6bbe3f565641e0cf46c5ecbb6bb">SVF::ObjVar::ObjVar</a></div><div class="ttdeci">ObjVar(const Value *val, NodeID i, const MemObj *m, PNODEK ty=ObjNode)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00323">SVFVariables.h:323</a></div></div>
|
|
388
388
|
<div class="ttc" id="classSVF_1_1ObjVar_html_a3d08dc1d15a449ff4b7018da4bfdcb88"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a3d08dc1d15a449ff4b7018da4bfdcb88">SVF::ObjVar::mem</a></div><div class="ttdeci">const MemObj * mem</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00321">SVFVariables.h:321</a></div></div>
|
|
389
389
|
<div class="ttc" id="classSVF_1_1GepObjPN_html_ae67e495253fc881c24ef21e1f87e2fa6"><div class="ttname"><a href="classSVF_1_1GepObjPN.html#ae67e495253fc881c24ef21e1f87e2fa6">SVF::GepObjPN::base</a></div><div class="ttdeci">NodeID base</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00455">SVFVariables.h:455</a></div></div>
|
|
390
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
390
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_a4da54ef60231d2e6c26669226b99d2f3"><div class="ttname"><a href="classSVF_1_1MemObj.html#a4da54ef60231d2e6c26669226b99d2f3">SVF::MemObj::getValue</a></div><div class="ttdeci">const Value * getValue() const</div><div class="ttdoc">Get the reference value to this object. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00439">SymbolTableInfo.h:439</a></div></div>
|
|
391
391
|
</div><!-- fragment -->
|
|
392
392
|
</div>
|
|
393
393
|
</div>
|
|
@@ -603,10 +603,10 @@ Additional Inherited Members</h2></td></tr>
|
|
|
603
603
|
<p class="definition">Definition at line <a class="el" href="SVFVariables_8h_source.html#l00507">507</a> of file <a class="el" href="SVFVariables_8h_source.html">SVFVariables.h</a>.</p>
|
|
604
604
|
<div class="fragment"><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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a573bd5208467b2f905f5b2b1684feac8">getOrigSubTypeWithByteOffset</a>(<a class="code" href="classSVF_1_1ObjVar.html#a3d08dc1d15a449ff4b7018da4bfdcb88">mem</a>-><a class="code" href="classSVF_1_1MemObj.html#aa4fa7a1b86d66692ffffeaee0e187216">getType</a>(), <a class="code" href="classSVF_1_1GepObjPN.html#ab7a3961b0a3f6a8cc89c3cd81168180b">ls</a>.<a class="code" href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">getByteOffset</a>());</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  }</div><div class="ttc" id="classSVF_1_1GepObjPN_html_ab7a3961b0a3f6a8cc89c3cd81168180b"><div class="ttname"><a href="classSVF_1_1GepObjPN.html#ab7a3961b0a3f6a8cc89c3cd81168180b">SVF::GepObjPN::ls</a></div><div class="ttdeci">LocationSet ls</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00454">SVFVariables.h:454</a></div></div>
|
|
605
605
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a5322dcda48d6980c3f7aafa169fcd77d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">SVF::LocationSet::getByteOffset</a></div><div class="ttdeci">Size_t getByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
|
|
606
|
-
<div class="ttc" id="classSVF_1_1MemObj_html_aa4fa7a1b86d66692ffffeaee0e187216"><div class="ttname"><a href="classSVF_1_1MemObj.html#aa4fa7a1b86d66692ffffeaee0e187216">SVF::MemObj::getType</a></div><div class="ttdeci">const Type * getType() const</div><div class="ttdoc">Get obj type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
606
|
+
<div class="ttc" id="classSVF_1_1MemObj_html_aa4fa7a1b86d66692ffffeaee0e187216"><div class="ttname"><a href="classSVF_1_1MemObj.html#aa4fa7a1b86d66692ffffeaee0e187216">SVF::MemObj::getType</a></div><div class="ttdeci">const Type * getType() const</div><div class="ttdoc">Get obj type. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00646">SymbolTableInfo.cpp:646</a></div></div>
|
|
607
607
|
<div class="ttc" id="classSVF_1_1ObjVar_html_a3d08dc1d15a449ff4b7018da4bfdcb88"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a3d08dc1d15a449ff4b7018da4bfdcb88">SVF::ObjVar::mem</a></div><div class="ttdeci">const MemObj * mem</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00321">SVFVariables.h:321</a></div></div>
|
|
608
608
|
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00059">SymbolTableInfo.cpp:59</a></div></div>
|
|
609
|
-
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a573bd5208467b2f905f5b2b1684feac8"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a573bd5208467b2f905f5b2b1684feac8">SVF::SymbolTableInfo::getOrigSubTypeWithByteOffset</a></div><div class="ttdeci">const Type * getOrigSubTypeWithByteOffset(const Type *baseType, u32_t byteOffset)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#
|
|
609
|
+
<div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a573bd5208467b2f905f5b2b1684feac8"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a573bd5208467b2f905f5b2b1684feac8">SVF::SymbolTableInfo::getOrigSubTypeWithByteOffset</a></div><div class="ttdeci">const Type * getOrigSubTypeWithByteOffset(const Type *baseType, u32_t byteOffset)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00360">SymbolTableInfo.cpp:360</a></div></div>
|
|
610
610
|
</div><!-- fragment -->
|
|
611
611
|
</div>
|
|
612
612
|
</div>
|
|
@@ -280,13 +280,13 @@ Private Attributes</h2></td></tr>
|
|
|
280
280
|
<p>Create <a class="el" href="classSVF_1_1ICFG.html">ICFG</a> nodes and edges </p>
|
|
281
281
|
|
|
282
282
|
<p class="definition">Definition at line <a class="el" href="ICFGBuilder_8cpp_source.html#l00041">41</a> of file <a class="el" href="ICFGBuilder_8cpp_source.html">ICFGBuilder.cpp</a>.</p>
|
|
283
|
-
<div class="fragment"><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="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> iter = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eiter = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); iter != eiter; ++iter)</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *iter;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a2dc4467008cdd6eb896e98b67457082a">WorkList</a> worklist;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a52e6426f0a1af479159f6fbac6d5b8f4">processFunEntry</a>(fun,worklist);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#ab1cc5de5c2ee7acf83e9ae51c7b38cb5">processFunBody</a>(worklist);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a21ecc610b7ac35f4e64b2a4a45688359">processFunExit</a>(fun);</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>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a05539eb12b22886ea4b5b4275f601641">connectGlobalToProgEntry</a>(svfModule);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
283
|
+
<div class="fragment"><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="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> iter = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), eiter = svfModule-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); iter != eiter; ++iter)</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = *iter;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a2dc4467008cdd6eb896e98b67457082a">WorkList</a> worklist;</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a52e6426f0a1af479159f6fbac6d5b8f4">processFunEntry</a>(fun,worklist);</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#ab1cc5de5c2ee7acf83e9ae51c7b38cb5">processFunBody</a>(worklist);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a21ecc610b7ac35f4e64b2a4a45688359">processFunExit</a>(fun);</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>  <a class="code" href="classSVF_1_1ICFGBuilder.html#a05539eb12b22886ea4b5b4275f601641">connectGlobalToProgEntry</a>(svfModule);</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</div><div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00147">SVFModule.h:147</a></div></div>
|
|
284
284
|
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00233">BasicTypes.h:233</a></div></div>
|
|
285
285
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html_a2dc4467008cdd6eb896e98b67457082a"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html#a2dc4467008cdd6eb896e98b67457082a">SVF::ICFGBuilder::WorkList</a></div><div class="ttdeci">FIFOWorkList< const Instruction * > WorkList</div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8h_source.html#l00051">ICFGBuilder.h:51</a></div></div>
|
|
286
286
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html_ab1cc5de5c2ee7acf83e9ae51c7b38cb5"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html#ab1cc5de5c2ee7acf83e9ae51c7b38cb5">SVF::ICFGBuilder::processFunBody</a></div><div class="ttdeci">void processFunBody(WorkList &worklist)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8cpp_source.html#l00080">ICFGBuilder.cpp:80</a></div></div>
|
|
287
287
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html_a21ecc610b7ac35f4e64b2a4a45688359"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html#a21ecc610b7ac35f4e64b2a4a45688359">SVF::ICFGBuilder::processFunExit</a></div><div class="ttdeci">void processFunExit(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8cpp_source.html#l00141">ICFGBuilder.cpp:141</a></div></div>
|
|
288
288
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html_a05539eb12b22886ea4b5b4275f601641"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html#a05539eb12b22886ea4b5b4275f601641">SVF::ICFGBuilder::connectGlobalToProgEntry</a></div><div class="ttdeci">void connectGlobalToProgEntry(SVFModule *svfModule)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8cpp_source.html#l00189">ICFGBuilder.cpp:189</a></div></div>
|
|
289
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
289
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00155">SVFModule.h:155</a></div></div>
|
|
290
290
|
<div class="ttc" id="classSVF_1_1ICFGBuilder_html_a52e6426f0a1af479159f6fbac6d5b8f4"><div class="ttname"><a href="classSVF_1_1ICFGBuilder.html#a52e6426f0a1af479159f6fbac6d5b8f4">SVF::ICFGBuilder::processFunEntry</a></div><div class="ttdeci">void processFunEntry(const SVFFunction *fun, WorkList &worklist)</div><div class="ttdef"><b>Definition:</b> <a href="ICFGBuilder_8cpp_source.html#l00059">ICFGBuilder.cpp:59</a></div></div>
|
|
291
291
|
<div class="ttc" id="classSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00052">SVFModule.h:52</a></div></div>
|
|
292
292
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00063">LLVMUtil.h:63</a></div></div>
|
|
@@ -433,17 +433,17 @@ Static Private Attributes</h2></td></tr>
|
|
|
433
433
|
<p>Fun def –> decls </p>
|
|
434
434
|
|
|
435
435
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l00294">294</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
|
|
436
|
-
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*></a> funDecls, funDefs;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet<string></a> declNames, defNames, intersectNames;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<string, Function*></a> NameToFunDefMapTy;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<string, Set<Function*></a>> NameToFunDeclsMapTy;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">for</span> (SVFModule::LLVMFunctionSetType::iterator it = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(),</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  eit = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun = *it;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">if</span> (fun->isDeclaration())</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  funDecls.insert(fun);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  declNames.insert(fun->getName().str());</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  funDefs.insert(fun);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  defNames.insert(fun->getName().str());</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>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="comment">// Find the intersectNames</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet<string>::iterator</a> declIter, defIter;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  declIter = declNames.begin();</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  defIter = defNames.begin();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">while</span> (declIter != declNames.end() && defIter != defNames.end())</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">if</span> (*declIter < *defIter)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  declIter++;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  }</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">if</span> (!(*defIter < *declIter))</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  intersectNames.insert(*declIter);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  declIter++;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  defIter++;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  }</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  NameToFunDefMapTy nameToFunDefMap;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDefs.begin(),</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  eit = funDefs.end(); it != eit; ++it)</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdef = *it;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordtype">string</span> funName = fdef->getName().str();</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  nameToFunDefMap[funName] = fdef;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  NameToFunDeclsMapTy nameToFunDeclsMap;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDecls.begin(),</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  eit = funDecls.end(); it != eit; ++it)</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdecl = *it;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordtype">string</span> funName = fdecl->getName().str();</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  NameToFunDeclsMapTy::iterator mit = nameToFunDeclsMap.find(funName);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">if</span> (mit == nameToFunDeclsMap.end())</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="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*></a> decls;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  decls.insert(fdecl);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  nameToFunDeclsMap[funName] = decls;</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>  <span class="keywordflow">else</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>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*></a> &decls = mit->second;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  decls.insert(fdecl);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDecls.begin(),</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  eit = funDecls.end(); it != eit; ++it)</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdecl = *it;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordtype">string</span> funName = fdecl->getName().str();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  NameToFunDefMapTy::iterator mit = nameToFunDefMap.find(funName);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span> (mit == nameToFunDefMap.end())</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#aee80b29e5246e3eaa0e30e165346101f">FunDeclToDefMap</a>[<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fdecl)] = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(mit->second);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDefs.begin(),</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  eit = funDefs.end(); it != eit; ++it)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdef = *it;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordtype">string</span> funName = fdef-><a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>().str();</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  NameToFunDeclsMapTy::iterator mit = nameToFunDeclsMap.find(funName);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">if</span> (mit == nameToFunDeclsMap.end())</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  std::vector<const SVFFunction*>& decls = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a377cefaad4b688ab6edf94ba4abe00ee">FunDefToDeclsMap</a>[<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fdef)];</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> sit = mit->second.begin(),</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  seit = mit->second.end(); sit != seit; ++sit)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  decls.push_back(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(*sit));</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div><div class="ttc" id="classSVF_1_1SVFModule_html_af38d0f831967d6d8391a4c84e58d6519"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">SVF::SVFModule::llvmFunEnd</a></div><div class="ttdeci">llvm_iterator llvmFunEnd()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00143">SVFModule.h:143</a></div></div>
|
|
436
|
+
<div class="fragment"><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> {</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*></a> funDecls, funDefs;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet<string></a> declNames, defNames, intersectNames;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<string, Function*></a> NameToFunDefMapTy;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">typedef</span> <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<string, Set<Function*></a>> NameToFunDeclsMapTy;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">for</span> (SVFModule::LLVMFunctionSetType::iterator it = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(),</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  eit = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fun = *it;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">if</span> (fun->isDeclaration())</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  funDecls.insert(fun);</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  declNames.insert(fun->getName().str());</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  }</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  {</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  funDefs.insert(fun);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  defNames.insert(fun->getName().str());</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>  }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="comment">// Find the intersectNames</span></div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet<string>::iterator</a> declIter, defIter;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  declIter = declNames.begin();</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  defIter = defNames.begin();</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">while</span> (declIter != declNames.end() && defIter != defNames.end())</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">if</span> (*declIter < *defIter)</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  declIter++;</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  }</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  {</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">if</span> (!(*defIter < *declIter))</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  intersectNames.insert(*declIter);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  declIter++;</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  defIter++;</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  }</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> </div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  NameToFunDefMapTy nameToFunDefMap;</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDefs.begin(),</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  eit = funDefs.end(); it != eit; ++it)</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdef = *it;</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordtype">string</span> funName = fdef->getName().str();</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  nameToFunDefMap[funName] = fdef;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  NameToFunDeclsMapTy nameToFunDeclsMap;</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDecls.begin(),</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  eit = funDecls.end(); it != eit; ++it)</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdecl = *it;</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordtype">string</span> funName = fdecl->getName().str();</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  NameToFunDeclsMapTy::iterator mit = nameToFunDeclsMap.find(funName);</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">if</span> (mit == nameToFunDeclsMap.end())</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="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*></a> decls;</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  decls.insert(fdecl);</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  nameToFunDeclsMap[funName] = decls;</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>  <span class="keywordflow">else</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>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*></a> &decls = mit->second;</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  decls.insert(fdecl);</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  }</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  }</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDecls.begin(),</div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  eit = funDecls.end(); it != eit; ++it)</div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  {</div><div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdecl = *it;</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="keywordtype">string</span> funName = fdecl->getName().str();</div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  NameToFunDefMapTy::iterator mit = nameToFunDefMap.find(funName);</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span> (mit == nameToFunDefMap.end())</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#aee80b29e5246e3eaa0e30e165346101f">FunDeclToDefMap</a>[<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fdecl)] = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(mit->second);</div><div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div><div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div><div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> it = funDefs.begin(),</div><div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  eit = funDefs.end(); it != eit; ++it)</div><div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  {</div><div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *fdef = *it;</div><div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordtype">string</span> funName = fdef-><a class="code" href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">getName</a>().str();</div><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">if</span> (intersectNames.find(funName) == intersectNames.end())</div><div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  NameToFunDeclsMapTy::iterator mit = nameToFunDeclsMap.find(funName);</div><div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">if</span> (mit == nameToFunDeclsMap.end())</div><div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  std::vector<const SVFFunction*>& decls = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a377cefaad4b688ab6edf94ba4abe00ee">FunDefToDeclsMap</a>[<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fdef)];</div><div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<Function*>::iterator</a> sit = mit->second.begin(),</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  seit = mit->second.end(); sit != seit; ++sit)</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  {</div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  decls.push_back(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(*sit));</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  }</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div><div class="ttc" id="classSVF_1_1SVFModule_html_af38d0f831967d6d8391a4c84e58d6519"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">SVF::SVFModule::llvmFunEnd</a></div><div class="ttdeci">llvm_iterator llvmFunEnd()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00138">SVFModule.h:138</a></div></div>
|
|
437
437
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a377cefaad4b688ab6edf94ba4abe00ee"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a377cefaad4b688ab6edf94ba4abe00ee">SVF::LLVMModuleSet::FunDefToDeclsMap</a></div><div class="ttdeci">FunDefToDeclsMapTy FunDefToDeclsMap</div><div class="ttdoc">Function definition to function declaration map. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00059">LLVMModule.h:59</a></div></div>
|
|
438
438
|
<div class="ttc" id="namespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set< Key, Compare, Allocator > OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00103">SVFBasicTypes.h:103</a></div></div>
|
|
439
439
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_aee80b29e5246e3eaa0e30e165346101f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aee80b29e5246e3eaa0e30e165346101f">SVF::LLVMModuleSet::FunDeclToDefMap</a></div><div class="ttdeci">FunDeclToDefMapTy FunDeclToDefMap</div><div class="ttdoc">Function declaration to function definition map. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00057">LLVMModule.h:57</a></div></div>
|
|
440
440
|
<div class="ttc" id="classSVF_1_1SVFValue_html_adc15c1f7a77158142156fba7524e89c9"><div class="ttname"><a href="classSVF_1_1SVFValue.html#adc15c1f7a77158142156fba7524e89c9">SVF::SVFValue::getName</a></div><div class="ttdeci">const llvm::StringRef getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00231">SVFBasicTypes.h:231</a></div></div>
|
|
441
441
|
<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#l00100">SVFBasicTypes.h:100</a></div></div>
|
|
442
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_a648542aa5c4b487ad5aa12a39d15e951"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">SVF::SVFModule::llvmFunBegin</a></div><div class="ttdeci">llvm_iterator llvmFunBegin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
442
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_a648542aa5c4b487ad5aa12a39d15e951"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">SVF::SVFModule::llvmFunBegin</a></div><div class="ttdeci">llvm_iterator llvmFunBegin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00130">SVFModule.h:130</a></div></div>
|
|
443
443
|
<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#l00095">SVFBasicTypes.h:95</a></div></div>
|
|
444
444
|
<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="BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
445
445
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
446
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
446
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00121">SVFModule.h:121</a></div></div>
|
|
447
447
|
</div><!-- fragment -->
|
|
448
448
|
</div>
|
|
449
449
|
</div>
|
|
@@ -476,9 +476,9 @@ Static Private Attributes</h2></td></tr>
|
|
|
476
476
|
<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#l00095">SVFBasicTypes.h:95</a></div></div>
|
|
477
477
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a4cf1ca2e9f045a0520b0a8a6cd5993f2"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a4cf1ca2e9f045a0520b0a8a6cd5993f2">SVF::SVFModule::global_iterator</a></div><div class="ttdeci">GlobalSetType::iterator global_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00055">SVFModule.h:55</a></div></div>
|
|
478
478
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
479
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_a4dc32c583d29d74d052eaa5665b0b70e"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a4dc32c583d29d74d052eaa5665b0b70e">SVF::SVFModule::global_begin</a></div><div class="ttdeci">global_iterator global_begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
479
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_a4dc32c583d29d74d052eaa5665b0b70e"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a4dc32c583d29d74d052eaa5665b0b70e">SVF::SVFModule::global_begin</a></div><div class="ttdeci">global_iterator global_begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00164">SVFModule.h:164</a></div></div>
|
|
480
480
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae2a1fa0b908cf372c50af90e62c4bf2b"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae2a1fa0b908cf372c50af90e62c4bf2b">SVF::LLVMModuleSet::GlobalDefToRepMap</a></div><div class="ttdeci">GlobalDefToRepMapTy GlobalDefToRepMap</div><div class="ttdoc">Global definition to a rep definition map. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00061">LLVMModule.h:61</a></div></div>
|
|
481
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_a8a34164634d6ad9a7b76175907c8c44b"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a8a34164634d6ad9a7b76175907c8c44b">SVF::SVFModule::global_end</a></div><div class="ttdeci">global_iterator global_end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
481
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_a8a34164634d6ad9a7b76175907c8c44b"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a8a34164634d6ad9a7b76175907c8c44b">SVF::SVFModule::global_end</a></div><div class="ttdeci">global_iterator global_end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00172">SVFModule.h:172</a></div></div>
|
|
482
482
|
</div><!-- fragment -->
|
|
483
483
|
</div>
|
|
484
484
|
</div>
|
|
@@ -641,7 +641,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
641
641
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8h_source.html#l00162">162</a> of file <a class="el" href="LLVMModule_8h_source.html">LLVMModule.h</a>.</p>
|
|
642
642
|
<div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#aa4a604e47daaaf95babc7aca68991000">getDeclaration</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fun));</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="ttc" id="classSVF_1_1LLVMModuleSet_html_aa4a604e47daaaf95babc7aca68991000"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aa4a604e47daaaf95babc7aca68991000">SVF::LLVMModuleSet::getDeclaration</a></div><div class="ttdeci">const FunctionSetType & getDeclaration(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00162">LLVMModule.h:162</a></div></div>
|
|
643
643
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
644
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
644
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00121">SVFModule.h:121</a></div></div>
|
|
645
645
|
</div><!-- fragment -->
|
|
646
646
|
</div>
|
|
647
647
|
</div>
|
|
@@ -704,7 +704,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
704
704
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8h_source.html#l00130">130</a> of file <a class="el" href="LLVMModule_8h_source.html">LLVMModule.h</a>.</p>
|
|
705
705
|
<div class="fragment"><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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#abc83c5da519d2d05133106d92df8053e">getDefinition</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fun));</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
706
706
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_abc83c5da519d2d05133106d92df8053e"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#abc83c5da519d2d05133106d92df8053e">SVF::LLVMModuleSet::getDefinition</a></div><div class="ttdeci">const SVFFunction * getDefinition(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00130">LLVMModule.h:130</a></div></div>
|
|
707
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
707
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00121">SVFModule.h:121</a></div></div>
|
|
708
708
|
</div><!-- fragment -->
|
|
709
709
|
</div>
|
|
710
710
|
</div>
|
|
@@ -939,7 +939,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
939
939
|
|
|
940
940
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8h_source.html#l00112">112</a> of file <a class="el" href="LLVMModule_8h_source.html">LLVMModule.h</a>.</p>
|
|
941
941
|
<div class="fragment"><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>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fun);</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div><div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
942
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
942
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00121">SVFModule.h:121</a></div></div>
|
|
943
943
|
</div><!-- fragment -->
|
|
944
944
|
</div>
|
|
945
945
|
</div>
|
|
@@ -1001,7 +1001,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
1001
1001
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8h_source.html#l00144">144</a> of file <a class="el" href="LLVMModule_8h_source.html">LLVMModule.h</a>.</p>
|
|
1002
1002
|
<div class="fragment"><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  {</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a74a7961552498d1a99e1da70b7f78620">hasDeclaration</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fun));</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a74a7961552498d1a99e1da70b7f78620"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a74a7961552498d1a99e1da70b7f78620">SVF::LLVMModuleSet::hasDeclaration</a></div><div class="ttdeci">bool hasDeclaration(const Function *fun) const</div><div class="ttdoc">Fun def –> decl. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00144">LLVMModule.h:144</a></div></div>
|
|
1003
1003
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
1004
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
1004
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00121">SVFModule.h:121</a></div></div>
|
|
1005
1005
|
</div><!-- fragment -->
|
|
1006
1006
|
</div>
|
|
1007
1007
|
</div>
|
|
@@ -1065,7 +1065,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
1065
1065
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8h_source.html#l00118">118</a> of file <a class="el" href="LLVMModule_8h_source.html">LLVMModule.h</a>.</p>
|
|
1066
1066
|
<div class="fragment"><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">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">hasDefinition</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">getSVFFunction</a>(fun));</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div><div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a32558da64f03452c502ec57d1e106427"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a32558da64f03452c502ec57d1e106427">SVF::LLVMModuleSet::hasDefinition</a></div><div class="ttdeci">bool hasDefinition(const Function *fun) const</div><div class="ttdoc">Fun decl –> def. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00118">LLVMModule.h:118</a></div></div>
|
|
1067
1067
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
1068
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
1068
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_af969d7739f27c8242985656bafbabaeb"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af969d7739f27c8242985656bafbabaeb">SVF::SVFModule::getSVFFunction</a></div><div class="ttdeci">const SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00121">SVFModule.h:121</a></div></div>
|
|
1069
1069
|
</div><!-- fragment -->
|
|
1070
1070
|
</div>
|
|
1071
1071
|
</div>
|
|
@@ -1157,7 +1157,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
1157
1157
|
<p>GlobalAlias </p>
|
|
1158
1158
|
|
|
1159
1159
|
<p class="definition">Definition at line <a class="el" href="LLVMModule_8cpp_source.html#l00195">195</a> of file <a class="el" href="LLVMModule_8cpp_source.html">LLVMModule.cpp</a>.</p>
|
|
1160
|
-
<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a868fa5069b01b7a7dfbc5fb99cb76385">Options::SVFMain</a>)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a8af6b911b728713f66f7c809d5c0fbf1">addSVFMain</a>();</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a>& mod : <a class="code" href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">modules</a>)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">for</span> (Module::iterator it = mod.begin(), eit = mod.end();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  it != eit; ++it)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *func = &*it;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#ae5512e574414dc259daaacaecf8cdf13">addFunctionSet</a>(func);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">for</span> (Module::global_iterator it = mod.global_begin(),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  eit = mod.global_end(); it != eit; ++it)</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a> *global = &*it;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a9aabe6d24bea26f3b5c7cab5a0fc3053">addGlobalSet</a>(global);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">for</span> (Module::alias_iterator it = mod.alias_begin(),</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  eit = mod.alias_end(); it != eit; ++it)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">GlobalAlias</a> *alias = &*it;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a9b28f106dfedb917c6c757d5d0a6771e">addAliasSet</a>(alias);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div><div class="ttc" id="classSVF_1_1SVFModule_html_a9b28f106dfedb917c6c757d5d0a6771e"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a9b28f106dfedb917c6c757d5d0a6771e">SVF::SVFModule::addAliasSet</a></div><div class="ttdeci">void addAliasSet(GlobalAlias *alias)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
1160
|
+
<div class="fragment"><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> {</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#a868fa5069b01b7a7dfbc5fb99cb76385">Options::SVFMain</a>)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a8af6b911b728713f66f7c809d5c0fbf1">addSVFMain</a>();</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a>& mod : <a class="code" href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">modules</a>)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">for</span> (Module::iterator it = mod.begin(), eit = mod.end();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  it != eit; ++it)</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  {</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *func = &*it;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#ae5512e574414dc259daaacaecf8cdf13">addFunctionSet</a>(func);</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> </div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">for</span> (Module::global_iterator it = mod.global_begin(),</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  eit = mod.global_end(); it != eit; ++it)</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a> *global = &*it;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a9aabe6d24bea26f3b5c7cab5a0fc3053">addGlobalSet</a>(global);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">for</span> (Module::alias_iterator it = mod.alias_begin(),</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  eit = mod.alias_end(); it != eit; ++it)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">GlobalAlias</a> *alias = &*it;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a9b28f106dfedb917c6c757d5d0a6771e">addAliasSet</a>(alias);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span> }</div><div class="ttc" id="classSVF_1_1SVFModule_html_a9b28f106dfedb917c6c757d5d0a6771e"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a9b28f106dfedb917c6c757d5d0a6771e">SVF::SVFModule::addAliasSet</a></div><div class="ttdeci">void addAliasSet(GlobalAlias *alias)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00115">SVFModule.h:115</a></div></div>
|
|
1161
1161
|
<div class="ttc" id="namespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
|
|
1162
1162
|
<div class="ttc" id="namespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
|
|
1163
1163
|
<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="BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
|
|
@@ -1166,8 +1166,8 @@ Static Private Attributes</h2></td></tr>
|
|
|
1166
1166
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00051">LLVMModule.h:51</a></div></div>
|
|
1167
1167
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a8af6b911b728713f66f7c809d5c0fbf1"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a8af6b911b728713f66f7c809d5c0fbf1">SVF::LLVMModuleSet::addSVFMain</a></div><div class="ttdeci">void addSVFMain()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00228">LLVMModule.cpp:228</a></div></div>
|
|
1168
1168
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acde6292e719c80f93d3d1c344ab442cd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">SVF::LLVMModuleSet::modules</a></div><div class="ttdeci">std::vector< std::reference_wrapper< Module > > modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00054">LLVMModule.h:54</a></div></div>
|
|
1169
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_ae5512e574414dc259daaacaecf8cdf13"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ae5512e574414dc259daaacaecf8cdf13">SVF::SVFModule::addFunctionSet</a></div><div class="ttdeci">void addFunctionSet(Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
1170
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_a9aabe6d24bea26f3b5c7cab5a0fc3053"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a9aabe6d24bea26f3b5c7cab5a0fc3053">SVF::SVFModule::addGlobalSet</a></div><div class="ttdeci">void addGlobalSet(GlobalVariable *glob)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
1169
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_ae5512e574414dc259daaacaecf8cdf13"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ae5512e574414dc259daaacaecf8cdf13">SVF::SVFModule::addFunctionSet</a></div><div class="ttdeci">void addFunctionSet(Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00104">SVFModule.h:104</a></div></div>
|
|
1170
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_a9aabe6d24bea26f3b5c7cab5a0fc3053"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a9aabe6d24bea26f3b5c7cab5a0fc3053">SVF::SVFModule::addGlobalSet</a></div><div class="ttdeci">void addGlobalSet(GlobalVariable *glob)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00111">SVFModule.h:111</a></div></div>
|
|
1171
1171
|
</div><!-- fragment -->
|
|
1172
1172
|
</div>
|
|
1173
1173
|
</div>
|
|
@@ -1205,7 +1205,7 @@ Static Private Attributes</h2></td></tr>
|
|
|
1205
1205
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acde6292e719c80f93d3d1c344ab442cd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acde6292e719c80f93d3d1c344ab442cd">SVF::LLVMModuleSet::modules</a></div><div class="ttdeci">std::vector< std::reference_wrapper< Module > > modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00054">LLVMModule.h:54</a></div></div>
|
|
1206
1206
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae365189769640adb919a23c36978e5e2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">SVF::LLVMModuleSet::owned_modules</a></div><div class="ttdeci">std::vector< std::unique_ptr< Module > > owned_modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00053">LLVMModule.h:53</a></div></div>
|
|
1207
1207
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_ae19e38054c55d5822dfc83a12f12aa60"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae19e38054c55d5822dfc83a12f12aa60">SVF::LLVMModuleSet::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00204">LLVMModule.h:204</a></div></div>
|
|
1208
|
-
<div class="ttc" id="classSVF_1_1SVFModule_html_ac630e9f18a239ac6b3b88d05e64140c5"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ac630e9f18a239ac6b3b88d05e64140c5">SVF::SVFModule::setPagFromTXT</a></div><div class="ttdeci">static void setPagFromTXT(std::string txt)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#
|
|
1208
|
+
<div class="ttc" id="classSVF_1_1SVFModule_html_ac630e9f18a239ac6b3b88d05e64140c5"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ac630e9f18a239ac6b3b88d05e64140c5">SVF::SVFModule::setPagFromTXT</a></div><div class="ttdeci">static void setPagFromTXT(std::string txt)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00083">SVFModule.h:83</a></div></div>
|
|
1209
1209
|
</div><!-- fragment -->
|
|
1210
1210
|
</div>
|
|
1211
1211
|
</div>
|
|
@@ -375,7 +375,7 @@ Friends</h2></td></tr>
|
|
|
375
375
|
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> {</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">if</span> (pair.first == 0 || pair.second == 0)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</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>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#aa734ee7b55809934b441cf5e5818e015">Options::SingleStride</a>)</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.empty())</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.push_back(std::make_pair(<a class="code" href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">StInfo::getMaxFieldLimit</a>(),pair.second));</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> existStride = (*<a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.begin()).second;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newStride = <a class="code" href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">gcd</a>(pair.second, existStride);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">if</span> (newStride != existStride)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.pop_back();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.push_back(std::make_pair(<a class="code" href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">StInfo::getMaxFieldLimit</a>(),newStride));</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.push_back(pair);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="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#l00018">MTAResultValidator.h:18</a></div></div>
|
|
376
376
|
<div class="ttc" id="classSVF_1_1Options_html_aa734ee7b55809934b441cf5e5818e015"><div class="ttname"><a href="classSVF_1_1Options.html#aa734ee7b55809934b441cf5e5818e015">SVF::Options::SingleStride</a></div><div class="ttdeci">static const llvm::cl::opt< bool > SingleStride</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00124">Options.h:124</a></div></div>
|
|
377
377
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a4f7a3b135ffa9bc9a5c721d1e23a61a4"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">SVF::LocationSet::gcd</a></div><div class="ttdeci">unsigned gcd(unsigned n1, unsigned n2) const</div><div class="ttdoc">Return greatest common divisor. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00278">LocationSet.h:278</a></div></div>
|
|
378
|
-
<div class="ttc" id="classSVF_1_1StInfo_html_ad6e599717952f8ccc2771cd72254b6b2"><div class="ttname"><a href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">SVF::StInfo::getMaxFieldLimit</a></div><div class="ttdeci">static u32_t getMaxFieldLimit()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#
|
|
378
|
+
<div class="ttc" id="classSVF_1_1StInfo_html_ad6e599717952f8ccc2771cd72254b6b2"><div class="ttname"><a href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">SVF::StInfo::getMaxFieldLimit</a></div><div class="ttdeci">static u32_t getMaxFieldLimit()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00535">SymbolTableInfo.h:535</a></div></div>
|
|
379
379
|
<div class="ttc" id="classSVF_1_1LocationSet_html_abb755e95c8b292b3a6f3eff0256d1790"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">SVF::LocationSet::numStridePair</a></div><div class="ttdeci">ElemNumStridePairVec numStridePair</div><div class="ttdoc">element number and stride pair </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00285">LocationSet.h:285</a></div></div>
|
|
380
380
|
</div><!-- fragment -->
|
|
381
381
|
</div>
|