svf-tools 1.0.603 → 1.0.604
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/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +17 -17
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +29 -29
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +17 -17
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Casting_8h.html +68 -12
- package/SVF-doxygen/html/html/Casting_8h_source.html +49 -42
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRAnnotator_8h.html +2 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +21 -21
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/annotated.html +31 -27
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +61 -61
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +2 -2
- package/SVF-doxygen/html/html/classes.html +108 -107
- package/SVF-doxygen/html/html/functions_d.html +1 -1
- package/SVF-doxygen/html/html/functions_func_d.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +12 -12
- package/SVF-doxygen/html/html/functions_p.html +6 -6
- package/SVF-doxygen/html/html/functions_r.html +6 -4
- package/SVF-doxygen/html/html/functions_s.html +13 -11
- package/SVF-doxygen/html/html/functions_t.html +8 -4
- package/SVF-doxygen/html/html/functions_type_r.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_type_t.html +6 -0
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_w.html +9 -9
- package/SVF-doxygen/html/html/globals_defs.html +10 -0
- package/SVF-doxygen/html/html/globals_l.html +8 -2
- package/SVF-doxygen/html/html/hierarchy.html +502 -498
- package/SVF-doxygen/html/html/include_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/menudata.js +1 -0
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +13 -13
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +45 -36
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
- package/SVF-doxygen/html/html/namespacemembers_d.html +1 -1
- package/SVF-doxygen/html/html/namespacemembers_func_c.html +1 -1
- package/SVF-doxygen/html/html/search/all_1.js +4 -0
- package/SVF-doxygen/html/html/search/all_10.js +2 -2
- package/SVF-doxygen/html/html/search/all_11.js +3 -3
- package/SVF-doxygen/html/html/search/all_12.js +9 -9
- package/SVF-doxygen/html/html/search/all_13.js +5 -5
- package/SVF-doxygen/html/html/search/all_15.js +3 -3
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_4.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +2 -0
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/classes_0.js +4 -0
- package/SVF-doxygen/html/html/search/classes_8.js +1 -1
- package/SVF-doxygen/html/html/search/defines_9.js +2 -2
- package/SVF-doxygen/html/html/search/defines_a.js +2 -4
- package/SVF-doxygen/html/html/search/defines_b.js +4 -3
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_3.js +2 -2
- package/SVF-doxygen/html/html/search/searchdata.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__const__past__pointer-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__const__past__pointer.html +117 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__const__past__pointer_3_01T_00_01std_1_1enable__if__t_3_01std_1_1is_7fffc8df953a67082a10c9027356ecdf.html +116 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__const__past__pointer_3_01T_00_01std_1_1enable__if__t_3_01std_1_1is_cb99dfac8a8d563a9cc95333664bb3b0.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__lvalue__reference__if__not__pointer-members.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__lvalue__reference__if__not__pointer.html +120 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__lvalue__reference__if__not__pointer_3_01T_00_01std_1_1enable__if__t915410d772a4855ec3d21a633a25ee09.html +116 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1add__lvalue__reference__if__not__pointer_3_01T_00_01std_1_1enable__if__t988b83cd34ecdeca7da70d983bff292c.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01std_1_1enable__if__t_3_01std_1_1is__base69cc7dc7020ea1b36a974ffb5131e932.html +81 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01std_1_1enable__if__t_3_01std_1_1is__baseacbe8554d65d479d86c5b7d994311309.html +132 -0
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4-members.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +20 -20
- package/SVF-doxygen/html/html/tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/include/SVF-LLVM/IRAnnotator.h +1 -0
- package/include/Util/Casting.h +85 -29
- package/lib/SVF-LLVM/CHGBuilder.cpp +2 -2
- package/lib/SVF-LLVM/CPPUtil.cpp +7 -8
- package/package.json +1 -1
|
@@ -122,7 +122,7 @@ Private Attributes</h2></td></tr>
|
|
|
122
122
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
123
123
|
<div class="textblock"><p>Program annotator to write metadata information on LLVM IR </p>
|
|
124
124
|
|
|
125
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
125
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00023">23</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
126
126
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
127
127
|
<a id="aa54df3d6c0c20c26be90bb68546dc93d"></a>
|
|
128
128
|
<h2 class="memtitle"><span class="permalink"><a href="#aa54df3d6c0c20c26be90bb68546dc93d">◆ </a></span>IRAnnotator()</h2>
|
|
@@ -147,9 +147,9 @@ Private Attributes</h2></td></tr>
|
|
|
147
147
|
</table>
|
|
148
148
|
</div><div class="memdoc">
|
|
149
149
|
|
|
150
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
151
|
-
<div class="fragment"><div class="line"><a name="
|
|
152
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
150
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00026">26</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
151
|
+
<div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  :</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>(<span class="keyword">nullptr</span>),</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">ptsTo</a>(<span class="keyword">nullptr</span>)</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  {}</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00317">IRAnnotator.h:317</a></div></div>
|
|
152
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00318">IRAnnotator.h:318</a></div></div>
|
|
153
153
|
</div><!-- fragment -->
|
|
154
154
|
</div>
|
|
155
155
|
</div>
|
|
@@ -176,8 +176,8 @@ Private Attributes</h2></td></tr>
|
|
|
176
176
|
</table>
|
|
177
177
|
</div><div class="memdoc">
|
|
178
178
|
|
|
179
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
180
|
-
<div class="fragment"><div class="line"><a name="
|
|
179
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00030">30</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
180
|
+
<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> {}</div></div><!-- fragment -->
|
|
181
181
|
</div>
|
|
182
182
|
</div>
|
|
183
183
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
@@ -215,10 +215,10 @@ Private Attributes</h2></td></tr>
|
|
|
215
215
|
</table>
|
|
216
216
|
</div><div class="memdoc">
|
|
217
217
|
|
|
218
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
219
|
-
<div class="fragment"><div class="line"><a name="
|
|
218
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00275">275</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
219
|
+
<div class="fragment"><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  {</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">if</span> (mdNode)</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  {</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < mdNode->getNumOperands(); i++)</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  {</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keyword">auto</span> anderNodeIdStr = llvm::cast<llvm::MDString>(mdNode->getOperand(i))->getString().str();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">auto</span> anderNodeId = <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a>(std::stoul(anderNodeIdStr));</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">ptsTo</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(nodeId, anderNodeId);</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  }</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  }</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  }</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
220
220
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_af68485a2208553579f9c2e4b2cb20cff"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">SVF::BVDataPTAImpl::addPts</a></div><div class="ttdeci">virtual bool addPts(NodeID id, NodeID ptd)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00132">PointerAnalysisImpl.h:132</a></div></div>
|
|
221
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
221
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00318">IRAnnotator.h:318</a></div></div>
|
|
222
222
|
</div><!-- fragment -->
|
|
223
223
|
</div>
|
|
224
224
|
</div>
|
|
@@ -256,10 +256,10 @@ Private Attributes</h2></td></tr>
|
|
|
256
256
|
</table>
|
|
257
257
|
</div><div class="memdoc">
|
|
258
258
|
|
|
259
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
260
|
-
<div class="fragment"><div class="line"><a name="
|
|
259
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00288">288</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
260
|
+
<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">if</span> (mdNode)</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  {</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < mdNode->getNumOperands(); i++)</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keyword">auto</span> node = mdNode->getOperand(i);</div><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>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> j = 0; j < node->getNumOperands(); j++)</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  {</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">auto</span> anderNodeIdStr = llvm::cast<llvm::MDString>(node->getOperand(j))->getString().str();</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keyword">auto</span> anderNodeId = <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a>(std::stoul(anderNodeIdStr));</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">ptsTo</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">addPts</a>(nodeId, anderNodeId);</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</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>  }</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
261
261
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_af68485a2208553579f9c2e4b2cb20cff"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#af68485a2208553579f9c2e4b2cb20cff">SVF::BVDataPTAImpl::addPts</a></div><div class="ttdeci">virtual bool addPts(NodeID id, NodeID ptd)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00132">PointerAnalysisImpl.h:132</a></div></div>
|
|
262
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
262
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00318">IRAnnotator.h:318</a></div></div>
|
|
263
263
|
</div><!-- fragment -->
|
|
264
264
|
</div>
|
|
265
265
|
</div>
|
|
@@ -297,10 +297,10 @@ Private Attributes</h2></td></tr>
|
|
|
297
297
|
</table>
|
|
298
298
|
</div><div class="memdoc">
|
|
299
299
|
|
|
300
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
301
|
-
<div class="fragment"><div class="line"><a name="
|
|
300
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00306">306</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
301
|
+
<div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  llvm::SmallVector<llvm::Metadata *, 32> operands;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keyword">auto</span> &ptTo = <a class="code" href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">ptsTo</a>-><a class="code" href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">getPts</a>(nodeId);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ptTo)</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>  operands.push_back(llvm::MDString::get(context, std::to_string(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>)));</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  }</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">return</span> llvm::MDTuple::get(context, operands);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div><div class="ttc" id="cJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
302
302
|
<div class="ttc" id="classSVF_1_1BVDataPTAImpl_html_aee289e298e421448caaa604b7eb34fcb"><div class="ttname"><a href="classSVF_1_1BVDataPTAImpl.html#aee289e298e421448caaa604b7eb34fcb">SVF::BVDataPTAImpl::getPts</a></div><div class="ttdeci">virtual const PointsTo & getPts(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysisImpl_8h_source.html#l00099">PointerAnalysisImpl.h:99</a></div></div>
|
|
303
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
303
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00318">IRAnnotator.h:318</a></div></div>
|
|
304
304
|
</div><!-- fragment -->
|
|
305
305
|
</div>
|
|
306
306
|
</div>
|
|
@@ -344,15 +344,15 @@ Private Attributes</h2></td></tr>
|
|
|
344
344
|
</table>
|
|
345
345
|
</div><div class="memdoc">
|
|
346
346
|
|
|
347
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
348
|
-
<div class="fragment"><div class="line"><a name="
|
|
349
|
-
<div class="ttc" id="
|
|
350
|
-
<div class="ttc" id="
|
|
351
|
-
<div class="ttc" id="
|
|
352
|
-
<div class="ttc" id="
|
|
353
|
-
<div class="ttc" id="
|
|
347
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00032">32</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
348
|
+
<div class="fragment"><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  {</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  this-><a class="code" href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">ptsTo</a> = <a class="code" href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">ptsTo</a>;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a9fe3fa15a6a0ec25864cb8439a45596e">getMainLLVMModule</a>();</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="comment">// Add a named metadata node used to check whether or not</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="comment">// this IR has been annotated with Andersen information</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(<span class="stringliteral">"SVFIR-Annotated"</span>);</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = pag->begin(); it != pag->end(); ++it)</div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keyword">auto</span> nodeId = it->first;</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keyword">auto</span> pagNode = it->second;</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keyword">auto</span> gepNode = <a class="code" href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVFUtil::dyn_cast</a><GepObjVar>(pagNode);</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> (gepNode && writeFlag)</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a958e9af846c882ef3eeba4d71ff7ef7d">writePAGgepNode</a>(nodeId, gepNode);</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pagNode->hasValue())</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  {</div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#aaf9b679407f12b93afc53c157d37b444">getLLVMValue</a>(pagNode->getValue());</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a067fe6d76b3b11bbb726e2b40e723f78">processPAGNode</a>(val, nodeId, writeFlag);</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  }</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  }</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">if</span> (!writeFlag)</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a7f69afba3424c615736bffe2469d9a20">readPAGgepNodes</a>(pag);</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_af6e96694d983643a66c238cce01bff0e"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#af6e96694d983643a66c238cce01bff0e">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if_t<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type > dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00398">Casting.h:398</a></div></div>
|
|
349
|
+
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a9fe3fa15a6a0ec25864cb8439a45596e"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a9fe3fa15a6a0ec25864cb8439a45596e">SVF::LLVMModuleSet::getMainLLVMModule</a></div><div class="ttdeci">Module * getMainLLVMModule() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00306">LLVMModule.h:306</a></div></div>
|
|
350
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a067fe6d76b3b11bbb726e2b40e723f78"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a067fe6d76b3b11bbb726e2b40e723f78">SVF::IRAnnotator::processPAGNode</a></div><div class="ttdeci">void processPAGNode(const Value *value, SVF::NodeID nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00113">IRAnnotator.h:113</a></div></div>
|
|
351
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00317">IRAnnotator.h:317</a></div></div>
|
|
352
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a7f69afba3424c615736bffe2469d9a20"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a7f69afba3424c615736bffe2469d9a20">SVF::IRAnnotator::readPAGgepNodes</a></div><div class="ttdeci">void readPAGgepNodes(SVFIR *pag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00084">IRAnnotator.h:84</a></div></div>
|
|
353
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_afd8770eee0c14386c407cae026ce87b5"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#afd8770eee0c14386c407cae026ce87b5">SVF::IRAnnotator::ptsTo</a></div><div class="ttdeci">BVDataPTAImpl * ptsTo</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00318">IRAnnotator.h:318</a></div></div>
|
|
354
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a958e9af846c882ef3eeba4d71ff7ef7d"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a958e9af846c882ef3eeba4d71ff7ef7d">SVF::IRAnnotator::writePAGgepNode</a></div><div class="ttdeci">void writePAGgepNode(SVF::NodeID nodeId, GepObjVar *gepNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00066">IRAnnotator.h:66</a></div></div>
|
|
354
355
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00095">LLVMModule.h:95</a></div></div>
|
|
355
|
-
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00342">Casting.h:342</a></div></div>
|
|
356
356
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_aaf9b679407f12b93afc53c157d37b444"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aaf9b679407f12b93afc53c157d37b444">SVF::LLVMModuleSet::getLLVMValue</a></div><div class="ttdeci">const Value * getLLVMValue(const SVFValue *value) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00187">LLVMModule.h:187</a></div></div>
|
|
357
357
|
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes. </div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00056">BasicTypes.h:56</a></div></div>
|
|
358
358
|
</div><!-- fragment -->
|
|
@@ -398,9 +398,9 @@ Private Attributes</h2></td></tr>
|
|
|
398
398
|
</table>
|
|
399
399
|
</div><div class="memdoc">
|
|
400
400
|
|
|
401
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
402
|
-
<div class="fragment"><div class="line"><a name="
|
|
403
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
401
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00167">167</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
402
|
+
<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"anode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> </div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = argument->getContext();</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  argument->getParent()->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  {</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">auto</span> mdNode = argument->getParent()->getMetadata(label);</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at argument"</span>);</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00275">IRAnnotator.h:275</a></div></div>
|
|
403
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
404
404
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
405
405
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
406
406
|
</div><!-- fragment -->
|
|
@@ -446,9 +446,9 @@ Private Attributes</h2></td></tr>
|
|
|
446
446
|
</table>
|
|
447
447
|
</div><div class="memdoc">
|
|
448
448
|
|
|
449
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
450
|
-
<div class="fragment"><div class="line"><a name="
|
|
451
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
449
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00221">221</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
450
|
+
<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"bnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = basicBlock->getContext();</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  basicBlock->getParent()->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  {</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keyword">auto</span> mdNode = basicBlock->getParent()->getMetadata(label);</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at basicBlock"</span>);</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00275">IRAnnotator.h:275</a></div></div>
|
|
451
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
452
452
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
453
453
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
454
454
|
</div><!-- fragment -->
|
|
@@ -488,10 +488,10 @@ Private Attributes</h2></td></tr>
|
|
|
488
488
|
</table>
|
|
489
489
|
</div><div class="memdoc">
|
|
490
490
|
|
|
491
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
492
|
-
<div class="fragment"><div class="line"><a name="
|
|
493
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
494
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
491
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00239">239</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
492
|
+
<div class="fragment"><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"cnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> </div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  {</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getContext();</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(label)->addOperand(mdNodePts);</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  {</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <span class="keyword">auto</span> mdNode = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getNamedMetadata(label);</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at instruction"</span>);</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">addAndersenNamedMetdata</a>(nodeId, mdNode);</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_af48723d319bbe2ecfd0c4777c1c92dc1"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">SVF::IRAnnotator::addAndersenNamedMetdata</a></div><div class="ttdeci">void addAndersenNamedMetdata(const SVF::NodeID &nodeId, NamedMDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00288">IRAnnotator.h:288</a></div></div>
|
|
493
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
494
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00317">IRAnnotator.h:317</a></div></div>
|
|
495
495
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
496
496
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
497
497
|
</div><!-- fragment -->
|
|
@@ -537,9 +537,9 @@ Private Attributes</h2></td></tr>
|
|
|
537
537
|
</table>
|
|
538
538
|
</div><div class="memdoc">
|
|
539
539
|
|
|
540
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
541
|
-
<div class="fragment"><div class="line"><a name="
|
|
542
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
540
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00185">185</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
541
|
+
<div class="fragment"><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  {</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"fnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  {</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <span class="keyword">function</span>->getContext();</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">function</span>->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">else</span></div><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="keyword">auto</span> mdNode = <span class="keyword">function</span>->getMetadata(label);</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at function"</span>);</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  }</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00275">IRAnnotator.h:275</a></div></div>
|
|
542
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
543
543
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
544
544
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
545
545
|
</div><!-- fragment -->
|
|
@@ -585,9 +585,9 @@ Private Attributes</h2></td></tr>
|
|
|
585
585
|
</table>
|
|
586
586
|
</div><div class="memdoc">
|
|
587
587
|
|
|
588
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
589
|
-
<div class="fragment"><div class="line"><a name="
|
|
590
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
588
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00203">203</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
589
|
+
<div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"gnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">if</span> (writeFlag)</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>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = globalVar->getContext();</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  globalVar->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  }</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="keyword">auto</span> mdNode = globalVar->getMetadata(label);</div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at instruction"</span>);</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  }</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00275">IRAnnotator.h:275</a></div></div>
|
|
590
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
591
591
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
592
592
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
593
593
|
</div><!-- fragment -->
|
|
@@ -633,10 +633,10 @@ Private Attributes</h2></td></tr>
|
|
|
633
633
|
</table>
|
|
634
634
|
</div><div class="memdoc">
|
|
635
635
|
|
|
636
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
637
|
-
<div class="fragment"><div class="line"><a name="
|
|
638
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
639
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
636
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00257">257</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
637
|
+
<div class="fragment"><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  {</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"iAsmnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getContext();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(label)->addOperand(mdNodePts);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">auto</span> mdNode = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getNamedMetadata(label);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at inlineAsm"</span>);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">addAndersenNamedMetdata</a>(nodeId, mdNode);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  }</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_af48723d319bbe2ecfd0c4777c1c92dc1"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#af48723d319bbe2ecfd0c4777c1c92dc1">SVF::IRAnnotator::addAndersenNamedMetdata</a></div><div class="ttdeci">void addAndersenNamedMetdata(const SVF::NodeID &nodeId, NamedMDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00288">IRAnnotator.h:288</a></div></div>
|
|
638
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
639
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00317">IRAnnotator.h:317</a></div></div>
|
|
640
640
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
641
641
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
642
642
|
</div><!-- fragment -->
|
|
@@ -682,9 +682,9 @@ Private Attributes</h2></td></tr>
|
|
|
682
682
|
</table>
|
|
683
683
|
</div><div class="memdoc">
|
|
684
684
|
|
|
685
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
686
|
-
<div class="fragment"><div class="line"><a name="
|
|
687
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
685
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00149">149</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
686
|
+
<div class="fragment"><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"inode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span> (writeFlag)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  {</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = instruction->getContext();</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">auto</span> mdNodePts = <a class="code" href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">getMdNodePts</a>(nodeId, context);</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  instruction->setMetadata(label, mdNodePts);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keyword">auto</span> mdNode = instruction->getMetadata(label);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  assert(mdNode != <span class="keyword">nullptr</span> && <span class="stringliteral">"Failed to retrive valid node id at instruction"</span>);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">addAndersenMetadata</a>(nodeId, mdNode);</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_aa36cd38b0518a9c9a3b57cea9b07b227"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#aa36cd38b0518a9c9a3b57cea9b07b227">SVF::IRAnnotator::addAndersenMetadata</a></div><div class="ttdeci">void addAndersenMetadata(const SVF::NodeID &nodeId, MDNode *mdNode)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00275">IRAnnotator.h:275</a></div></div>
|
|
687
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a08a3ad9b6d872a70b1480f1beed49441"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a08a3ad9b6d872a70b1480f1beed49441">SVF::IRAnnotator::getMdNodePts</a></div><div class="ttdeci">llvm::MDTuple * getMdNodePts(const SVF::NodeID &nodeId, LLVMContext &context)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00306">IRAnnotator.h:306</a></div></div>
|
|
688
688
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
689
689
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
690
690
|
</div><!-- fragment -->
|
|
@@ -730,15 +730,15 @@ Private Attributes</h2></td></tr>
|
|
|
730
730
|
</table>
|
|
731
731
|
</div><div class="memdoc">
|
|
732
732
|
|
|
733
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
734
|
-
<div class="fragment"><div class="line"><a name="
|
|
735
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a6da6bf2db9dd582739e621aefc72025f"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a6da6bf2db9dd582739e621aefc72025f">SVF::IRAnnotator::processBasicBlockNode</a></div><div class="ttdeci">void processBasicBlockNode(BasicBlock *basicBlock, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
736
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a79ce14045e7321569b95cff0b4800c08"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a79ce14045e7321569b95cff0b4800c08">SVF::IRAnnotator::processArgumentNode</a></div><div class="ttdeci">void processArgumentNode(Argument *argument, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
737
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a9ed32d75937cc2da63cf95fbc477c66a"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a9ed32d75937cc2da63cf95fbc477c66a">SVF::IRAnnotator::processInstructionNode</a></div><div class="ttdeci">void processInstructionNode(Instruction *instruction, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
738
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_ac0aa0266a7284a46ad62211fb595d663"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#ac0aa0266a7284a46ad62211fb595d663">SVF::IRAnnotator::processGlobalVarNode</a></div><div class="ttdeci">void processGlobalVarNode(GlobalVariable *globalVar, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
733
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00113">113</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
734
|
+
<div class="fragment"><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  {</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span> instruction = const_cast<Instruction* >(SVFUtil::dyn_cast<Instruction>(value)))</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a9ed32d75937cc2da63cf95fbc477c66a">processInstructionNode</a>(instruction, nodeId, writeFlag);</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  }</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> argument = const_cast<Argument* >(SVFUtil::dyn_cast<Argument>(value)))</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a79ce14045e7321569b95cff0b4800c08">processArgumentNode</a>(argument, nodeId, writeFlag);</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> <span class="keyword">function</span> = const_cast<Function* >(SVFUtil::dyn_cast<Function>(value)))</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a31cbc6e5c63442cdbab3eea1b7b5393f">processFunctionNode</a>(<span class="keyword">function</span>, nodeId, writeFlag);</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> globalVar = const_cast<GlobalVariable *>(SVFUtil::dyn_cast<GlobalVariable>(value)))</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#ac0aa0266a7284a46ad62211fb595d663">processGlobalVarNode</a>(globalVar, nodeId, writeFlag);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> basicBlock = const_cast<BasicBlock* >(SVFUtil::dyn_cast<BasicBlock>(value)))</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a6da6bf2db9dd582739e621aefc72025f">processBasicBlockNode</a>(basicBlock, nodeId, writeFlag);</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  }</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<Constant>(value))</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a0a26b250269a2e38a5507d68fdbe03f4">processConstantNode</a>(nodeId, writeFlag);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">auto</span> inlineAsm = const_cast<llvm::InlineAsm *>(SVFUtil::dyn_cast<llvm::InlineAsm>(value)))</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#ad7bc258f3a6201d06f80b3c4422536b2">processInlineAsmNode</a>(inlineAsm, nodeId, writeFlag);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"Value is NOT a Instruction, Argument, Function, GlobalVariable, BasicBlock, Constant or InlineAsm"</span> << std::endl;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_a31cbc6e5c63442cdbab3eea1b7b5393f"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a31cbc6e5c63442cdbab3eea1b7b5393f">SVF::IRAnnotator::processFunctionNode</a></div><div class="ttdeci">void processFunctionNode(Function *function, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00185">IRAnnotator.h:185</a></div></div>
|
|
735
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a6da6bf2db9dd582739e621aefc72025f"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a6da6bf2db9dd582739e621aefc72025f">SVF::IRAnnotator::processBasicBlockNode</a></div><div class="ttdeci">void processBasicBlockNode(BasicBlock *basicBlock, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00221">IRAnnotator.h:221</a></div></div>
|
|
736
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a79ce14045e7321569b95cff0b4800c08"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a79ce14045e7321569b95cff0b4800c08">SVF::IRAnnotator::processArgumentNode</a></div><div class="ttdeci">void processArgumentNode(Argument *argument, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00167">IRAnnotator.h:167</a></div></div>
|
|
737
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a9ed32d75937cc2da63cf95fbc477c66a"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a9ed32d75937cc2da63cf95fbc477c66a">SVF::IRAnnotator::processInstructionNode</a></div><div class="ttdeci">void processInstructionNode(Instruction *instruction, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00149">IRAnnotator.h:149</a></div></div>
|
|
738
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_ac0aa0266a7284a46ad62211fb595d663"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#ac0aa0266a7284a46ad62211fb595d663">SVF::IRAnnotator::processGlobalVarNode</a></div><div class="ttdeci">void processGlobalVarNode(GlobalVariable *globalVar, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00203">IRAnnotator.h:203</a></div></div>
|
|
739
739
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
|
|
740
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_ad7bc258f3a6201d06f80b3c4422536b2"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#ad7bc258f3a6201d06f80b3c4422536b2">SVF::IRAnnotator::processInlineAsmNode</a></div><div class="ttdeci">void processInlineAsmNode(llvm::InlineAsm *inlineAsm, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
741
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a0a26b250269a2e38a5507d68fdbe03f4"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a0a26b250269a2e38a5507d68fdbe03f4">SVF::IRAnnotator::processConstantNode</a></div><div class="ttdeci">void processConstantNode(const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
740
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_ad7bc258f3a6201d06f80b3c4422536b2"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#ad7bc258f3a6201d06f80b3c4422536b2">SVF::IRAnnotator::processInlineAsmNode</a></div><div class="ttdeci">void processInlineAsmNode(llvm::InlineAsm *inlineAsm, const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00257">IRAnnotator.h:257</a></div></div>
|
|
741
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a0a26b250269a2e38a5507d68fdbe03f4"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a0a26b250269a2e38a5507d68fdbe03f4">SVF::IRAnnotator::processConstantNode</a></div><div class="ttdeci">void processConstantNode(const SVF::NodeID &nodeId, bool writeFlag)</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00239">IRAnnotator.h:239</a></div></div>
|
|
742
742
|
</div><!-- fragment -->
|
|
743
743
|
</div>
|
|
744
744
|
</div>
|
|
@@ -766,10 +766,10 @@ Private Attributes</h2></td></tr>
|
|
|
766
766
|
</table>
|
|
767
767
|
</div><div class="memdoc">
|
|
768
768
|
|
|
769
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
770
|
-
<div class="fragment"><div class="line"><a name="
|
|
769
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00084">84</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
770
|
+
<div class="fragment"><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  {</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->named_metadata_begin(); it != <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->named_metadata_end(); ++it)</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = it->getName().str();</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> toErase = <span class="stringliteral">"gepnode-"</span>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  std::size_t pos = label.find(toErase);</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (pos == std::string::npos)</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  {</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  label.erase(pos, toErase.length());</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> </div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a> nodeId = std::stoi(label);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keyword">auto</span> mdNode = it->getOperand(0);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a> baseNodeId = std::stoi(llvm::cast<llvm::MDString>(mdNode->getOperand(0))->getString().str());</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a> locationSetOffset = std::stoi(llvm::cast<llvm::MDString>(mdNode->getOperand(1))->getString().str());</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> </div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  LocationSet locationSet = LocationSet(locationSetOffset);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a> gepnodeId = pag->getGepObjVar(baseNodeId, locationSet);</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> </div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="keywordtype">bool</span> idEq = (nodeId == gepnodeId);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  (void)idEq; <span class="comment">// Suppress warning of unused variable under release build</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  assert(idEq && <span class="stringliteral">"nodeId is not equal to gepnodeId?"</span>);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div><div class="ttc" id="namespaceSVF_html_a350ae9bf8606bdfe23c8679681b969dc"><div class="ttname"><a href="namespaceSVF.html#a350ae9bf8606bdfe23c8679681b969dc">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="include_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
771
771
|
<div class="ttc" id="namespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
|
|
772
|
-
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#
|
|
772
|
+
<div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00317">IRAnnotator.h:317</a></div></div>
|
|
773
773
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
774
774
|
</div><!-- fragment -->
|
|
775
775
|
</div>
|
|
@@ -808,8 +808,8 @@ Private Attributes</h2></td></tr>
|
|
|
808
808
|
</table>
|
|
809
809
|
</div><div class="memdoc">
|
|
810
810
|
|
|
811
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
812
|
-
<div class="fragment"><div class="line"><a name="
|
|
811
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00066">66</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
812
|
+
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keyword">auto</span> baseNodeId = gepNode->getBaseNode();</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">auto</span> locationSetOffset = gepNode->getConstantFieldIdx();</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <a class="code" href="namespaceSVF.html#affba423b674a0aba723e33101826e297">LLVMContext</a> &context = <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getContext();</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  llvm::SmallVector<llvm::Metadata *, 32> operands;</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  operands.push_back(llvm::MDString::get(context, std::to_string(baseNodeId)));</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  operands.push_back(llvm::MDString::get(context, std::to_string(locationSetOffset)));</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  llvm::MDTuple *metadata = llvm::MDTuple::get(context, operands);</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> label = <span class="stringliteral">"gepnode-"</span> + std::to_string(nodeId);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">mainModule</a>->getOrInsertNamedMetadata(label)->addOperand(metadata);</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  }</div><div class="ttc" id="classSVF_1_1IRAnnotator_html_a01462e9ee84f490514598c68e8c9557b"><div class="ttname"><a href="classSVF_1_1IRAnnotator.html#a01462e9ee84f490514598c68e8c9557b">SVF::IRAnnotator::mainModule</a></div><div class="ttdeci">Module * mainModule</div><div class="ttdef"><b>Definition:</b> <a href="IRAnnotator_8h_source.html#l00317">IRAnnotator.h:317</a></div></div>
|
|
813
813
|
<div class="ttc" id="namespaceSVF_html_affba423b674a0aba723e33101826e297"><div class="ttname"><a href="namespaceSVF.html#affba423b674a0aba723e33101826e297">SVF::LLVMContext</a></div><div class="ttdeci">llvm::LLVMContext LLVMContext</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00044">BasicTypes.h:44</a></div></div>
|
|
814
814
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
815
815
|
</div><!-- fragment -->
|
|
@@ -836,7 +836,7 @@ Private Attributes</h2></td></tr>
|
|
|
836
836
|
</table>
|
|
837
837
|
</div><div class="memdoc">
|
|
838
838
|
|
|
839
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
839
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00317">317</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
840
840
|
|
|
841
841
|
</div>
|
|
842
842
|
</div>
|
|
@@ -860,7 +860,7 @@ Private Attributes</h2></td></tr>
|
|
|
860
860
|
</table>
|
|
861
861
|
</div><div class="memdoc">
|
|
862
862
|
|
|
863
|
-
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#
|
|
863
|
+
<p class="definition">Definition at line <a class="el" href="IRAnnotator_8h_source.html#l00318">318</a> of file <a class="el" href="IRAnnotator_8h_source.html">IRAnnotator.h</a>.</p>
|
|
864
864
|
|
|
865
865
|
</div>
|
|
866
866
|
</div>
|