svf-tools 1.0.771 → 1.0.772

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.
@@ -101,20 +101,20 @@ Public Member Functions</h2></td></tr>
101
101
  <tr class="separator:a57cbbcc977705ba7cd660bb5b632a66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
102
  <tr class="memitem:a584e5b2285a2980fc57cf84b06a76e0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a584e5b2285a2980fc57cf84b06a76e0c">narrowVAddrs</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;lhs, const <a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;rhs)</td></tr>
103
103
  <tr class="separator:a584e5b2285a2980fc57cf84b06a76e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
- <tr class="memitem:a3d135e0c48ec2bbe2fef524405fcb8b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">getGepObjAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pointer, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="el" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</td></tr>
105
- <tr class="memdesc:a3d135e0c48ec2bbe2fef524405fcb8b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the field address given a pointer points to a struct object and an offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">More...</a><br /></td></tr>
106
- <tr class="separator:a3d135e0c48ec2bbe2fef524405fcb8b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
- <tr class="memitem:a26a8068c25c7bea40b311f120d917cbb"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb">getBytefromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> elem_bytesize)</td></tr>
108
- <tr class="memdesc:a26a8068c25c7bea40b311f120d917cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the byte offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb">More...</a><br /></td></tr>
109
- <tr class="separator:a26a8068c25c7bea40b311f120d917cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
- <tr class="memitem:a841ace0635d388bc1f4d59d6761e4439"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439">getIndexfromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
111
- <tr class="memdesc:a841ace0635d388bc1f4d59d6761e4439"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the Index offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439">More...</a><br /></td></tr>
112
- <tr class="separator:a841ace0635d388bc1f4d59d6761e4439"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
- <tr class="memitem:a33785e2f4181fe48a4092100386440e7"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a33785e2f4181fe48a4092100386440e7">getGepByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> elemBytesize)</td></tr>
114
- <tr class="separator:a33785e2f4181fe48a4092100386440e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
- <tr class="memitem:a6c4dfdb5a6cee8ea3479606b917ef9e9"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">getGepOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
116
- <tr class="memdesc:a6c4dfdb5a6cee8ea3479606b917ef9e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>. <a href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">More...</a><br /></td></tr>
117
- <tr class="separator:a6c4dfdb5a6cee8ea3479606b917ef9e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
+ <tr class="memitem:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a> (<a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> pointer, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="el" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</td></tr>
105
+ <tr class="memdesc:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the field address given a pointer points to a struct object and an offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">More...</a><br /></td></tr>
106
+ <tr class="separator:a67532bdc1e4a49cf4d9da4b99b38e69a"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:a2f0fe665f2153115be84a143633b6b3b"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">getBytefromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> elem_bytesize)</td></tr>
108
+ <tr class="memdesc:a2f0fe665f2153115be84a143633b6b3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the byte offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">More...</a><br /></td></tr>
109
+ <tr class="separator:a2f0fe665f2153115be84a143633b6b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
+ <tr class="memitem:aed7fc3951608972b6f8fdce14b4a0cbb"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">getIndexfromGepTypePair</a> (const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;gep_pair, const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
111
+ <tr class="memdesc:aed7fc3951608972b6f8fdce14b4a0cbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the Index offset from one gep param offset. <a href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">More...</a><br /></td></tr>
112
+ <tr class="separator:aed7fc3951608972b6f8fdce14b4a0cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
+ <tr class="memitem:a24f009ea362c4acf1cfa44d4dd80ef8b"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a24f009ea362c4acf1cfa44d4dd80ef8b">getGepByteOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> elemBytesize)</td></tr>
114
+ <tr class="separator:a24f009ea362c4acf1cfa44d4dd80ef8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:afed2852aec6793e1943f97ed39dd8d2b"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">getGepOffset</a> (const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</td></tr>
116
+ <tr class="memdesc:afed2852aec6793e1943f97ed39dd8d2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the offset expression of a <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a>. <a href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">More...</a><br /></td></tr>
117
+ <tr class="separator:afed2852aec6793e1943f97ed39dd8d2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
118
118
  <tr class="memitem:a198e8d5f586a698462dee2c3fde8c83e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a198e8d5f586a698462dee2c3fde8c83e">applySummary</a> (<a class="el" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &amp;es)</td></tr>
119
119
  <tr class="separator:a198e8d5f586a698462dee2c3fde8c83e"><td class="memSeparator" colspan="2">&#160;</td></tr>
120
120
  <tr class="memitem:a61d288c8dc621a0578faa5ff784f4b6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a> (const <a class="el" href="classSVF_1_1ValVar.html">ValVar</a> *valVar, <a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</td></tr>
@@ -301,14 +301,14 @@ Private Attributes</h2></td></tr>
301
301
  </div><!-- fragment -->
302
302
  </div>
303
303
  </div>
304
- <a id="a26a8068c25c7bea40b311f120d917cbb"></a>
305
- <h2 class="memtitle"><span class="permalink"><a href="#a26a8068c25c7bea40b311f120d917cbb">&#9670;&nbsp;</a></span>getBytefromGepTypePair()</h2>
304
+ <a id="a2f0fe665f2153115be84a143633b6b3b"></a>
305
+ <h2 class="memtitle"><span class="permalink"><a href="#a2f0fe665f2153115be84a143633b6b3b">&#9670;&nbsp;</a></span>getBytefromGepTypePair()</h2>
306
306
 
307
307
  <div class="memitem">
308
308
  <div class="memproto">
309
309
  <table class="memname">
310
310
  <tr>
311
- <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt; SVFIR2ItvExeState::getBytefromGepTypePair </td>
311
+ <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt; SVFIR2ItvExeState::getBytefromGepTypePair </td>
312
312
  <td>(</td>
313
313
  <td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;&#160;</td>
314
314
  <td class="paramname"><em>gep_pair</em>, </td>
@@ -322,7 +322,7 @@ Private Attributes</h2></td></tr>
322
322
  <tr>
323
323
  <td class="paramkey"></td>
324
324
  <td></td>
325
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td>
325
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td>
326
326
  <td class="paramname"><em>elem_bytesize</em>&#160;</td>
327
327
  </tr>
328
328
  <tr>
@@ -342,48 +342,64 @@ Private Attributes</h2></td></tr>
342
342
  <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
343
343
  <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
344
344
  <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
345
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = 0;</div>
346
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = 0;</div>
347
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> maxFieldLimit = 0xFFFFFF;</div>
348
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">if</span> (op)</div>
345
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
346
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
347
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxByteLimit = 99999;</div>
348
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minByteLimit = -99999;</div>
349
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keyword">auto</span> valueReshape = [&amp;](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</div>
349
350
  <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; {</div>
350
- <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; offsetLb = offsetUb = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() &gt;</div>
351
- <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; maxFieldLimit? maxFieldLimit: op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
352
- <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; }</div>
353
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; <span class="keywordflow">else</span></div>
354
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div>
355
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
356
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
357
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
358
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, maxFieldLimit);</div>
359
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
360
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
361
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
362
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; offsetLb = offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>()&gt;</div>
363
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; maxFieldLimit? maxFieldLimit: idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
364
- <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; }</div>
365
- <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">else</span></div>
366
- <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; {</div>
367
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; offsetLb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>()&gt; maxFieldLimit? maxFieldLimit:idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() * elemBytesize ;</div>
368
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() &gt; maxFieldLimit? maxFieldLimit:idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() * elemBytesize;</div>
369
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
370
- <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
371
- <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; </div>
372
- <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
373
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; {</div>
374
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
375
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {</div>
376
- <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType())* elemBytesize;</div>
377
- <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType())* elemBytesize;</div>
378
- <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; }</div>
379
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <span class="keywordflow">else</span></div>
380
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div>
381
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; offsetLb = offsetLb * elemBytesize;</div>
382
- <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; offsetUb = offsetUb * elemBytesize;</div>
383
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div>
384
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; }</div>
385
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
386
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160;}</div>
351
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &lt; (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)minByteLimit)</div>
352
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; {</div>
353
+ <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; <span class="keywordflow">return</span> minByteLimit;</div>
354
+ <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
355
+ <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt; (<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>)maxByteLimit)</div>
356
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; {</div>
357
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <span class="keywordflow">return</span> maxByteLimit;</div>
358
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
359
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">else</span></div>
360
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div>
361
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
362
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
363
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; };</div>
364
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <span class="keywordflow">if</span> (op)</div>
365
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; {</div>
366
+ <div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; offsetLb = offsetUb = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() &gt; maxByteLimit</div>
367
+ <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; ? maxByteLimit</div>
368
+ <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; : op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
369
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; }</div>
370
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">else</span></div>
371
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; {</div>
372
+ <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
373
+ <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
374
+ <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
375
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, maxByteLimit);</div>
376
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
377
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
378
+ <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; {</div>
379
+ <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>());</div>
380
+ <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; }</div>
381
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="keywordflow">else</span></div>
382
+ <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div>
383
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>());</div>
384
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>());</div>
385
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; }</div>
386
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
387
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; </div>
388
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
389
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; {</div>
390
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
391
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; {</div>
392
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType())* elemBytesize;</div>
393
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType())* elemBytesize;</div>
394
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
395
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="keywordflow">else</span></div>
396
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; {</div>
397
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; offsetLb = offsetLb * elemBytesize;</div>
398
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; offsetUb = offsetUb * elemBytesize;</div>
399
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
400
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
401
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
402
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;}</div>
387
403
  </div><!-- fragment -->
388
404
  </div>
389
405
  </div>
@@ -447,14 +463,14 @@ Private Attributes</h2></td></tr>
447
463
  </div><!-- fragment -->
448
464
  </div>
449
465
  </div>
450
- <a id="a33785e2f4181fe48a4092100386440e7"></a>
451
- <h2 class="memtitle"><span class="permalink"><a href="#a33785e2f4181fe48a4092100386440e7">&#9670;&nbsp;</a></span>getGepByteOffset()</h2>
466
+ <a id="a24f009ea362c4acf1cfa44d4dd80ef8b"></a>
467
+ <h2 class="memtitle"><span class="permalink"><a href="#a24f009ea362c4acf1cfa44d4dd80ef8b">&#9670;&nbsp;</a></span>getGepByteOffset()</h2>
452
468
 
453
469
  <div class="memitem">
454
470
  <div class="memproto">
455
471
  <table class="memname">
456
472
  <tr>
457
- <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt; SVFIR2ItvExeState::getGepByteOffset </td>
473
+ <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt; SVFIR2ItvExeState::getGepByteOffset </td>
458
474
  <td>(</td>
459
475
  <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
460
476
  <td class="paramname"><em>gep</em>, </td>
@@ -462,7 +478,7 @@ Private Attributes</h2></td></tr>
462
478
  <tr>
463
479
  <td class="paramkey"></td>
464
480
  <td></td>
465
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td>
481
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td>
466
482
  <td class="paramname"><em>elemBytesize</em>&#160;</td>
467
483
  </tr>
468
484
  <tr>
@@ -476,35 +492,35 @@ Private Attributes</h2></td></tr>
476
492
  <p>for instant constant index, e.g. gep arr, 1</p>
477
493
  <p>default value of MaxFieldLimit is 512</p>
478
494
 
479
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00304">304</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
480
- <div class="fragment"><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;{</div>
481
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
482
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
483
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetLb = 0;</div>
484
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetUb = 0;</div>
485
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit = 0xFFFFFF;</div>
486
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
487
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; {</div>
488
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; std::pair&lt;s32_t, s32_t&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb">getBytefromGepTypePair</a>(</div>
489
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep, elemBytesize);</div>
490
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = offsetIdx.first;</div>
491
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = offsetIdx.second;</div>
492
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) &gt; maxFieldLimit)</div>
493
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; totalOffsetLb = maxFieldLimit;</div>
494
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <span class="keywordflow">else</span></div>
495
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; totalOffsetLb += offsetLb;</div>
496
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) &gt; maxFieldLimit)</div>
497
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; totalOffsetUb = maxFieldLimit;</div>
498
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="keywordflow">else</span></div>
499
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; totalOffsetUb += offsetUb ;</div>
500
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
501
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
502
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160;}</div>
495
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00324">324</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
496
+ <div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;{</div>
497
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
498
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
499
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
500
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
501
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = 0xFFFFFF;</div>
502
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
503
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; {</div>
504
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">getBytefromGepTypePair</a>(</div>
505
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep, elemBytesize);</div>
506
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
507
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
508
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; <span class="keywordflow">if</span> (totalOffsetLb + offsetLb &gt; maxFieldLimit)</div>
509
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; totalOffsetLb = maxFieldLimit;</div>
510
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">else</span></div>
511
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; totalOffsetLb += offsetLb;</div>
512
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; <span class="keywordflow">if</span> (totalOffsetUb + offsetUb &gt; maxFieldLimit)</div>
513
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; totalOffsetUb = maxFieldLimit;</div>
514
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="keywordflow">else</span></div>
515
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; totalOffsetUb += offsetUb ;</div>
516
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; }</div>
517
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
518
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160;}</div>
503
519
  </div><!-- fragment -->
504
520
  </div>
505
521
  </div>
506
- <a id="a3d135e0c48ec2bbe2fef524405fcb8b0"></a>
507
- <h2 class="memtitle"><span class="permalink"><a href="#a3d135e0c48ec2bbe2fef524405fcb8b0">&#9670;&nbsp;</a></span>getGepObjAddress()</h2>
522
+ <a id="a67532bdc1e4a49cf4d9da4b99b38e69a"></a>
523
+ <h2 class="memtitle"><span class="permalink"><a href="#a67532bdc1e4a49cf4d9da4b99b38e69a">&#9670;&nbsp;</a></span>getGepObjAddress()</h2>
508
524
 
509
525
  <div class="memitem">
510
526
  <div class="memproto">
@@ -518,7 +534,7 @@ Private Attributes</h2></td></tr>
518
534
  <tr>
519
535
  <td class="paramkey"></td>
520
536
  <td></td>
521
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>&#160;</td>
537
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>&#160;</td>
522
538
  <td class="paramname"><em>offset</em>&#160;</td>
523
539
  </tr>
524
540
  <tr>
@@ -554,14 +570,14 @@ Private Attributes</h2></td></tr>
554
570
  </div><!-- fragment -->
555
571
  </div>
556
572
  </div>
557
- <a id="a6c4dfdb5a6cee8ea3479606b917ef9e9"></a>
558
- <h2 class="memtitle"><span class="permalink"><a href="#a6c4dfdb5a6cee8ea3479606b917ef9e9">&#9670;&nbsp;</a></span>getGepOffset()</h2>
573
+ <a id="afed2852aec6793e1943f97ed39dd8d2b"></a>
574
+ <h2 class="memtitle"><span class="permalink"><a href="#afed2852aec6793e1943f97ed39dd8d2b">&#9670;&nbsp;</a></span>getGepOffset()</h2>
559
575
 
560
576
  <div class="memitem">
561
577
  <div class="memproto">
562
578
  <table class="memname">
563
579
  <tr>
564
- <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt; SVFIR2ItvExeState::getGepOffset </td>
580
+ <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt; SVFIR2ItvExeState::getGepOffset </td>
565
581
  <td>(</td>
566
582
  <td class="paramtype">const <a class="el" href="classSVF_1_1GepStmt.html">GepStmt</a> *&#160;</td>
567
583
  <td class="paramname"><em>gep</em></td><td>)</td>
@@ -574,41 +590,41 @@ Private Attributes</h2></td></tr>
574
590
  <p>for instant constant index, e.g. gep arr, 1</p>
575
591
  <p>default value of MaxFieldLimit is 512</p>
576
592
 
577
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00332">332</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
578
- <div class="fragment"><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160;{</div>
579
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
580
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
581
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetLb = 0;</div>
582
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetUb = 0;</div>
583
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
584
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
585
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {</div>
586
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; std::pair&lt;s32_t, s32_t&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439">getIndexfromGepTypePair</a>(</div>
587
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
588
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = offsetIdx.first;</div>
589
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = offsetIdx.second;</div>
590
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) &gt; maxFieldLimit)</div>
591
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; totalOffsetLb = maxFieldLimit;</div>
592
- <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; <span class="keywordflow">else</span></div>
593
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; totalOffsetLb += offsetLb;</div>
594
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) &gt; maxFieldLimit)</div>
595
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; totalOffsetUb = maxFieldLimit;</div>
596
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; <span class="keywordflow">else</span></div>
597
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; totalOffsetUb += offsetUb ;</div>
598
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; }</div>
599
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
600
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160;}</div>
593
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00352">352</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
594
+ <div class="fragment"><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160;{</div>
595
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">if</span> (gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
596
+ <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; <span class="keywordflow">return</span> std::make_pair(gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
597
+ <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetLb = 0;</div>
598
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalOffsetUb = 0;</div>
599
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
600
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i &gt;= 0; i--)</div>
601
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; {</div>
602
+ <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetIdx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">getIndexfromGepTypePair</a>(</div>
603
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
604
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = offsetIdx.first;</div>
605
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = offsetIdx.second;</div>
606
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) &gt; maxFieldLimit)</div>
607
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; totalOffsetLb = maxFieldLimit;</div>
608
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">else</span></div>
609
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; totalOffsetLb += offsetLb;</div>
610
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) &gt; maxFieldLimit)</div>
611
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; totalOffsetUb = maxFieldLimit;</div>
612
+ <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <span class="keywordflow">else</span></div>
613
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; totalOffsetUb += offsetUb ;</div>
614
+ <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; }</div>
615
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
616
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160;}</div>
601
617
  </div><!-- fragment -->
602
618
  </div>
603
619
  </div>
604
- <a id="a841ace0635d388bc1f4d59d6761e4439"></a>
605
- <h2 class="memtitle"><span class="permalink"><a href="#a841ace0635d388bc1f4d59d6761e4439">&#9670;&nbsp;</a></span>getIndexfromGepTypePair()</h2>
620
+ <a id="aed7fc3951608972b6f8fdce14b4a0cbb"></a>
621
+ <h2 class="memtitle"><span class="permalink"><a href="#aed7fc3951608972b6f8fdce14b4a0cbb">&#9670;&nbsp;</a></span>getIndexfromGepTypePair()</h2>
606
622
 
607
623
  <div class="memitem">
608
624
  <div class="memproto">
609
625
  <table class="memname">
610
626
  <tr>
611
- <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>, <a class="el" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> &gt; SVFIR2ItvExeState::getIndexfromGepTypePair </td>
627
+ <td class="memname">std::pair&lt; <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>, <a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> &gt; SVFIR2ItvExeState::getIndexfromGepTypePair </td>
612
628
  <td>(</td>
613
629
  <td class="paramtype">const <a class="el" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a> &amp;&#160;</td>
614
630
  <td class="paramname"><em>gep_pair</em>, </td>
@@ -630,80 +646,84 @@ Private Attributes</h2></td></tr>
630
646
  <p>Return the Index offset from one gep param offset. </p>
631
647
  <p>offset is constant but stored in variable</p>
632
648
 
633
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00227">227</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
634
- <div class="fragment"><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160;{</div>
635
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
636
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
637
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
638
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = 0;</div>
639
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = 0;</div>
640
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
641
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span> (op)</div>
642
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; {</div>
643
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; offsetLb = offsetUb = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() &gt;</div>
644
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; maxFieldLimit? maxFieldLimit: op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
645
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; }</div>
646
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">else</span></div>
647
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; {</div>
648
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
649
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">//if (!inVarToIValTable(idx)) return std::make_pair(-1, -1);</span></div>
650
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
651
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
652
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
653
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
654
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
655
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; {</div>
656
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; offsetLb = offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>()&gt;</div>
657
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; maxFieldLimit? maxFieldLimit: idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
658
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; }</div>
659
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">else</span></div>
649
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00243">243</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
650
+ <div class="fragment"><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160;{</div>
651
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first-&gt;getValue();</div>
652
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
653
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(value);</div>
654
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetLb = 0;</div>
655
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> offsetUb = 0;</div>
656
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
657
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> minFieldLimit = 0;</div>
658
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keyword">auto</span> valueReshape = [&amp;](<a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>)</div>
659
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div>
660
+ <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &lt; minFieldLimit)</div>
660
661
  <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; {</div>
661
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; offsetLb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() &lt; 0</div>
662
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; ? 0</div>
663
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
664
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; offsetLb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() &gt; maxFieldLimit</div>
665
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; ? maxFieldLimit</div>
666
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; : offsetLb;</div>
667
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() &lt; 0</div>
668
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; ? 0</div>
669
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
670
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() &gt; maxFieldLimit</div>
671
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; ? maxFieldLimit</div>
672
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; : offsetUb;</div>
673
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div>
674
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div>
675
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
676
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
677
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; {</div>
678
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
679
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
680
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
681
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
682
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
683
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">else</span></div>
684
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div>
685
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
686
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; -&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
687
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
688
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (so.empty() || (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)offsetUb &gt;= so.size() ||</div>
689
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)offsetLb &gt;= so.size())</div>
690
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div>
691
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; offsetLb = 0;</div>
692
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; offsetUb = maxFieldLimit;</div>
693
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div>
694
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">else</span></div>
695
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
696
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; offsetLb =</div>
697
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
698
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
699
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; offsetUb =</div>
700
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
701
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
702
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
703
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; }</div>
704
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; }</div>
705
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
706
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160;}</div>
662
+ <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> minFieldLimit;</div>
663
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
664
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt; maxFieldLimit)</div>
665
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; {</div>
666
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> maxFieldLimit;</div>
667
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; }</div>
668
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordflow">else</span></div>
669
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; {</div>
670
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>;</div>
671
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; }</div>
672
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; };</div>
673
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">if</span> (op)</div>
674
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; {</div>
675
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; offsetLb = offsetUb = valueReshape(op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>());</div>
676
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; }</div>
677
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">else</span></div>
678
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
679
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a4359c73e131a44f899c694fad25b7e1a">_svfir</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(value);</div>
680
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="comment">//if (!inVarToIValTable(idx)) return std::make_pair(-1, -1);</span></div>
681
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;idxVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[idx];</div>
682
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
683
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> std::make_pair(0, <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
684
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="comment">// if idxVal is a concrete value</span></div>
685
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
686
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; {</div>
687
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; offsetLb = offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>());</div>
688
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
689
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">else</span></div>
690
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div>
691
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; offsetLb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>());</div>
692
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; offsetUb = valueReshape(idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>());</div>
693
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div>
694
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; }</div>
695
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; </div>
696
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
697
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
698
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast&lt;SVFPointerType&gt;(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
699
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
700
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; offsetLb = offsetLb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
701
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; offsetUb = offsetUb * gep-&gt;<a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty-&gt;getPtrElementType());</div>
702
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
703
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">else</span></div>
704
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div>
705
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">const</span> std::vector&lt;u32_t&gt;&amp; so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
706
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; -&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
707
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; -&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
708
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> (so.empty() || offsetUb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size() ||</div>
709
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; offsetLb &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
710
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; {</div>
711
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; offsetLb = 0;</div>
712
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; offsetUb = maxFieldLimit;</div>
713
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; }</div>
714
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">else</span></div>
715
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
716
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; offsetLb =</div>
717
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
718
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
719
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; offsetUb =</div>
720
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
721
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
722
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
723
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</div>
724
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; }</div>
725
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
726
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160;}</div>
707
727
  </div><!-- fragment -->
708
728
  </div>
709
729
  </div>
@@ -873,50 +893,50 @@ Private Attributes</h2></td></tr>
873
893
  </dl>
874
894
  <p>constant data</p>
875
895
 
876
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00401">401</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
877
- <div class="fragment"><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160;{</div>
878
- <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
879
- <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
880
- <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; {</div>
881
- <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div>
882
- <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
883
- <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; {</div>
884
- <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
885
- <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; {</div>
886
- <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
887
- <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
888
- <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; }</div>
889
- <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast&lt;SVFConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
890
- <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; {</div>
891
- <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP-&gt;getFPValue(), consFP-&gt;getFPValue());</div>
892
- <div class="line"><a name="l00418"></a><span class="lineno"> 418</span>&#160; }</div>
893
- <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFConstantNullPtr&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
894
- <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>&#160; {</div>
895
- <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
896
- <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; }</div>
897
- <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFGlobalValue&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
898
- <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; {</div>
899
- <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
900
- <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; }</div>
901
- <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
902
- <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; {</div>
903
- <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
904
- <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; }</div>
905
- <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; <span class="keywordflow">else</span></div>
906
- <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; {</div>
907
- <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
896
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00421">421</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
897
+ <div class="fragment"><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160;{</div>
898
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; </div>
899
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160; <span class="keywordflow">if</span> (objVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
900
+ <div class="line"><a name="l00425"></a><span class="lineno"> 425</span>&#160; {</div>
901
+ <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-&gt;<a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div>
902
+ <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>&#160; <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
903
+ <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>&#160; {</div>
904
+ <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast&lt;SVFConstantInt&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
905
+ <div class="line"><a name="l00431"></a><span class="lineno"> 431</span>&#160; {</div>
906
+ <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>&#160; <span class="keywordtype">double</span> numeral = (double)consInt-&gt;getSExtValue();</div>
907
+ <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
908
908
  <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>&#160; }</div>
909
- <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; }</div>
910
- <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; <span class="keywordflow">else</span></div>
911
- <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; {</div>
912
- <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
913
- <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; }</div>
914
- <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; }</div>
915
- <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <span class="keywordflow">else</span></div>
916
- <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; {</div>
917
- <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
918
- <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; }</div>
919
- <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160;}</div>
909
+ <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast&lt;SVFConstantFP&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
910
+ <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>&#160; {</div>
911
+ <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP-&gt;getFPValue(), consFP-&gt;getFPValue());</div>
912
+ <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>&#160; }</div>
913
+ <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFConstantNullPtr&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
914
+ <div class="line"><a name="l00440"></a><span class="lineno"> 440</span>&#160; {</div>
915
+ <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
916
+ <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>&#160; }</div>
917
+ <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa&lt;SVFGlobalValue&gt;(obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
918
+ <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>&#160; {</div>
919
+ <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
920
+ <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>&#160; }</div>
921
+ <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-&gt;<a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
922
+ <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160; {</div>
923
+ <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
924
+ <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; }</div>
925
+ <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <span class="keywordflow">else</span></div>
926
+ <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; {</div>
927
+ <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
928
+ <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; }</div>
929
+ <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; }</div>
930
+ <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">else</span></div>
931
+ <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; {</div>
932
+ <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
933
+ <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; }</div>
934
+ <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; }</div>
935
+ <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">else</span></div>
936
+ <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; {</div>
937
+ <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a0c4be1dd8e7a2877c0cc76c404f6945a">getVirtualMemAddress</a>(varId));</div>
938
+ <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; }</div>
939
+ <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160;}</div>
920
940
  </div><!-- fragment -->
921
941
  </div>
922
942
  </div>
@@ -938,28 +958,28 @@ Private Attributes</h2></td></tr>
938
958
 
939
959
  <p>Init <a class="el" href="classSVF_1_1SVFVar.html">SVFVar</a>. </p>
940
960
 
941
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00447">447</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
942
- <div class="fragment"><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>&#160;{</div>
943
- <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
944
- <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
945
- <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div>
946
- <div class="line"><a name="l00452"></a><span class="lineno"> 452</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
947
- <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast&lt;ObjVar&gt;(svfVar))</div>
948
- <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>&#160; {</div>
949
- <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
950
- <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>&#160; <span class="keywordflow">return</span>;</div>
951
- <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>&#160; }</div>
952
- <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div>
953
- <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>&#160; {</div>
954
- <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
955
- <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>&#160; <span class="keywordflow">return</span>;</div>
956
- <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>&#160; }</div>
957
- <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>&#160; <span class="keywordflow">else</span></div>
958
- <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>&#160; {</div>
959
- <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
960
- <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>&#160; <span class="keywordflow">return</span>;</div>
961
- <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>&#160; }</div>
962
- <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;}</div>
961
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00467">467</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
962
+ <div class="fragment"><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>&#160;{</div>
963
+ <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(varId) || <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">inVarToAddrsTable</a>(varId)) <span class="keywordflow">return</span>;</div>
964
+ <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
965
+ <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div>
966
+ <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <span class="comment">// write objvar into cache instead of exestate</span></div>
967
+ <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast&lt;ObjVar&gt;(svfVar))</div>
968
+ <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; {</div>
969
+ <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">initObjVar</a>(objVar, varId);</div>
970
+ <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <span class="keywordflow">return</span>;</div>
971
+ <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
972
+ <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast&lt;ValVar&gt;(svfVar))</div>
973
+ <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
974
+ <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
975
+ <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="keywordflow">return</span>;</div>
976
+ <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div>
977
+ <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">else</span></div>
978
+ <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div>
979
+ <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">initValVar</a>(valVar, varId);</div>
980
+ <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="keywordflow">return</span>;</div>
981
+ <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; }</div>
982
+ <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>&#160;}</div>
963
983
  </div><!-- fragment -->
964
984
  </div>
965
985
  </div>
@@ -998,37 +1018,37 @@ Private Attributes</h2></td></tr>
998
1018
  </dd>
999
1019
  </dl>
1000
1020
 
1001
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00364">364</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1002
- <div class="fragment"><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160;{</div>
1003
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; </div>
1004
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
1005
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; </div>
1006
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
1007
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; {</div>
1008
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
1009
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
1010
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
1011
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
1012
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
1013
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
1014
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="comment">// continue with null expression</span></div>
1015
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1016
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <span class="keywordflow">else</span></div>
1017
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
1018
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; </div>
1019
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1020
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
1021
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
1022
- <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; }</div>
1023
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordflow">else</span></div>
1024
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; {</div>
1025
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
1026
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1027
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="keywordflow">else</span></div>
1028
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1029
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; assert(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div>
1030
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; }</div>
1031
- <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160;}</div>
1021
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00384">384</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1022
+ <div class="fragment"><div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160;{</div>
1023
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; </div>
1024
+ <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
1025
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; </div>
1026
+ <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
1027
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; {</div>
1028
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
1029
+ <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
1030
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
1031
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
1032
+ <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
1033
+ <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>-&gt;getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
1034
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <span class="comment">// continue with null expression</span></div>
1035
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1036
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; <span class="keywordflow">else</span></div>
1037
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; {</div>
1038
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
1039
+ <div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; valVar-&gt;<a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span> &lt;&lt; <span class="stringliteral">&quot; type: &quot;</span> &lt;&lt; *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
1040
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;what other types we have&quot;</span>);</div>
1041
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; }</div>
1042
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
1043
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; <span class="keywordflow">else</span></div>
1044
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; {</div>
1045
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; <span class="keywordflow">if</span> (svfir-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
1046
+ <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1047
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordflow">else</span></div>
1048
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1049
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; assert(SVFUtil::isa&lt;DummyValVar&gt;(valVar) &amp;&amp; <span class="stringliteral">&quot;not a DummValVar if it has no type?&quot;</span>);</div>
1050
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; }</div>
1051
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160;}</div>
1032
1052
  </div><!-- fragment -->
1033
1053
  </div>
1034
1054
  </div>
@@ -1373,23 +1393,23 @@ Private Attributes</h2></td></tr>
1373
1393
  </table>
1374
1394
  </div><div class="memdoc">
1375
1395
 
1376
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00471">471</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1377
- <div class="fragment"><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160;{</div>
1378
- <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1379
- <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1380
- <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; {</div>
1381
- <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
1382
- <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>&#160; }</div>
1383
- <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1384
- <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; {</div>
1385
- <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
1386
- <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1387
- <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; }</div>
1388
- <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>&#160; <span class="keywordflow">else</span></div>
1389
- <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; {</div>
1390
- <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1391
- <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; }</div>
1392
- <div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160;}</div>
1396
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00491">491</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1397
+ <div class="fragment"><div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160;{</div>
1398
+ <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">initSVFVar</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1399
+ <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1400
+ <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; {</div>
1401
+ <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
1402
+ <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; }</div>
1403
+ <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
1404
+ <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; {</div>
1405
+ <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
1406
+ <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; addr-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
1407
+ <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; }</div>
1408
+ <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">else</span></div>
1409
+ <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; {</div>
1410
+ <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;not number or virtual addrs?&quot;</span>);</div>
1411
+ <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; }</div>
1412
+ <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160;}</div>
1393
1413
  </div><!-- fragment -->
1394
1414
  </div>
1395
1415
  </div>
@@ -1409,67 +1429,67 @@ Private Attributes</h2></td></tr>
1409
1429
  </table>
1410
1430
  </div><div class="memdoc">
1411
1431
 
1412
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00490">490</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1413
- <div class="fragment"><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160;{</div>
1414
- <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1415
- <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1416
- <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1417
- <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1418
- <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1419
- <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1420
- <div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160; {</div>
1421
- <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1422
- <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1423
- <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1424
- <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>&#160; {</div>
1425
- <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1426
- <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1427
- <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>&#160; resVal = (lhs + rhs);</div>
1428
- <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="keywordflow">break</span>;</div>
1429
- <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1430
- <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1431
- <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; resVal = (lhs - rhs);</div>
1432
- <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <span class="keywordflow">break</span>;</div>
1433
- <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1434
- <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1435
- <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; resVal = (lhs * rhs);</div>
1436
- <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="keywordflow">break</span>;</div>
1437
- <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1438
- <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1439
- <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1440
- <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; resVal = (lhs / rhs);</div>
1441
- <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">break</span>;</div>
1442
- <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1443
- <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1444
- <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1445
- <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; resVal = (lhs % rhs);</div>
1446
- <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">break</span>;</div>
1447
- <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1448
- <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; resVal = (lhs ^ rhs);</div>
1449
- <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">break</span>;</div>
1450
- <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1451
- <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; resVal = (lhs &amp; rhs);</div>
1432
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00510">510</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1433
+ <div class="fragment"><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160;{</div>
1434
+ <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1435
+ <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1436
+ <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1437
+ <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1438
+ <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1)) <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1439
+ <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1440
+ <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; {</div>
1441
+ <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1442
+ <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1443
+ <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <span class="keywordflow">switch</span> (binary-&gt;<a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
1444
+ <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; {</div>
1445
+ <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
1446
+ <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
1447
+ <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; resVal = (lhs + rhs);</div>
1448
+ <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; <span class="keywordflow">break</span>;</div>
1449
+ <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
1450
+ <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
1451
+ <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160; resVal = (lhs - rhs);</div>
1452
1452
  <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>&#160; <span class="keywordflow">break</span>;</div>
1453
- <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1454
- <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; resVal = (lhs | rhs);</div>
1455
- <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <span class="keywordflow">break</span>;</div>
1456
- <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1457
- <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1458
- <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">break</span>;</div>
1459
- <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1460
- <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1453
+ <div class="line"><a name="l00531"></a><span class="lineno"> 531</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
1454
+ <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
1455
+ <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; resVal = (lhs * rhs);</div>
1456
+ <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <span class="keywordflow">break</span>;</div>
1457
+ <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
1458
+ <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
1459
+ <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
1460
+ <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; resVal = (lhs / rhs);</div>
1461
1461
  <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <span class="keywordflow">break</span>;</div>
1462
- <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1463
- <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1464
- <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">break</span>;</div>
1465
- <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; <span class="keywordflow">default</span>:</div>
1466
- <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; {</div>
1467
- <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1468
- <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; }</div>
1469
- <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div>
1470
- <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1471
- <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; }</div>
1472
- <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160;}</div>
1462
+ <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
1463
+ <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
1464
+ <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
1465
+ <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; resVal = (lhs % rhs);</div>
1466
+ <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <span class="keywordflow">break</span>;</div>
1467
+ <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
1468
+ <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; resVal = (lhs ^ rhs);</div>
1469
+ <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; <span class="keywordflow">break</span>;</div>
1470
+ <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
1471
+ <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; resVal = (lhs &amp; rhs);</div>
1472
+ <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="keywordflow">break</span>;</div>
1473
+ <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
1474
+ <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; resVal = (lhs | rhs);</div>
1475
+ <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; <span class="keywordflow">break</span>;</div>
1476
+ <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
1477
+ <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1478
+ <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <span class="keywordflow">break</span>;</div>
1479
+ <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
1480
+ <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; resVal = (lhs &lt;&lt; rhs);</div>
1481
+ <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <span class="keywordflow">break</span>;</div>
1482
+ <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
1483
+ <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; resVal = (lhs &gt;&gt; rhs);</div>
1484
+ <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">break</span>;</div>
1485
+ <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; <span class="keywordflow">default</span>:</div>
1486
+ <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; {</div>
1487
+ <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined binary: &quot;</span>);</div>
1488
+ <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; }</div>
1489
+ <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; }</div>
1490
+ <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1491
+ <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; }</div>
1492
+ <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160;}</div>
1473
1493
  </div><!-- fragment -->
1474
1494
  </div>
1475
1495
  </div>
@@ -1565,20 +1585,20 @@ Private Attributes</h2></td></tr>
1565
1585
  </table>
1566
1586
  </div><div class="memdoc">
1567
1587
 
1568
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00932">932</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1569
- <div class="fragment"><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160;{</div>
1570
- <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1571
- <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1572
- <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1573
- <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; {</div>
1574
- <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1575
- <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; }</div>
1576
- <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1577
- <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; {</div>
1578
- <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1579
- <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1580
- <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; }</div>
1581
- <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160;}</div>
1588
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00952">952</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1589
+ <div class="fragment"><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160;{</div>
1590
+ <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1591
+ <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1592
+ <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1593
+ <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; {</div>
1594
+ <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1595
+ <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div>
1596
+ <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1597
+ <div class="line"><a name="l00961"></a><span class="lineno"> 961</span>&#160; {</div>
1598
+ <div class="line"><a name="l00962"></a><span class="lineno"> 962</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1599
+ <div class="line"><a name="l00963"></a><span class="lineno"> 963</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1600
+ <div class="line"><a name="l00964"></a><span class="lineno"> 964</span>&#160; }</div>
1601
+ <div class="line"><a name="l00965"></a><span class="lineno"> 965</span>&#160;}</div>
1582
1602
  </div><!-- fragment -->
1583
1603
  </div>
1584
1604
  </div>
@@ -1631,193 +1651,193 @@ Private Attributes</h2></td></tr>
1631
1651
  </table>
1632
1652
  </div><div class="memdoc">
1633
1653
 
1634
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00552">552</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1635
- <div class="fragment"><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160;{</div>
1636
- <div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1637
- <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1638
- <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1639
- <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1640
- <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>&#160; {</div>
1641
- <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1642
- <div class="line"><a name="l00560"></a><span class="lineno"> 560</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1643
- <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1644
- <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1645
- <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>&#160; {</div>
1646
- <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1647
- <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1648
- <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1649
- <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>&#160; resVal = (lhs == rhs);</div>
1650
- <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>&#160; <span class="keywordflow">break</span>;</div>
1651
- <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1652
- <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1653
- <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1654
- <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>&#160; resVal = (lhs != rhs);</div>
1655
- <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160; <span class="keywordflow">break</span>;</div>
1656
- <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1657
- <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1658
- <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1659
- <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1660
- <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; resVal = (lhs &gt; rhs);</div>
1661
- <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <span class="keywordflow">break</span>;</div>
1662
- <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1663
- <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1664
- <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1665
- <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1666
- <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; resVal = (lhs &gt;= rhs);</div>
1667
- <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">break</span>;</div>
1668
- <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1669
- <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1670
- <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1671
- <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1672
- <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; resVal = (lhs &lt; rhs);</div>
1673
- <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">break</span>;</div>
1674
- <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1675
- <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1676
- <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1677
- <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1678
- <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; resVal = (lhs &lt;= rhs);</div>
1679
- <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">break</span>;</div>
1680
- <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1681
- <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1682
- <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">break</span>;</div>
1683
- <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1684
- <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1685
- <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">break</span>;</div>
1686
- <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; <span class="keywordflow">default</span>:</div>
1687
- <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; {</div>
1688
- <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1689
- <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; }</div>
1690
- <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; }</div>
1691
- <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1692
- <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; }</div>
1693
- <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
1694
- <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; {</div>
1695
- <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1696
- <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op1);</div>
1697
- <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160;<span class="comment">// if (lhs.empty() || rhs.empty()) {</span></div>
1698
- <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160;<span class="comment">// outs() &lt;&lt; &quot;empty address cmp?\n&quot;;</span></div>
1699
- <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160;<span class="comment">// return;</span></div>
1700
- <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160;<span class="comment">// }</span></div>
1701
- <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1702
- <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1703
- <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1704
- <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; {</div>
1705
- <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1706
- <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1707
- <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1708
- <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; {</div>
1709
- <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1710
- <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; {</div>
1711
- <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1712
- <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div>
1713
- <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">else</span></div>
1714
- <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; {</div>
1715
- <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1716
- <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; {</div>
1717
- <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1718
- <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160; }</div>
1719
- <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160; <span class="keywordflow">else</span></div>
1720
- <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160; {</div>
1721
- <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1722
- <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; }</div>
1723
- <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; }</div>
1724
- <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; <span class="keywordflow">break</span>;</div>
1725
- <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; }</div>
1726
- <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1727
- <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1728
- <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1729
- <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; {</div>
1730
- <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1731
- <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; {</div>
1732
- <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1733
- <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; }</div>
1734
- <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; <span class="keywordflow">else</span></div>
1735
- <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; {</div>
1736
- <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1737
- <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; {</div>
1738
- <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1739
- <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; }</div>
1740
- <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; <span class="keywordflow">else</span></div>
1741
- <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; {</div>
1742
- <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1743
- <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; }</div>
1744
- <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; }</div>
1745
- <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; <span class="keywordflow">break</span>;</div>
1746
- <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; }</div>
1747
- <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1748
- <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1749
- <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1750
- <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1751
- <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div>
1752
- <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1753
- <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; {</div>
1754
- <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1755
- <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; }</div>
1756
- <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">else</span></div>
1757
- <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div>
1758
- <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1759
- <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div>
1760
- <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">break</span>;</div>
1761
- <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; }</div>
1762
- <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1763
- <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1764
- <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1765
- <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1766
- <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; {</div>
1767
- <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1768
- <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; {</div>
1769
- <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1770
- <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; }</div>
1771
- <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; <span class="keywordflow">else</span></div>
1772
- <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; {</div>
1773
- <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1774
- <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; }</div>
1775
- <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; <span class="keywordflow">break</span>;</div>
1776
- <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; }</div>
1777
- <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1778
- <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1779
- <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1780
- <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1781
- <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; {</div>
1782
- <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1783
- <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; {</div>
1784
- <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1785
- <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; }</div>
1786
- <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; <span class="keywordflow">else</span></div>
1787
- <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; {</div>
1788
- <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1789
- <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; }</div>
1790
- <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; <span class="keywordflow">break</span>;</div>
1791
- <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; }</div>
1792
- <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1793
- <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1794
- <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1795
- <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1796
- <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; {</div>
1797
- <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1798
- <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; {</div>
1799
- <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1800
- <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; }</div>
1801
- <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; <span class="keywordflow">else</span></div>
1802
- <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; {</div>
1803
- <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1804
- <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; }</div>
1805
- <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; <span class="keywordflow">break</span>;</div>
1806
- <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; }</div>
1807
- <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1808
- <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1809
- <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">break</span>;</div>
1810
- <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1811
- <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1812
- <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">break</span>;</div>
1813
- <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">default</span>:</div>
1814
- <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; {</div>
1815
- <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1816
- <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; }</div>
1817
- <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; }</div>
1818
- <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1819
- <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; }</div>
1820
- <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160;}</div>
1654
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00572">572</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1655
+ <div class="fragment"><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>&#160;{</div>
1656
+ <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
1657
+ <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
1658
+ <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
1659
+ <div class="line"><a name="l00577"></a><span class="lineno"> 577</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(op1))</div>
1660
+ <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>&#160; {</div>
1661
+ <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1662
+ <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op0], &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[op1];</div>
1663
+ <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1664
+ <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1665
+ <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>&#160; {</div>
1666
+ <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1667
+ <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1668
+ <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1669
+ <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>&#160; resVal = (lhs == rhs);</div>
1670
+ <div class="line"><a name="l00588"></a><span class="lineno"> 588</span>&#160; <span class="keywordflow">break</span>;</div>
1671
+ <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1672
+ <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1673
+ <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1674
+ <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>&#160; resVal = (lhs != rhs);</div>
1675
+ <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>&#160; <span class="keywordflow">break</span>;</div>
1676
+ <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1677
+ <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1678
+ <div class="line"><a name="l00596"></a><span class="lineno"> 596</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1679
+ <div class="line"><a name="l00597"></a><span class="lineno"> 597</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1680
+ <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>&#160; resVal = (lhs &gt; rhs);</div>
1681
+ <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>&#160; <span class="keywordflow">break</span>;</div>
1682
+ <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1683
+ <div class="line"><a name="l00601"></a><span class="lineno"> 601</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1684
+ <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1685
+ <div class="line"><a name="l00603"></a><span class="lineno"> 603</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1686
+ <div class="line"><a name="l00604"></a><span class="lineno"> 604</span>&#160; resVal = (lhs &gt;= rhs);</div>
1687
+ <div class="line"><a name="l00605"></a><span class="lineno"> 605</span>&#160; <span class="keywordflow">break</span>;</div>
1688
+ <div class="line"><a name="l00606"></a><span class="lineno"> 606</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1689
+ <div class="line"><a name="l00607"></a><span class="lineno"> 607</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1690
+ <div class="line"><a name="l00608"></a><span class="lineno"> 608</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1691
+ <div class="line"><a name="l00609"></a><span class="lineno"> 609</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1692
+ <div class="line"><a name="l00610"></a><span class="lineno"> 610</span>&#160; resVal = (lhs &lt; rhs);</div>
1693
+ <div class="line"><a name="l00611"></a><span class="lineno"> 611</span>&#160; <span class="keywordflow">break</span>;</div>
1694
+ <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1695
+ <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1696
+ <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1697
+ <div class="line"><a name="l00615"></a><span class="lineno"> 615</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1698
+ <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>&#160; resVal = (lhs &lt;= rhs);</div>
1699
+ <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>&#160; <span class="keywordflow">break</span>;</div>
1700
+ <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1701
+ <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1702
+ <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>&#160; <span class="keywordflow">break</span>;</div>
1703
+ <div class="line"><a name="l00621"></a><span class="lineno"> 621</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1704
+ <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1705
+ <div class="line"><a name="l00623"></a><span class="lineno"> 623</span>&#160; <span class="keywordflow">break</span>;</div>
1706
+ <div class="line"><a name="l00624"></a><span class="lineno"> 624</span>&#160; <span class="keywordflow">default</span>:</div>
1707
+ <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>&#160; {</div>
1708
+ <div class="line"><a name="l00626"></a><span class="lineno"> 626</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1709
+ <div class="line"><a name="l00627"></a><span class="lineno"> 627</span>&#160; }</div>
1710
+ <div class="line"><a name="l00628"></a><span class="lineno"> 628</span>&#160; }</div>
1711
+ <div class="line"><a name="l00629"></a><span class="lineno"> 629</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1712
+ <div class="line"><a name="l00630"></a><span class="lineno"> 630</span>&#160; }</div>
1713
+ <div class="line"><a name="l00631"></a><span class="lineno"> 631</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op0) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(op1))</div>
1714
+ <div class="line"><a name="l00632"></a><span class="lineno"> 632</span>&#160; {</div>
1715
+ <div class="line"><a name="l00633"></a><span class="lineno"> 633</span>&#160; <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
1716
+ <div class="line"><a name="l00634"></a><span class="lineno"> 634</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;lhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op0), &amp;rhs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(op1);</div>
1717
+ <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>&#160;<span class="comment">// if (lhs.empty() || rhs.empty()) {</span></div>
1718
+ <div class="line"><a name="l00636"></a><span class="lineno"> 636</span>&#160;<span class="comment">// outs() &lt;&lt; &quot;empty address cmp?\n&quot;;</span></div>
1719
+ <div class="line"><a name="l00637"></a><span class="lineno"> 637</span>&#160;<span class="comment">// return;</span></div>
1720
+ <div class="line"><a name="l00638"></a><span class="lineno"> 638</span>&#160;<span class="comment">// }</span></div>
1721
+ <div class="line"><a name="l00639"></a><span class="lineno"> 639</span>&#160; assert(!lhs.empty() &amp;&amp; !rhs.empty() &amp;&amp; <span class="stringliteral">&quot;empty address?&quot;</span>);</div>
1722
+ <div class="line"><a name="l00640"></a><span class="lineno"> 640</span>&#160; <span class="keyword">auto</span> predicate = cmp-&gt;<a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
1723
+ <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>&#160; <span class="keywordflow">switch</span> (predicate)</div>
1724
+ <div class="line"><a name="l00642"></a><span class="lineno"> 642</span>&#160; {</div>
1725
+ <div class="line"><a name="l00643"></a><span class="lineno"> 643</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
1726
+ <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
1727
+ <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
1728
+ <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>&#160; {</div>
1729
+ <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1730
+ <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>&#160; {</div>
1731
+ <div class="line"><a name="l00649"></a><span class="lineno"> 649</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.equals(rhs));</div>
1732
+ <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>&#160; }</div>
1733
+ <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>&#160; <span class="keywordflow">else</span></div>
1734
+ <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>&#160; {</div>
1735
+ <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1736
+ <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>&#160; {</div>
1737
+ <div class="line"><a name="l00655"></a><span class="lineno"> 655</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1738
+ <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>&#160; }</div>
1739
+ <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>&#160; <span class="keywordflow">else</span></div>
1740
+ <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>&#160; {</div>
1741
+ <div class="line"><a name="l00659"></a><span class="lineno"> 659</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
1742
+ <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>&#160; }</div>
1743
+ <div class="line"><a name="l00661"></a><span class="lineno"> 661</span>&#160; }</div>
1744
+ <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>&#160; <span class="keywordflow">break</span>;</div>
1745
+ <div class="line"><a name="l00663"></a><span class="lineno"> 663</span>&#160; }</div>
1746
+ <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
1747
+ <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
1748
+ <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
1749
+ <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>&#160; {</div>
1750
+ <div class="line"><a name="l00668"></a><span class="lineno"> 668</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1751
+ <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>&#160; {</div>
1752
+ <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.equals(rhs));</div>
1753
+ <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160; }</div>
1754
+ <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160; <span class="keywordflow">else</span></div>
1755
+ <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160; {</div>
1756
+ <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160; <span class="keywordflow">if</span> (lhs.hasIntersect(rhs))</div>
1757
+ <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160; {</div>
1758
+ <div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1759
+ <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160; }</div>
1760
+ <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160; <span class="keywordflow">else</span></div>
1761
+ <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160; {</div>
1762
+ <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
1763
+ <div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160; }</div>
1764
+ <div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160; }</div>
1765
+ <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160; <span class="keywordflow">break</span>;</div>
1766
+ <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>&#160; }</div>
1767
+ <div class="line"><a name="l00685"></a><span class="lineno"> 685</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
1768
+ <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
1769
+ <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
1770
+ <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
1771
+ <div class="line"><a name="l00689"></a><span class="lineno"> 689</span>&#160; {</div>
1772
+ <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1773
+ <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>&#160; {</div>
1774
+ <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt; *rhs.begin());</div>
1775
+ <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>&#160; }</div>
1776
+ <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>&#160; <span class="keywordflow">else</span></div>
1777
+ <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>&#160; {</div>
1778
+ <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1779
+ <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>&#160; }</div>
1780
+ <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>&#160; <span class="keywordflow">break</span>;</div>
1781
+ <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>&#160; }</div>
1782
+ <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
1783
+ <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
1784
+ <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
1785
+ <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
1786
+ <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>&#160; {</div>
1787
+ <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1788
+ <div class="line"><a name="l00706"></a><span class="lineno"> 706</span>&#160; {</div>
1789
+ <div class="line"><a name="l00707"></a><span class="lineno"> 707</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &gt;= *rhs.begin());</div>
1790
+ <div class="line"><a name="l00708"></a><span class="lineno"> 708</span>&#160; }</div>
1791
+ <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; <span class="keywordflow">else</span></div>
1792
+ <div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; {</div>
1793
+ <div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1794
+ <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; }</div>
1795
+ <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; <span class="keywordflow">break</span>;</div>
1796
+ <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; }</div>
1797
+ <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
1798
+ <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
1799
+ <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
1800
+ <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
1801
+ <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>&#160; {</div>
1802
+ <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1803
+ <div class="line"><a name="l00721"></a><span class="lineno"> 721</span>&#160; {</div>
1804
+ <div class="line"><a name="l00722"></a><span class="lineno"> 722</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt; *rhs.begin());</div>
1805
+ <div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; }</div>
1806
+ <div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <span class="keywordflow">else</span></div>
1807
+ <div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; {</div>
1808
+ <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1809
+ <div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; }</div>
1810
+ <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; <span class="keywordflow">break</span>;</div>
1811
+ <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; }</div>
1812
+ <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
1813
+ <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
1814
+ <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
1815
+ <div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
1816
+ <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; {</div>
1817
+ <div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; <span class="keywordflow">if</span> (lhs.size() == 1 &amp;&amp; rhs.size() == 1)</div>
1818
+ <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; {</div>
1819
+ <div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.begin() &lt;= *rhs.begin());</div>
1820
+ <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div>
1821
+ <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; <span class="keywordflow">else</span></div>
1822
+ <div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; {</div>
1823
+ <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1824
+ <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div>
1825
+ <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <span class="keywordflow">break</span>;</div>
1826
+ <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; }</div>
1827
+ <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
1828
+ <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
1829
+ <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; <span class="keywordflow">break</span>;</div>
1830
+ <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
1831
+ <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
1832
+ <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordflow">break</span>;</div>
1833
+ <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">default</span>:</div>
1834
+ <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; {</div>
1835
+ <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;undefined compare: &quot;</span>);</div>
1836
+ <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; }</div>
1837
+ <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; }</div>
1838
+ <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = resVal;</div>
1839
+ <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; }</div>
1840
+ <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160;}</div>
1821
1841
  </div><!-- fragment -->
1822
1842
  </div>
1823
1843
  </div>
@@ -1914,27 +1934,27 @@ Private Attributes</h2></td></tr>
1914
1934
  </table>
1915
1935
  </div><div class="memdoc">
1916
1936
 
1917
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00815">815</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1918
- <div class="fragment"><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160;{</div>
1919
- <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1920
- <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1921
- <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1922
- <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; {</div>
1923
- <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1924
- <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; }</div>
1925
- <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; <span class="keywordflow">else</span></div>
1926
- <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; {</div>
1927
- <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1928
- <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; {</div>
1929
- <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1930
- <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; }</div>
1931
- <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1932
- <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; {</div>
1933
- <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1934
- <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1935
- <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160; }</div>
1936
- <div class="line"><a name="l00834"></a><span class="lineno"> 834</span>&#160; }</div>
1937
- <div class="line"><a name="l00835"></a><span class="lineno"> 835</span>&#160;}</div>
1937
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00835">835</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1938
+ <div class="fragment"><div class="line"><a name="l00836"></a><span class="lineno"> 836</span>&#160;{</div>
1939
+ <div class="line"><a name="l00837"></a><span class="lineno"> 837</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getLHSVarID();</div>
1940
+ <div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>-&gt;getRHSVarID();</div>
1941
+ <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()-&gt;isBlkPtr(lhs))</div>
1942
+ <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; {</div>
1943
+ <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
1944
+ <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; }</div>
1945
+ <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <span class="keywordflow">else</span></div>
1946
+ <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; {</div>
1947
+ <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
1948
+ <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; {</div>
1949
+ <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
1950
+ <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; }</div>
1951
+ <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
1952
+ <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; {</div>
1953
+ <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1954
+ <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1955
+ <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; }</div>
1956
+ <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; }</div>
1957
+ <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160;}</div>
1938
1958
  </div><!-- fragment -->
1939
1959
  </div>
1940
1960
  </div>
@@ -1987,37 +2007,37 @@ Private Attributes</h2></td></tr>
1987
2007
  </table>
1988
2008
  </div><div class="memdoc">
1989
2009
 
1990
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00837">837</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
1991
- <div class="fragment"><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>&#160;{</div>
1992
- <div class="line"><a name="l00839"></a><span class="lineno"> 839</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
1993
- <div class="line"><a name="l00840"></a><span class="lineno"> 840</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
1994
- <div class="line"><a name="l00841"></a><span class="lineno"> 841</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
1995
- <div class="line"><a name="l00842"></a><span class="lineno"> 842</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
1996
- <div class="line"><a name="l00843"></a><span class="lineno"> 843</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
1997
- <div class="line"><a name="l00844"></a><span class="lineno"> 844</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
1998
- <div class="line"><a name="l00845"></a><span class="lineno"> 845</span>&#160; std::pair&lt;s32_t, s32_t&gt; offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">getGepOffset</a>(gep);</div>
1999
- <div class="line"><a name="l00846"></a><span class="lineno"> 846</span>&#160; <span class="keywordflow">if</span> (offsetPair.first == -1 &amp;&amp; offsetPair.second == -1) <span class="keywordflow">return</span>;</div>
2000
- <div class="line"><a name="l00847"></a><span class="lineno"> 847</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
2001
- <div class="line"><a name="l00848"></a><span class="lineno"> 848</span>&#160; {</div>
2002
- <div class="line"><a name="l00849"></a><span class="lineno"> 849</span>&#160; <span class="keywordflow">return</span>;</div>
2003
- <div class="line"><a name="l00850"></a><span class="lineno"> 850</span>&#160; }</div>
2004
- <div class="line"><a name="l00851"></a><span class="lineno"> 851</span>&#160; <span class="keywordflow">else</span></div>
2005
- <div class="line"><a name="l00852"></a><span class="lineno"> 852</span>&#160; {</div>
2006
- <div class="line"><a name="l00853"></a><span class="lineno"> 853</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> gepAddrs;</div>
2007
- <div class="line"><a name="l00854"></a><span class="lineno"> 854</span>&#160; <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> ub = offsetPair.second;</div>
2008
- <div class="line"><a name="l00855"></a><span class="lineno"> 855</span>&#160; <span class="keywordflow">if</span> (offsetPair.second &gt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1)</div>
2009
- <div class="line"><a name="l00856"></a><span class="lineno"> 856</span>&#160; {</div>
2010
- <div class="line"><a name="l00857"></a><span class="lineno"> 857</span>&#160; ub = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
2011
- <div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160; }</div>
2012
- <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = offsetPair.first; i &lt;= ub; i++)</div>
2013
- <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; {</div>
2014
- <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">getGepObjAddress</a>(rhs, i));</div>
2015
- <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; }</div>
2016
- <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
2017
- <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
2018
- <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; <span class="keywordflow">return</span>;</div>
2019
- <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; }</div>
2020
- <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160;}</div>
2010
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00857">857</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2011
+ <div class="fragment"><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>&#160;{</div>
2012
+ <div class="line"><a name="l00859"></a><span class="lineno"> 859</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2013
+ <div class="line"><a name="l00860"></a><span class="lineno"> 860</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2014
+ <div class="line"><a name="l00861"></a><span class="lineno"> 861</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs)) <span class="keywordflow">return</span>;</div>
2015
+ <div class="line"><a name="l00862"></a><span class="lineno"> 862</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2016
+ <div class="line"><a name="l00863"></a><span class="lineno"> 863</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;rhsVal = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2017
+ <div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160; <span class="keywordflow">if</span> (rhsVal.empty()) <span class="keywordflow">return</span>;</div>
2018
+ <div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; std::pair&lt;APOffset, APOffset&gt; offsetPair = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">getGepOffset</a>(gep);</div>
2019
+ <div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <span class="keywordflow">if</span> (offsetPair.first == -1 &amp;&amp; offsetPair.second == -1) <span class="keywordflow">return</span>;</div>
2020
+ <div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae48cc31474d2c1cbc581b8f7ed433a14">isVirtualMemAddress</a>(*rhsVal.begin()))</div>
2021
+ <div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; {</div>
2022
+ <div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">return</span>;</div>
2023
+ <div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; }</div>
2024
+ <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">else</span></div>
2025
+ <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; {</div>
2026
+ <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> gepAddrs;</div>
2027
+ <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> ub = offsetPair.second;</div>
2028
+ <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">if</span> (offsetPair.second &gt; <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1)</div>
2029
+ <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div>
2030
+ <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; ub = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
2031
+ <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; }</div>
2032
+ <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> i = offsetPair.first; i &lt;= ub; i++)</div>
2033
+ <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; {</div>
2034
+ <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; gepAddrs.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(rhs, i));</div>
2035
+ <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; }</div>
2036
+ <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">if</span>(gepAddrs.empty()) <span class="keywordflow">return</span>;</div>
2037
+ <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = gepAddrs;</div>
2038
+ <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; <span class="keywordflow">return</span>;</div>
2039
+ <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; }</div>
2040
+ <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160;}</div>
2021
2041
  </div><!-- fragment -->
2022
2042
  </div>
2023
2043
  </div>
@@ -2037,51 +2057,51 @@ Private Attributes</h2></td></tr>
2037
2057
  </table>
2038
2058
  </div><div class="memdoc">
2039
2059
 
2040
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00740">740</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2041
- <div class="fragment"><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160;{</div>
2042
- <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2043
- <div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2044
- <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2045
- <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; {</div>
2046
- <div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2047
- <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>&#160; assert(!addrs.empty());</div>
2048
- <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2049
- <div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; {</div>
2050
- <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2051
- <div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2052
- <div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2053
- <div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2054
- <div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<a class="code" href="classSVF_1_1AddressValue.html#a77d6a1706328d86b210b26bacaf2fa9f">setBottom</a>();</div>
2055
- <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">break</span>;</div>
2056
- <div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; }</div>
2057
- <div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2058
- <div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; {</div>
2059
- <div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2060
- <div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2061
- <div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; {</div>
2062
- <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(lhs))</div>
2063
- <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; {</div>
2064
- <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr);</div>
2065
- <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; }</div>
2066
- <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">else</span></div>
2067
- <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; {</div>
2068
- <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs].join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
2069
- <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; }</div>
2070
- <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; }</div>
2071
- <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2072
- <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; {</div>
2073
- <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2074
- <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; {</div>
2075
- <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr);</div>
2076
- <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div>
2077
- <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">else</span></div>
2078
- <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; {</div>
2079
- <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr));</div>
2080
- <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; }</div>
2081
- <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; }</div>
2082
- <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; }</div>
2083
- <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; }</div>
2084
- <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160;}</div>
2060
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00760">760</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2061
+ <div class="fragment"><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160;{</div>
2062
+ <div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2063
+ <div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2064
+ <div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2065
+ <div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; {</div>
2066
+ <div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2067
+ <div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; assert(!addrs.empty());</div>
2068
+ <div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2069
+ <div class="line"><a name="l00769"></a><span class="lineno"> 769</span>&#160; {</div>
2070
+ <div class="line"><a name="l00770"></a><span class="lineno"> 770</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2071
+ <div class="line"><a name="l00771"></a><span class="lineno"> 771</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2072
+ <div class="line"><a name="l00772"></a><span class="lineno"> 772</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
2073
+ <div class="line"><a name="l00773"></a><span class="lineno"> 773</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2074
+ <div class="line"><a name="l00774"></a><span class="lineno"> 774</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<a class="code" href="classSVF_1_1AddressValue.html#a77d6a1706328d86b210b26bacaf2fa9f">setBottom</a>();</div>
2075
+ <div class="line"><a name="l00775"></a><span class="lineno"> 775</span>&#160; <span class="keywordflow">break</span>;</div>
2076
+ <div class="line"><a name="l00776"></a><span class="lineno"> 776</span>&#160; }</div>
2077
+ <div class="line"><a name="l00777"></a><span class="lineno"> 777</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2078
+ <div class="line"><a name="l00778"></a><span class="lineno"> 778</span>&#160; {</div>
2079
+ <div class="line"><a name="l00779"></a><span class="lineno"> 779</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr);</div>
2080
+ <div class="line"><a name="l00780"></a><span class="lineno"> 780</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab5eebce09b695a3ea1a1c6d5641296e2">inLocToIValTable</a>(objId))</div>
2081
+ <div class="line"><a name="l00781"></a><span class="lineno"> 781</span>&#160; {</div>
2082
+ <div class="line"><a name="l00782"></a><span class="lineno"> 782</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(lhs))</div>
2083
+ <div class="line"><a name="l00783"></a><span class="lineno"> 783</span>&#160; {</div>
2084
+ <div class="line"><a name="l00784"></a><span class="lineno"> 784</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr);</div>
2085
+ <div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; }</div>
2086
+ <div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <span class="keywordflow">else</span></div>
2087
+ <div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; {</div>
2088
+ <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs].join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#ae28249f952e1aa620b23e946a1f209ab">load</a>(addr));</div>
2089
+ <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; }</div>
2090
+ <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; }</div>
2091
+ <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">inLocToAddrsTable</a>(objId))</div>
2092
+ <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; {</div>
2093
+ <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2094
+ <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; {</div>
2095
+ <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr);</div>
2096
+ <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; }</div>
2097
+ <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; <span class="keywordflow">else</span></div>
2098
+ <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; {</div>
2099
+ <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#aa9bf42bd6ea06a7e61171244461eb066">loadVAddrs</a>(addr));</div>
2100
+ <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div>
2101
+ <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; }</div>
2102
+ <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; }</div>
2103
+ <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; }</div>
2104
+ <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160;}</div>
2085
2105
  </div><!-- fragment -->
2086
2106
  </div>
2087
2107
  </div>
@@ -2134,39 +2154,39 @@ Private Attributes</h2></td></tr>
2134
2154
  </table>
2135
2155
  </div><div class="memdoc">
2136
2156
 
2137
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00897">897</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2138
- <div class="fragment"><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160;{</div>
2139
- <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2140
- <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2141
- <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; {</div>
2142
- <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
2143
- <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(curId))</div>
2144
- <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; {</div>
2145
- <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId];</div>
2146
- <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(res))</div>
2147
- <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; {</div>
2148
- <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = cur;</div>
2149
- <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; }</div>
2150
- <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; <span class="keywordflow">else</span></div>
2151
- <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; {</div>
2152
- <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res].join_with(cur);</div>
2153
- <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div>
2154
- <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; }</div>
2155
- <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
2156
- <div class="line"><a name="l00916"></a><span class="lineno"> 916</span>&#160; {</div>
2157
- <div class="line"><a name="l00917"></a><span class="lineno"> 917</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId).empty());</div>
2158
- <div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId);</div>
2159
- <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(res))</div>
2160
- <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; {</div>
2161
- <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = cur;</div>
2162
- <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; }</div>
2163
- <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">else</span></div>
2164
- <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; {</div>
2165
- <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(cur);</div>
2166
- <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; }</div>
2167
- <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; }</div>
2168
- <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; }</div>
2169
- <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160;}</div>
2157
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00917">917</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2158
+ <div class="fragment"><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>&#160;{</div>
2159
+ <div class="line"><a name="l00919"></a><span class="lineno"> 919</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2160
+ <div class="line"><a name="l00920"></a><span class="lineno"> 920</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
2161
+ <div class="line"><a name="l00921"></a><span class="lineno"> 921</span>&#160; {</div>
2162
+ <div class="line"><a name="l00922"></a><span class="lineno"> 922</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
2163
+ <div class="line"><a name="l00923"></a><span class="lineno"> 923</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(curId))</div>
2164
+ <div class="line"><a name="l00924"></a><span class="lineno"> 924</span>&#160; {</div>
2165
+ <div class="line"><a name="l00925"></a><span class="lineno"> 925</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[curId];</div>
2166
+ <div class="line"><a name="l00926"></a><span class="lineno"> 926</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(res))</div>
2167
+ <div class="line"><a name="l00927"></a><span class="lineno"> 927</span>&#160; {</div>
2168
+ <div class="line"><a name="l00928"></a><span class="lineno"> 928</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = cur;</div>
2169
+ <div class="line"><a name="l00929"></a><span class="lineno"> 929</span>&#160; }</div>
2170
+ <div class="line"><a name="l00930"></a><span class="lineno"> 930</span>&#160; <span class="keywordflow">else</span></div>
2171
+ <div class="line"><a name="l00931"></a><span class="lineno"> 931</span>&#160; {</div>
2172
+ <div class="line"><a name="l00932"></a><span class="lineno"> 932</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res].join_with(cur);</div>
2173
+ <div class="line"><a name="l00933"></a><span class="lineno"> 933</span>&#160; }</div>
2174
+ <div class="line"><a name="l00934"></a><span class="lineno"> 934</span>&#160; }</div>
2175
+ <div class="line"><a name="l00935"></a><span class="lineno"> 935</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(curId))</div>
2176
+ <div class="line"><a name="l00936"></a><span class="lineno"> 936</span>&#160; {</div>
2177
+ <div class="line"><a name="l00937"></a><span class="lineno"> 937</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId).empty());</div>
2178
+ <div class="line"><a name="l00938"></a><span class="lineno"> 938</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;cur = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(curId);</div>
2179
+ <div class="line"><a name="l00939"></a><span class="lineno"> 939</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(res))</div>
2180
+ <div class="line"><a name="l00940"></a><span class="lineno"> 940</span>&#160; {</div>
2181
+ <div class="line"><a name="l00941"></a><span class="lineno"> 941</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = cur;</div>
2182
+ <div class="line"><a name="l00942"></a><span class="lineno"> 942</span>&#160; }</div>
2183
+ <div class="line"><a name="l00943"></a><span class="lineno"> 943</span>&#160; <span class="keywordflow">else</span></div>
2184
+ <div class="line"><a name="l00944"></a><span class="lineno"> 944</span>&#160; {</div>
2185
+ <div class="line"><a name="l00945"></a><span class="lineno"> 945</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(cur);</div>
2186
+ <div class="line"><a name="l00946"></a><span class="lineno"> 946</span>&#160; }</div>
2187
+ <div class="line"><a name="l00947"></a><span class="lineno"> 947</span>&#160; }</div>
2188
+ <div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160; }</div>
2189
+ <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160;}</div>
2170
2190
  </div><!-- fragment -->
2171
2191
  </div>
2172
2192
  </div>
@@ -2255,20 +2275,20 @@ Private Attributes</h2></td></tr>
2255
2275
  </table>
2256
2276
  </div><div class="memdoc">
2257
2277
 
2258
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00947">947</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2259
- <div class="fragment"><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>&#160;{</div>
2260
- <div class="line"><a name="l00949"></a><span class="lineno"> 949</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2261
- <div class="line"><a name="l00950"></a><span class="lineno"> 950</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2262
- <div class="line"><a name="l00951"></a><span class="lineno"> 951</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2263
- <div class="line"><a name="l00952"></a><span class="lineno"> 952</span>&#160; {</div>
2264
- <div class="line"><a name="l00953"></a><span class="lineno"> 953</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2265
- <div class="line"><a name="l00954"></a><span class="lineno"> 954</span>&#160; }</div>
2266
- <div class="line"><a name="l00955"></a><span class="lineno"> 955</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2267
- <div class="line"><a name="l00956"></a><span class="lineno"> 956</span>&#160; {</div>
2268
- <div class="line"><a name="l00957"></a><span class="lineno"> 957</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2269
- <div class="line"><a name="l00958"></a><span class="lineno"> 958</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2270
- <div class="line"><a name="l00959"></a><span class="lineno"> 959</span>&#160; }</div>
2271
- <div class="line"><a name="l00960"></a><span class="lineno"> 960</span>&#160;}</div>
2278
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00967">967</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2279
+ <div class="fragment"><div class="line"><a name="l00968"></a><span class="lineno"> 968</span>&#160;{</div>
2280
+ <div class="line"><a name="l00969"></a><span class="lineno"> 969</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2281
+ <div class="line"><a name="l00970"></a><span class="lineno"> 970</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2282
+ <div class="line"><a name="l00971"></a><span class="lineno"> 971</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2283
+ <div class="line"><a name="l00972"></a><span class="lineno"> 972</span>&#160; {</div>
2284
+ <div class="line"><a name="l00973"></a><span class="lineno"> 973</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[lhs] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs];</div>
2285
+ <div class="line"><a name="l00974"></a><span class="lineno"> 974</span>&#160; }</div>
2286
+ <div class="line"><a name="l00975"></a><span class="lineno"> 975</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2287
+ <div class="line"><a name="l00976"></a><span class="lineno"> 976</span>&#160; {</div>
2288
+ <div class="line"><a name="l00977"></a><span class="lineno"> 977</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2289
+ <div class="line"><a name="l00978"></a><span class="lineno"> 978</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(lhs) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs);</div>
2290
+ <div class="line"><a name="l00979"></a><span class="lineno"> 979</span>&#160; }</div>
2291
+ <div class="line"><a name="l00980"></a><span class="lineno"> 980</span>&#160;}</div>
2272
2292
  </div><!-- fragment -->
2273
2293
  </div>
2274
2294
  </div>
@@ -2321,33 +2341,33 @@ Private Attributes</h2></td></tr>
2321
2341
  </table>
2322
2342
  </div><div class="memdoc">
2323
2343
 
2324
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00869">869</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2325
- <div class="fragment"><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160;{</div>
2326
- <div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2327
- <div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2328
- <div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2329
- <div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2330
- <div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2331
- <div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div>
2332
- <div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2333
- <div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; {</div>
2334
- <div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
2335
- <div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; }</div>
2336
- <div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; <span class="keywordflow">else</span></div>
2337
- <div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; {</div>
2338
- <div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
2339
- <div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; }</div>
2340
- <div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; }</div>
2341
- <div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2342
- <div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; {</div>
2343
- <div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2344
- <div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; {</div>
2345
- <div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval).empty());</div>
2346
- <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval).empty());</div>
2347
- <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval);</div>
2348
- <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; }</div>
2349
- <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; }</div>
2350
- <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160;}</div>
2344
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00889">889</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2345
+ <div class="fragment"><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160;{</div>
2346
+ <div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-&gt;<a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
2347
+ <div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2348
+ <div class="line"><a name="l00893"></a><span class="lineno"> 893</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fval = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2349
+ <div class="line"><a name="l00894"></a><span class="lineno"> 894</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond = select-&gt;<a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-&gt;<a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
2350
+ <div class="line"><a name="l00895"></a><span class="lineno"> 895</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2351
+ <div class="line"><a name="l00896"></a><span class="lineno"> 896</span>&#160; {</div>
2352
+ <div class="line"><a name="l00897"></a><span class="lineno"> 897</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2353
+ <div class="line"><a name="l00898"></a><span class="lineno"> 898</span>&#160; {</div>
2354
+ <div class="line"><a name="l00899"></a><span class="lineno"> 899</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[fval] : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[tval];</div>
2355
+ <div class="line"><a name="l00900"></a><span class="lineno"> 900</span>&#160; }</div>
2356
+ <div class="line"><a name="l00901"></a><span class="lineno"> 901</span>&#160; <span class="keywordflow">else</span></div>
2357
+ <div class="line"><a name="l00902"></a><span class="lineno"> 902</span>&#160; {</div>
2358
+ <div class="line"><a name="l00903"></a><span class="lineno"> 903</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[res] = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond];</div>
2359
+ <div class="line"><a name="l00904"></a><span class="lineno"> 904</span>&#160; }</div>
2360
+ <div class="line"><a name="l00905"></a><span class="lineno"> 905</span>&#160; }</div>
2361
+ <div class="line"><a name="l00906"></a><span class="lineno"> 906</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(tval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(fval) &amp;&amp; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(cond))</div>
2362
+ <div class="line"><a name="l00907"></a><span class="lineno"> 907</span>&#160; {</div>
2363
+ <div class="line"><a name="l00908"></a><span class="lineno"> 908</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_numeral())</div>
2364
+ <div class="line"><a name="l00909"></a><span class="lineno"> 909</span>&#160; {</div>
2365
+ <div class="line"><a name="l00910"></a><span class="lineno"> 910</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval).empty());</div>
2366
+ <div class="line"><a name="l00911"></a><span class="lineno"> 911</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval).empty());</div>
2367
+ <div class="line"><a name="l00912"></a><span class="lineno"> 912</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(res) = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[cond].is_zero() ? <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(fval) : <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(tval);</div>
2368
+ <div class="line"><a name="l00913"></a><span class="lineno"> 913</span>&#160; }</div>
2369
+ <div class="line"><a name="l00914"></a><span class="lineno"> 914</span>&#160; }</div>
2370
+ <div class="line"><a name="l00915"></a><span class="lineno"> 915</span>&#160;}</div>
2351
2371
  </div><!-- fragment -->
2352
2372
  </div>
2353
2373
  </div>
@@ -2409,34 +2429,34 @@ Private Attributes</h2></td></tr>
2409
2429
  </table>
2410
2430
  </div><div class="memdoc">
2411
2431
 
2412
- <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00786">786</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2413
- <div class="fragment"><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160;{</div>
2414
- <div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2415
- <div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2416
- <div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2417
- <div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; {</div>
2418
- <div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2419
- <div class="line"><a name="l00793"></a><span class="lineno"> 793</span>&#160; {</div>
2420
- <div class="line"><a name="l00794"></a><span class="lineno"> 794</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2421
- <div class="line"><a name="l00795"></a><span class="lineno"> 795</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2422
- <div class="line"><a name="l00796"></a><span class="lineno"> 796</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2423
- <div class="line"><a name="l00797"></a><span class="lineno"> 797</span>&#160; {</div>
2424
- <div class="line"><a name="l00798"></a><span class="lineno"> 798</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2425
- <div class="line"><a name="l00799"></a><span class="lineno"> 799</span>&#160; }</div>
2426
- <div class="line"><a name="l00800"></a><span class="lineno"> 800</span>&#160; }</div>
2427
- <div class="line"><a name="l00801"></a><span class="lineno"> 801</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2428
- <div class="line"><a name="l00802"></a><span class="lineno"> 802</span>&#160; {</div>
2429
- <div class="line"><a name="l00803"></a><span class="lineno"> 803</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2430
- <div class="line"><a name="l00804"></a><span class="lineno"> 804</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2431
- <div class="line"><a name="l00805"></a><span class="lineno"> 805</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2432
- <div class="line"><a name="l00806"></a><span class="lineno"> 806</span>&#160; {</div>
2433
- <div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2434
- <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">storeVAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs));</div>
2435
- <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; }</div>
2436
- <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; </div>
2437
- <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; }</div>
2438
- <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; }</div>
2439
- <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160;}</div>
2432
+ <p class="definition">Definition at line <a class="el" href="SVFIR2ItvExeState_8cpp_source.html#l00806">806</a> of file <a class="el" href="SVFIR2ItvExeState_8cpp_source.html">SVFIR2ItvExeState.cpp</a>.</p>
2433
+ <div class="fragment"><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>&#160;{</div>
2434
+ <div class="line"><a name="l00808"></a><span class="lineno"> 808</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
2435
+ <div class="line"><a name="l00809"></a><span class="lineno"> 809</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-&gt;<a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
2436
+ <div class="line"><a name="l00810"></a><span class="lineno"> 810</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(lhs))</div>
2437
+ <div class="line"><a name="l00811"></a><span class="lineno"> 811</span>&#160; {</div>
2438
+ <div class="line"><a name="l00812"></a><span class="lineno"> 812</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8107e336e3a84fd3b7341786db7e7a13">inVarToIValTable</a>(rhs))</div>
2439
+ <div class="line"><a name="l00813"></a><span class="lineno"> 813</span>&#160; {</div>
2440
+ <div class="line"><a name="l00814"></a><span class="lineno"> 814</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2441
+ <div class="line"><a name="l00815"></a><span class="lineno"> 815</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2442
+ <div class="line"><a name="l00816"></a><span class="lineno"> 816</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2443
+ <div class="line"><a name="l00817"></a><span class="lineno"> 817</span>&#160; {</div>
2444
+ <div class="line"><a name="l00818"></a><span class="lineno"> 818</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a65be64fc3b46b3d8e0c22d8a478df5cb">store</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>[rhs]);</div>
2445
+ <div class="line"><a name="l00819"></a><span class="lineno"> 819</span>&#160; }</div>
2446
+ <div class="line"><a name="l00820"></a><span class="lineno"> 820</span>&#160; }</div>
2447
+ <div class="line"><a name="l00821"></a><span class="lineno"> 821</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(rhs))</div>
2448
+ <div class="line"><a name="l00822"></a><span class="lineno"> 822</span>&#160; {</div>
2449
+ <div class="line"><a name="l00823"></a><span class="lineno"> 823</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs).empty());</div>
2450
+ <div class="line"><a name="l00824"></a><span class="lineno"> 824</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">VAddrs</a> &amp;addrs = <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(lhs);</div>
2451
+ <div class="line"><a name="l00825"></a><span class="lineno"> 825</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;addr: addrs)</div>
2452
+ <div class="line"><a name="l00826"></a><span class="lineno"> 826</span>&#160; {</div>
2453
+ <div class="line"><a name="l00827"></a><span class="lineno"> 827</span>&#160; assert(!<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs).empty());</div>
2454
+ <div class="line"><a name="l00828"></a><span class="lineno"> 828</span>&#160; <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">_es</a>.<a class="code" href="classSVF_1_1ExeState.html#aad0556739ce5b173054c81cbbfff4b72">storeVAddrs</a>(addr, <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#add123d3c64674d34c6c8973cb82c6270">getVAddrs</a>(rhs));</div>
2455
+ <div class="line"><a name="l00829"></a><span class="lineno"> 829</span>&#160; }</div>
2456
+ <div class="line"><a name="l00830"></a><span class="lineno"> 830</span>&#160; </div>
2457
+ <div class="line"><a name="l00831"></a><span class="lineno"> 831</span>&#160; }</div>
2458
+ <div class="line"><a name="l00832"></a><span class="lineno"> 832</span>&#160; }</div>
2459
+ <div class="line"><a name="l00833"></a><span class="lineno"> 833</span>&#160;}</div>
2440
2460
  </div><!-- fragment -->
2441
2461
  </div>
2442
2462
  </div>
@@ -2514,7 +2534,7 @@ Private Attributes</h2></td></tr>
2514
2534
  <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div>
2515
2535
  <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2516
2536
  <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; {</div>
2517
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2537
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2518
2538
  <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div>
2519
2539
  <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; }</div>
2520
2540
  <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div>
@@ -2531,7 +2551,7 @@ Private Attributes</h2></td></tr>
2531
2551
  <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
2532
2552
  <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = 0; i &lt; (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>(); i++)</div>
2533
2553
  <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; {</div>
2534
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2554
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; lhsIter-&gt;second.join_with(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">getGepObjAddress</a>(<a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addr), i));</div>
2535
2555
  <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
2536
2556
  <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
2537
2557
  <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; }</div>
@@ -2668,6 +2688,7 @@ Private Attributes</h2></td></tr>
2668
2688
  <li>/home/runner/work/SVF/SVF/svf/lib/AbstractExecution/<a class="el" href="SVFIR2Relation_8cpp_source.html">SVFIR2Relation.cpp</a></li>
2669
2689
  </ul>
2670
2690
  </div><!-- contents -->
2691
+ <div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
2671
2692
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00902">SVFStatements.h:902</a></div></div>
2672
2693
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVF::SVFType::SVFArrayTy</a></div><div class="ttdeci">@ SVFArrayTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00257">SVFType.h:257</a></div></div>
2673
2694
  <div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a221061ec858e5c51b222164a6c4f8152"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">int64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00120">NumericLiteral.h:120</a></div></div>
@@ -2682,6 +2703,7 @@ Private Attributes</h2></td></tr>
2682
2703
  <div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00861">SVFStatements.h:861</a></div></div>
2683
2704
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a2b6de5a37851f83ed3fa8f69145148a8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a2b6de5a37851f83ed3fa8f69145148a8">SVF::SVFIR2ItvExeState::VAddrs</a></div><div class="ttdeci">ExeState::VAddrs VAddrs</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00044">SVFIR2ItvExeState.h:44</a></div></div>
2684
2705
  <div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00332">SVFType.h:332</a></div></div>
2706
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed7fc3951608972b6f8fdce14b4a0cbb"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed7fc3951608972b6f8fdce14b4a0cbb">SVF::SVFIR2ItvExeState::getIndexfromGepTypePair</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getIndexfromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00243">SVFIR2ItvExeState.cpp:243</a></div></div>
2685
2707
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a5c6efcc023e90ef2e618586091958c59"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">SVF::MultiOpndStmt::getOpVarID</a></div><div class="ttdeci">NodeID getOpVarID(u32_t pos) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00284">SVFStatements.cpp:284</a></div></div>
2686
2708
  <div class="ttc" id="aclassSVF_1_1AddressValue_html_acad5216bdc02a234d57abfe9ae72a12a"><div class="ttname"><a href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">SVF::AddressValue::join_with</a></div><div class="ttdeci">bool join_with(const AddressValue &amp;other)</div><div class="ttdoc">Current AddressValue joins with another AddressValue.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00139">AddressValue.h:139</a></div></div>
2687
2709
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00888">SVFStatements.h:888</a></div></div>
@@ -2710,6 +2732,7 @@ Private Attributes</h2></td></tr>
2710
2732
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00978">SVFStatements.h:978</a></div></div>
2711
2733
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00980">SVFStatements.h:980</a></div></div>
2712
2734
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00890">SVFStatements.h:890</a></div></div>
2735
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a67532bdc1e4a49cf4d9da4b99b38e69a"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a67532bdc1e4a49cf4d9da4b99b38e69a">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">VAddrs getGepObjAddress(u32_t pointer, APOffset offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00155">SVFIR2ItvExeState.cpp:155</a></div></div>
2713
2736
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
2714
2737
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
2715
2738
  <div class="ttc" id="aclassSVF_1_1ExeState_html_adb724bd1c3154368c629f4972c503d72"><div class="ttname"><a href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">SVF::ExeState::_locToVAddrs</a></div><div class="ttdeci">VarToVAddrs _locToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00173">ExeState.h:173</a></div></div>
@@ -2725,6 +2748,7 @@ Private Attributes</h2></td></tr>
2725
2748
  <div class="ttc" id="aclassSVF_1_1Z3Expr_html"><div class="ttname"><a href="classSVF_1_1Z3Expr.html">SVF::Z3Expr</a></div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00038">Z3Expr.h:38</a></div></div>
2726
2749
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flattened element idx of an array or struct by considering stride.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00181">SymbolTableInfo.cpp:181</a></div></div>
2727
2750
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00298">SVFStatements.h:298</a></div></div>
2751
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afed2852aec6793e1943f97ed39dd8d2b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afed2852aec6793e1943f97ed39dd8d2b">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getGepOffset(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00352">SVFIR2ItvExeState.cpp:352</a></div></div>
2728
2752
  <div class="ttc" id="aclassSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00262">SVFVariables.h:262</a></div></div>
2729
2753
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00901">SVFStatements.h:901</a></div></div>
2730
2754
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00162">SVFIR2ItvExeState.h:162</a></div></div>
@@ -2742,14 +2766,12 @@ Private Attributes</h2></td></tr>
2742
2766
  <div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00853">SVFStatements.h:853</a></div></div>
2743
2767
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac72e3ae77e06e0dfc7c2edd2bf765d77"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">SVF::IntervalExeState::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00068">IntervalExeState.h:68</a></div></div>
2744
2768
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVF::SVFType::SVFFunctionTy</a></div><div class="ttdeci">@ SVFFunctionTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00255">SVFType.h:255</a></div></div>
2745
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a26a8068c25c7bea40b311f120d917cbb"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb">SVF::SVFIR2ItvExeState::getBytefromGepTypePair</a></div><div class="ttdeci">std::pair&lt; s32_t, s32_t &gt; getBytefromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep, s32_t elem_bytesize)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00176">SVFIR2ItvExeState.cpp:176</a></div></div>
2746
2769
  <div class="ttc" id="aclassSVF_1_1GepStmt_html_afe5ae814b71b59fc03bd672d62a5fab7"><div class="ttname"><a href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">Field index of the gep statement if it access the field of a struct.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00519">SVFStatements.h:519</a></div></div>
2747
2770
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
2748
2771
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00928">SVFValue.h:928</a></div></div>
2749
2772
  <div class="ttc" id="aclassSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00962">SVFValue.h:962</a></div></div>
2750
2773
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00976">SVFStatements.h:976</a></div></div>
2751
2774
  <div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral &amp; ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
2752
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6c4dfdb5a6cee8ea3479606b917ef9e9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair&lt; s32_t, s32_t &gt; getGepOffset(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00332">SVFIR2ItvExeState.cpp:332</a></div></div>
2753
2775
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00897">SVFStatements.h:897</a></div></div>
2754
2776
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00907">SVFStatements.h:907</a></div></div>
2755
2777
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00894">SVFStatements.h:894</a></div></div>
@@ -2785,13 +2807,14 @@ Private Attributes</h2></td></tr>
2785
2807
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a884199a26d43d09bc7e33369fceb8274"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a884199a26d43d09bc7e33369fceb8274">SVF::IntervalExeState::inVarToIValTable</a></div><div class="ttdeci">bool inVarToIValTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00163">IntervalExeState.h:163</a></div></div>
2786
2808
  <div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00857">SVFStatements.h:857</a></div></div>
2787
2809
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_ae18425df0631aefca7dd4b799f6f524a"><div class="ttname"><a href="classSVF_1_1SVFIR.html#ae18425df0631aefca7dd4b799f6f524a">SVF::SVFIR::getGepObjVar</a></div><div class="ttdeci">NodeID getGepObjVar(const MemObj *obj, const APOffset &amp;ap)</div><div class="ttdoc">Get a field SVFIR Object node according to base mem obj and offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00422">SVFIR.cpp:422</a></div></div>
2788
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00447">SVFIR2ItvExeState.cpp:447</a></div></div>
2810
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00467">SVFIR2ItvExeState.cpp:467</a></div></div>
2789
2811
  <div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
2790
2812
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01015">SVFStatements.h:1015</a></div></div>
2791
2813
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ab6b5ed878ce12016424c48c6252a764e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ab6b5ed878ce12016424c48c6252a764e">SVF::SVFIR2ItvExeState::_es</a></div><div class="ttdeci">IntervalExeState _es</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00201">SVFIR2ItvExeState.h:201</a></div></div>
2792
2814
  <div class="ttc" id="aclassSVF_1_1ObjVar_html_a6a4feb73b54e602407e35eeb09f55930"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">SVF::ObjVar::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00353">SVFVariables.h:353</a></div></div>
2815
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a2f0fe665f2153115be84a143633b6b3b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a2f0fe665f2153115be84a143633b6b3b">SVF::SVFIR2ItvExeState::getBytefromGepTypePair</a></div><div class="ttdeci">std::pair&lt; APOffset, APOffset &gt; getBytefromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep, APOffset elem_bytesize)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00176">SVFIR2ItvExeState.cpp:176</a></div></div>
2793
2816
  <div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
2794
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00401">SVFIR2ItvExeState.cpp:401</a></div></div>
2817
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00421">SVFIR2ItvExeState.cpp:421</a></div></div>
2795
2818
  <div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
2796
2819
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00979">SVFStatements.h:979</a></div></div>
2797
2820
  <div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
@@ -2807,7 +2830,7 @@ Private Attributes</h2></td></tr>
2807
2830
  <div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
2808
2831
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a174523c405d7a7d7dbbcbaa43c335665"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a174523c405d7a7d7dbbcbaa43c335665">SVF::SVFIR2ItvExeState::inLocToAddrsTable</a></div><div class="ttdeci">bool inLocToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00132">SVFIR2ItvExeState.h:132</a></div></div>
2809
2832
  <div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00289">SVFStatements.cpp:289</a></div></div>
2810
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a841ace0635d388bc1f4d59d6761e4439"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439">SVF::SVFIR2ItvExeState::getIndexfromGepTypePair</a></div><div class="ttdeci">std::pair&lt; s32_t, s32_t &gt; getIndexfromGepTypePair(const AccessPath::VarAndGepTypePair &amp;gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00227">SVFIR2ItvExeState.cpp:227</a></div></div>
2833
+ <div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00054">SVFType.h:54</a></div></div>
2811
2834
  <div class="ttc" id="aclassSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00380">SymbolTableInfo.h:380</a></div></div>
2812
2835
  <div class="ttc" id="aclassSVF_1_1ExeState_html_a2f01e583abcdeb236a11e85c7a8aafdc"><div class="ttname"><a href="classSVF_1_1ExeState.html#a2f01e583abcdeb236a11e85c7a8aafdc">SVF::ExeState::getVirtualMemAddress</a></div><div class="ttdeci">static u32_t getVirtualMemAddress(u32_t idx)</div><div class="ttdoc">The physical address starts with 0x7f...... + idx.</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00258">ExeState.h:258</a></div></div>
2813
2836
  <div class="ttc" id="aclassSVF_1_1SVFConstantInt_html_a73f04bdfc19261b65164b98787bc2ed4"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">SVF::SVFConstantInt::getSExtValue</a></div><div class="ttdeci">s64_t getSExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00956">SVFValue.h:956</a></div></div>
@@ -2821,10 +2844,9 @@ Private Attributes</h2></td></tr>
2821
2844
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream &amp; errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
2822
2845
  <div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a36e15d9d95908b74fcf321e30a9cdebe"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">SVF::IntervalExeState::getVAddrs</a></div><div class="ttdeci">VAddrs &amp; getVAddrs(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00154">IntervalExeState.h:154</a></div></div>
2823
2846
  <div class="ttc" id="aclassSVF_1_1MemObj_html_a019a77516c403f1f3cc72917b810a41f"><div class="ttname"><a href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">SVF::MemObj::isConstantStruct</a></div><div class="ttdeci">bool isConstantStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00515">SymbolTableInfo.cpp:515</a></div></div>
2824
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a3d135e0c48ec2bbe2fef524405fcb8b0"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">VAddrs getGepObjAddress(u32_t pointer, s32_t offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00155">SVFIR2ItvExeState.cpp:155</a></div></div>
2825
2847
  <div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00972">SVFStatements.h:972</a></div></div>
2826
2848
  <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00127">SVFIR2ItvExeState.h:127</a></div></div>
2827
- <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00364">SVFIR2ItvExeState.cpp:364</a></div></div>
2849
+ <div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00384">SVFIR2ItvExeState.cpp:384</a></div></div>
2828
2850
  <!-- start footer part -->
2829
2851
  <hr class="footer"/><address class="footer"><small>
2830
2852
  Generated by &#160;<a href="http://www.doxygen.org/index.html">