svf-tools 1.0.816 → 1.0.818

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.
Files changed (209) hide show
  1. package/SVF-doxygen/html/AccessPath_8cpp_source.html +113 -97
  2. package/SVF-doxygen/html/AccessPath_8h_source.html +5 -5
  3. package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/Andersen_8cpp_source.html +3 -3
  5. package/SVF-doxygen/html/Andersen_8h_source.html +1 -1
  6. package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +6 -6
  7. package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
  8. package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +31 -29
  9. package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +2 -2
  10. package/SVF-doxygen/html/CFLAlias_8cpp_source.html +5 -5
  11. package/SVF-doxygen/html/CFLAlias_8h_source.html +1 -1
  12. package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +3 -3
  13. package/SVF-doxygen/html/CHG_8cpp.html +2 -2
  14. package/SVF-doxygen/html/CHG_8cpp_source.html +7 -7
  15. package/SVF-doxygen/html/CHG_8h_source.html +2 -2
  16. package/SVF-doxygen/html/CallGraphBuilder_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
  18. package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
  19. package/SVF-doxygen/html/DCHG_8cpp_source.html +6 -6
  20. package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
  21. package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
  23. package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +6 -6
  25. package/SVF-doxygen/html/ICFGBuilder_8h_source.html +4 -4
  26. package/SVF-doxygen/html/ICFGEdge_8h_source.html +5 -5
  27. package/SVF-doxygen/html/ICFGNode_8h_source.html +12 -12
  28. package/SVF-doxygen/html/ICFG_8cpp_source.html +542 -546
  29. package/SVF-doxygen/html/ICFG_8h_source.html +19 -19
  30. package/SVF-doxygen/html/IRGraph_8cpp_source.html +1 -1
  31. package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/LLVMModule_8cpp_source.html +1088 -1081
  33. package/SVF-doxygen/html/LLVMModule_8h_source.html +29 -29
  34. package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +3 -3
  35. package/SVF-doxygen/html/LLVMUtil_8h_source.html +3 -3
  36. package/SVF-doxygen/html/LeakChecker_8cpp_source.html +3 -3
  37. package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +14 -14
  38. package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
  39. package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +3 -3
  40. package/SVF-doxygen/html/LockResultValidator_8h_source.html +1 -1
  41. package/SVF-doxygen/html/MHP_8cpp_source.html +10 -10
  42. package/SVF-doxygen/html/MHP_8h_source.html +4 -4
  43. package/SVF-doxygen/html/MSSAMuChi_8h_source.html +2 -2
  44. package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
  46. package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +1 -1
  47. package/SVF-doxygen/html/MTAStat_8cpp_source.html +5 -5
  48. package/SVF-doxygen/html/MTA_8cpp_source.html +2 -2
  49. package/SVF-doxygen/html/MemRegion_8cpp_source.html +10 -10
  50. package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
  51. package/SVF-doxygen/html/MemSSA_8cpp_source.html +18 -18
  52. package/SVF-doxygen/html/MemSSA_8h_source.html +1 -1
  53. package/SVF-doxygen/html/PCG_8cpp_source.html +9 -9
  54. package/SVF-doxygen/html/PCG_8h_source.html +2 -2
  55. package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +10 -10
  57. package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
  58. package/SVF-doxygen/html/ProgSlice_8h_source.html +1 -1
  59. package/SVF-doxygen/html/SVFBugReport_8h_source.html +2 -2
  60. package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +17 -17
  61. package/SVF-doxygen/html/SVFFileSystem_8h_source.html +15 -15
  62. package/SVF-doxygen/html/SVFGOPT_8h_source.html +2 -2
  63. package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
  64. package/SVF-doxygen/html/SVFG_8cpp_source.html +5 -5
  65. package/SVF-doxygen/html/SVFG_8h_source.html +4 -4
  66. package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +3 -3
  67. package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +694 -697
  68. package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +15 -15
  69. package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +5 -5
  70. package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +4 -4
  71. package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +6 -6
  72. package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
  73. package/SVF-doxygen/html/SVFIR_8h_source.html +2 -2
  74. package/SVF-doxygen/html/SVFModule_8cpp_source.html +1 -1
  75. package/SVF-doxygen/html/SVFModule_8h_source.html +3 -3
  76. package/SVF-doxygen/html/SVFStat_8cpp_source.html +4 -4
  77. package/SVF-doxygen/html/SVFStatements_8h_source.html +2 -2
  78. package/SVF-doxygen/html/SVFUtil_8cpp_source.html +3 -3
  79. package/SVF-doxygen/html/SVFUtil_8h_source.html +6 -6
  80. package/SVF-doxygen/html/SVFValue_8cpp_source.html +106 -93
  81. package/SVF-doxygen/html/SVFValue_8h_source.html +820 -825
  82. package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
  83. package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +14 -14
  84. package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +5 -5
  85. package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
  86. package/SVF-doxygen/html/Steensgaard_8cpp_source.html +3 -3
  87. package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
  88. package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +3 -3
  89. package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
  90. package/SVF-doxygen/html/TCT_8cpp_source.html +14 -14
  91. package/SVF-doxygen/html/TCT_8h_source.html +7 -7
  92. package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +7 -7
  93. package/SVF-doxygen/html/ThreadAPI_8h_source.html +4 -4
  94. package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +4 -4
  95. package/SVF-doxygen/html/VFGNode_8h_source.html +1 -1
  96. package/SVF-doxygen/html/VFG_8cpp_source.html +2 -2
  97. package/SVF-doxygen/html/VFG_8h_source.html +4 -4
  98. package/SVF-doxygen/html/WPAPass_8cpp_source.html +3 -3
  99. package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
  100. package/SVF-doxygen/html/classSVF_1_1AccessPath.html +105 -89
  101. package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
  102. package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
  103. package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  104. package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +6 -6
  105. package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +26 -24
  106. package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +7 -7
  107. package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +3 -3
  108. package/SVF-doxygen/html/classSVF_1_1CHGraph.html +5 -5
  109. package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +8 -8
  110. package/SVF-doxygen/html/classSVF_1_1CallCHI.html +1 -1
  111. package/SVF-doxygen/html/classSVF_1_1CallGraphBuilder.html +3 -3
  112. package/SVF-doxygen/html/classSVF_1_1CallICFGNode.html +12 -12
  113. package/SVF-doxygen/html/classSVF_1_1CallMU.html +1 -1
  114. package/SVF-doxygen/html/classSVF_1_1CallSite.html +95 -95
  115. package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +1 -1
  116. package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +5 -5
  117. package/SVF-doxygen/html/classSVF_1_1ExtAPI.html +1 -1
  118. package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +11 -11
  119. package/SVF-doxygen/html/classSVF_1_1FunEntryICFGNode.html +15 -15
  120. package/SVF-doxygen/html/classSVF_1_1FunExitICFGNode.html +23 -27
  121. package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +2 -2
  122. package/SVF-doxygen/html/classSVF_1_1GlobalICFGNode.html +9 -9
  123. package/SVF-doxygen/html/classSVF_1_1ICFG.html +271 -271
  124. package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +15 -15
  125. package/SVF-doxygen/html/classSVF_1_1ICFGEdge.html +7 -7
  126. package/SVF-doxygen/html/classSVF_1_1ICFGNode.html +12 -12
  127. package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +11 -11
  128. package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +14 -14
  129. package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
  130. package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +1003 -996
  131. package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +3 -3
  132. package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +13 -13
  133. package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +3 -3
  134. package/SVF-doxygen/html/classSVF_1_1MHP.html +10 -10
  135. package/SVF-doxygen/html/classSVF_1_1MHPValidator.html +1 -1
  136. package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +10 -10
  137. package/SVF-doxygen/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  138. package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
  139. package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
  140. package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
  141. package/SVF-doxygen/html/classSVF_1_1MTAStat.html +5 -5
  142. package/SVF-doxygen/html/classSVF_1_1MemSSA.html +17 -17
  143. package/SVF-doxygen/html/classSVF_1_1PCG.html +10 -10
  144. package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +9 -9
  145. package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
  146. package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
  147. package/SVF-doxygen/html/classSVF_1_1RaceValidator.html +1 -1
  148. package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +8 -8
  149. package/SVF-doxygen/html/classSVF_1_1RetICFGNode.html +12 -12
  150. package/SVF-doxygen/html/classSVF_1_1SVFArgument.html +30 -30
  151. package/SVF-doxygen/html/classSVF_1_1SVFBasicBlock.html +137 -137
  152. package/SVF-doxygen/html/classSVF_1_1SVFBlackHoleValue.html +15 -15
  153. package/SVF-doxygen/html/classSVF_1_1SVFBugEvent.html +1 -1
  154. package/SVF-doxygen/html/classSVF_1_1SVFCallInst.html +67 -67
  155. package/SVF-doxygen/html/classSVF_1_1SVFConstant.html +17 -17
  156. package/SVF-doxygen/html/classSVF_1_1SVFConstantData.html +23 -23
  157. package/SVF-doxygen/html/classSVF_1_1SVFConstantFP.html +21 -21
  158. package/SVF-doxygen/html/classSVF_1_1SVFConstantInt.html +27 -27
  159. package/SVF-doxygen/html/classSVF_1_1SVFConstantNullPtr.html +15 -15
  160. package/SVF-doxygen/html/classSVF_1_1SVFFunction-members.html +1 -1
  161. package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +99 -104
  162. package/SVF-doxygen/html/classSVF_1_1SVFG.html +6 -6
  163. package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
  164. package/SVF-doxygen/html/classSVF_1_1SVFGlobalValue.html +33 -33
  165. package/SVF-doxygen/html/classSVF_1_1SVFIR.html +3 -3
  166. package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +3 -3
  167. package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +665 -668
  168. package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +18 -18
  169. package/SVF-doxygen/html/classSVF_1_1SVFInstruction.html +57 -57
  170. package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +3 -3
  171. package/SVF-doxygen/html/classSVF_1_1SVFMetadataAsValue.html +15 -15
  172. package/SVF-doxygen/html/classSVF_1_1SVFModule.html +1 -1
  173. package/SVF-doxygen/html/classSVF_1_1SVFOtherValue.html +11 -11
  174. package/SVF-doxygen/html/classSVF_1_1SVFStat.html +4 -4
  175. package/SVF-doxygen/html/classSVF_1_1SVFValue.html +1 -1
  176. package/SVF-doxygen/html/classSVF_1_1SVFVirtualCallInst.html +53 -53
  177. package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
  178. package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
  179. package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +5 -5
  180. package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +3 -3
  181. package/SVF-doxygen/html/classSVF_1_1TCT.html +14 -14
  182. package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +7 -7
  183. package/SVF-doxygen/html/classSVF_1_1ThreadCallGraphBuilder.html +3 -3
  184. package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +4 -4
  185. package/SVF-doxygen/html/classSVF_1_1VFG.html +4 -4
  186. package/SVF-doxygen/html/classSVF_1_1WPAPass.html +2 -2
  187. package/SVF-doxygen/html/functions_func_g.html +1 -1
  188. package/SVF-doxygen/html/functions_g.html +1 -1
  189. package/SVF-doxygen/html/namespaceSVF.html +5 -5
  190. package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +2 -2
  191. package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +2 -2
  192. package/SVF-doxygen/html/search/all_7.js +1 -1
  193. package/SVF-doxygen/html/search/functions_7.js +1 -1
  194. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +72 -72
  195. package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  196. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +7 -7
  197. package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
  198. package/SVF-doxygen/html/svf-ex_8cpp.html +12 -12
  199. package/SVF-doxygen/html/svf-ex_8cpp_source.html +12 -12
  200. package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
  201. package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +2 -2
  202. package/package.json +1 -1
  203. package/svf/include/SVFIR/SVFValue.h +1 -6
  204. package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +4 -7
  205. package/svf/lib/Graphs/ICFG.cpp +1 -5
  206. package/svf/lib/MemoryModel/AccessPath.cpp +13 -0
  207. package/svf/lib/SVFIR/SVFValue.cpp +8 -0
  208. package/svf/lib/Util/CFBasicBlockGBuilder.cpp +2 -0
  209. package/svf-llvm/lib/LLVMModule.cpp +4 -0
@@ -239,96 +239,109 @@ $(function() {
239
239
  <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-&gt;<a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
240
240
  <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= 0)</div>
241
241
  <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div>
242
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
243
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</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>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>,</div>
244
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
245
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; totalConstOffset += flattenOffset;</div>
246
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
247
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; }</div>
248
- <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; }</div>
249
- <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
250
- <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;}</div>
251
- <div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf"> 244</a></span>&#160;<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">AccessPath::computeAllLocations</a>()<span class="keyword"> const</span></div>
252
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160;<span class="keyword"></span>{</div>
253
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
254
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(getConstantStructFldIdx());</div>
255
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">return</span> result;</div>
256
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160;}</div>
257
- <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; </div>
258
- <div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2"> 251</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> <a class="code" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">AccessPath::operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
259
- <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160;<span class="keyword"></span>{</div>
260
- <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; assert(gepPointeeType == rhs.<a class="code" href="classSVF_1_1AccessPath.html#a8e0c5f7549c3b6a7808caacd57bf2035">getGepPointeeType</a>() &amp;&amp; <span class="stringliteral">&quot;source element type not match&quot;</span>);</div>
261
- <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
262
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> += getConstantStructFldIdx();</div>
263
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>())</div>
264
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">addOffsetVarAndGepTypePair</a>(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
265
- <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
266
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="keywordflow">return</span> ap;</div>
267
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160;}</div>
268
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; </div>
269
- <div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421"> 262</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">AccessPath::operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
270
- <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;<span class="keyword"></span>{</div>
271
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="keywordflow">if</span> (fldIdx != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
272
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">return</span> (fldIdx &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
273
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">else</span></div>
274
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; {</div>
275
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; pairVec = getIdxOperandPairVec();</div>
276
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
277
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
278
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
279
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">else</span></div>
280
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; {</div>
281
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; IdxOperandPairs::const_iterator it = pairVec.begin();</div>
282
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();</div>
283
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
284
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div>
285
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
286
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div>
287
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; </div>
288
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
289
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; }</div>
290
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; }</div>
291
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;}</div>
292
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; </div>
293
- <div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb"> 286</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a> <a class="code" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">AccessPath::checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; RHS)</div>
294
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160;{</div>
295
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
296
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
297
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
298
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; {</div>
299
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
300
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">return</span> Same;</div>
301
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div>
302
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> Superset;</div>
303
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div>
304
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">return</span> Subset;</div>
305
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">else</span></div>
306
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> Overlap;</div>
307
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
308
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">else</span></div>
309
- <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div>
310
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">return</span> NonOverlap;</div>
311
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; }</div>
312
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160;}</div>
313
- <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; </div>
314
- <div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0"> 308</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">AccessPath::dump</a>()<span class="keyword"> const</span></div>
315
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160;<span class="keyword"></span>{</div>
316
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
317
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; std::stringstream rawstr(str);</div>
318
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; </div>
319
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; getConstantStructFldIdx();</div>
320
- <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
321
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; vec = getIdxOperandPairVec();</div>
322
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; IdxOperandPairs::const_iterator it = vec.begin();</div>
323
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; IdxOperandPairs::const_iterator eit = vec.end();</div>
324
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
325
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {</div>
326
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
327
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (Svf var: &quot;</span> &lt;&lt; it-&gt;first-&gt;<a class="code" href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">toString</a>() &lt;&lt; <span class="stringliteral">&quot;, Iter type: &quot;</span> &lt;&lt; *ty &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
328
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; }</div>
329
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
330
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
331
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160;}</div>
242
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</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>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)-&gt;<a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
243
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <span class="comment">// if offset is larger than the size of getFlattenedElemIdxVec (overflow)</span></div>
244
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="comment">// set offset the last index of getFlattenedElemIdxVec to avoid assertion</span></div>
245
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> &gt;= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
246
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; {</div>
247
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;It is overflow access, we access the last idx\n&quot;</span>;</div>
248
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = so.size() - 1;</div>
249
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; }</div>
250
+ <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">else</span></div>
251
+ <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; {</div>
252
+ <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; </div>
253
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; }</div>
254
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; </div>
255
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
256
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</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>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>,</div>
257
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
258
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; totalConstOffset += flattenOffset;</div>
259
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
260
+ <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
261
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
262
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">return</span> totalConstOffset;</div>
263
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div>
264
+ <div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf"> 257</a></span>&#160;<a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> <a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">AccessPath::computeAllLocations</a>()<span class="keyword"> const</span></div>
265
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160;<span class="keyword"></span>{</div>
266
+ <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
267
+ <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(getConstantStructFldIdx());</div>
268
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="keywordflow">return</span> result;</div>
269
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160;}</div>
270
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
271
+ <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2"> 264</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> <a class="code" href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">AccessPath::operator+</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
272
+ <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160;<span class="keyword"></span>{</div>
273
+ <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; assert(gepPointeeType == rhs.<a class="code" href="classSVF_1_1AccessPath.html#a8e0c5f7549c3b6a7808caacd57bf2035">getGepPointeeType</a>() &amp;&amp; <span class="stringliteral">&quot;source element type not match&quot;</span>);</div>
274
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
275
+ <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> += getConstantStructFldIdx();</div>
276
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> &amp;<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>())</div>
277
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; ap.<a class="code" href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">addOffsetVarAndGepTypePair</a>(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
278
+ <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; </div>
279
+ <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">return</span> ap;</div>
280
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160;}</div>
281
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; </div>
282
+ <div class="line"><a name="l00275"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421"> 275</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">AccessPath::operator&lt; </a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; rhs)<span class="keyword"> const</span></div>
283
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160;<span class="keyword"></span>{</div>
284
+ <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">if</span> (fldIdx != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
285
+ <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">return</span> (fldIdx &lt; rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
286
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">else</span></div>
287
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div>
288
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; pairVec = getIdxOperandPairVec();</div>
289
+ <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
290
+ <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
291
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div>
292
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">else</span></div>
293
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div>
294
+ <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; IdxOperandPairs::const_iterator it = pairVec.begin();</div>
295
+ <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();</div>
296
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
297
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
298
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div>
299
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; }</div>
300
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; </div>
301
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
302
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; }</div>
303
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
304
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160;}</div>
305
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; </div>
306
+ <div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb"> 299</a></span>&#160;<a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a> <a class="code" href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">AccessPath::checkRelation</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; LHS, <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a>&amp; RHS)</div>
307
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160;{</div>
308
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
309
+ <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
310
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
311
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
312
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
313
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <span class="keywordflow">return</span> Same;</div>
314
+ <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div>
315
+ <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">return</span> Superset;</div>
316
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div>
317
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keywordflow">return</span> Subset;</div>
318
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">else</span></div>
319
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">return</span> Overlap;</div>
320
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; }</div>
321
+ <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">else</span></div>
322
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div>
323
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">return</span> NonOverlap;</div>
324
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
325
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;}</div>
326
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; </div>
327
+ <div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0"> 321</a></span>&#160;<a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">AccessPath::dump</a>()<span class="keyword"> const</span></div>
328
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160;<span class="keyword"></span>{</div>
329
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
330
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; std::stringstream rawstr(str);</div>
331
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; </div>
332
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;AccessPath\tField_Index: &quot;</span> &lt;&lt; getConstantStructFldIdx();</div>
333
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div>
334
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>&amp; vec = getIdxOperandPairVec();</div>
335
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; IdxOperandPairs::const_iterator it = vec.begin();</div>
336
+ <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; IdxOperandPairs::const_iterator eit = vec.end();</div>
337
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div>
338
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; {</div>
339
+ <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it-&gt;second;</div>
340
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (Svf var: &quot;</span> &lt;&lt; it-&gt;first-&gt;<a class="code" href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">toString</a>() &lt;&lt; <span class="stringliteral">&quot;, Iter type: &quot;</span> &lt;&lt; *ty &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
341
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
342
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div>
343
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div>
344
+ <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160;}</div>
332
345
  </div><!-- fragment --></div><!-- contents -->
333
346
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a1f279344b4061838d7b3498631bc907c"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a1f279344b4061838d7b3498631bc907c">SVF::AccessPath::getStructFieldOffset</a></div><div class="ttdeci">u32_t getStructFieldOffset(const SVFVar *idxOperandVar, const SVFStructType *idxOperandType) const</div><div class="ttdoc">Return byte offset from the beginning of the structure to the field where it is located for struct ty...</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00162">AccessPath.cpp:162</a></div></div>
334
347
  <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>
@@ -340,25 +353,26 @@ $(function() {
340
353
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
341
354
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
342
355
  <div class="ttc" id="aAccessPath_8h_html"><div class="ttname"><a href="AccessPath_8h.html">AccessPath.h</a></div></div>
343
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae0f38a5f473af89678db2755667c3421"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">SVF::AccessPath::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AccessPath &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00262">AccessPath.cpp:262</a></div></div>
356
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae0f38a5f473af89678db2755667c3421"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">SVF::AccessPath::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AccessPath &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00275">AccessPath.cpp:275</a></div></div>
344
357
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a2358a8194b5e2c4bcbb5218dee7fcbcd"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">SVF::AccessPath::addOffsetVarAndGepTypePair</a></div><div class="ttdeci">bool addOffsetVarAndGepTypePair(const SVFVar *var, const SVFType *gepIterType)</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00042">AccessPath.cpp:42</a></div></div>
345
358
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
346
359
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
347
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00244">AccessPath.cpp:244</a></div></div>
360
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00257">AccessPath.cpp:257</a></div></div>
348
361
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
349
362
  <div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
350
363
  <div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
351
364
  <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>
352
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a98b8b3428479259fbafd9e527ecc09bb"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">SVF::AccessPath::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const AccessPath &amp;LHS, const AccessPath &amp;RHS)</div><div class="ttdoc">Check relations of two location sets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00286">AccessPath.cpp:286</a></div></div>
365
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a98b8b3428479259fbafd9e527ecc09bb"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">SVF::AccessPath::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const AccessPath &amp;LHS, const AccessPath &amp;RHS)</div><div class="ttdoc">Check relations of two location sets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00299">AccessPath.cpp:299</a></div></div>
353
366
  <div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
354
367
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
355
368
  <div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00469">SVFType.h:469</a></div></div>
369
+ <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5dc699aa85fe879eb4b2c9109cf3030d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">SVF::SymbolTableInfo::getTypeInfo</a></div><div class="ttdeci">const StInfo * getTypeInfo(const SVFType *T) const</div><div class="ttdoc">Get struct info.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00056">SymbolTableInfo.cpp:56</a></div></div>
356
370
  <div class="ttc" id="aclassSVF_1_1AccessPath_html"><div class="ttname"><a href="classSVF_1_1AccessPath.html">SVF::AccessPath</a></div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00052">AccessPath.h:52</a></div></div>
357
371
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
358
372
  <div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00242">SVFType.h:242</a></div></div>
359
373
  <div class="ttc" id="aclassSVF_1_1SVFStructType_html"><div class="ttname"><a href="classSVF_1_1SVFStructType.html">SVF::SVFStructType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00436">SVFType.h:436</a></div></div>
360
374
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae746362c42da05a641ae062658e40651"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">SVF::AccessPath::computeConstantOffset</a></div><div class="ttdeci">APOffset computeConstantOffset() const</div><div class="ttdoc">For example,.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00207">AccessPath.cpp:207</a></div></div>
361
- <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#l00966">SVFValue.h:966</a></div></div>
375
+ <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#l00961">SVFValue.h:961</a></div></div>
362
376
  <div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
363
377
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a9035ac13134de4647d63507cd80ca3d6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">SVF::SVFType::toString</a></div><div class="ttdeci">std::string toString() const</div></div>
364
378
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a04ca154a70f40999a6a28c505bfd942d"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">SVF::AccessPath::IdxOperandPairs</a></div><div class="ttdeci">std::vector&lt; IdxOperandPair &gt; IdxOperandPairs</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00065">AccessPath.h:65</a></div></div>
@@ -367,18 +381,20 @@ $(function() {
367
381
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a586c71842e3e4487921aa3384ce9d025"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">SVF::AccessPath::getIdxOperandPairVec</a></div><div class="ttdeci">const IdxOperandPairs &amp; getIdxOperandPairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00108">AccessPath.h:108</a></div></div>
368
382
  <div class="ttc" id="aclassSVF_1_1StInfo_html_aaf05447c20c9f90eea64ab6e88d6ab05"><div class="ttname"><a href="classSVF_1_1StInfo.html#aaf05447c20c9f90eea64ab6e88d6ab05">SVF::StInfo::getFlattenedFieldIdxVec</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; &amp; getFlattenedFieldIdxVec()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00180">SVFType.h:180</a></div></div>
369
383
  <div class="ttc" id="aclassSVF_1_1SVFType_html_a05850c17c2dbe42e5602dc8c9a70f3bd"><div class="ttname"><a href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">SVF::SVFType::getTypeInfo</a></div><div class="ttdeci">StInfo * getTypeInfo()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00309">SVFType.h:309</a></div></div>
370
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a6591b6092a829b0c874754b649087aa2"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">SVF::AccessPath::operator+</a></div><div class="ttdeci">AccessPath operator+(const AccessPath &amp;rhs) const</div><div class="ttdoc">Overload operators.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00251">AccessPath.cpp:251</a></div></div>
384
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a6591b6092a829b0c874754b649087aa2"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">SVF::AccessPath::operator+</a></div><div class="ttdeci">AccessPath operator+(const AccessPath &amp;rhs) const</div><div class="ttdoc">Overload operators.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00264">AccessPath.cpp:264</a></div></div>
371
385
  <div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
372
386
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
373
387
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a403312192a96a9fd5e7d071481592a7f"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">SVF::AccessPath::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00049">AccessPath.cpp:49</a></div></div>
374
388
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa1747064a0833855a5848ebf4a4d65fa"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">SVF::AccessPath::fldIdx</a></div><div class="ttdeci">APOffset fldIdx</div><div class="ttdoc">Accumulated Constant Offsets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00174">AccessPath.h:174</a></div></div>
375
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4519477605a58d5821d05951a88abcd0"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">SVF::AccessPath::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00308">AccessPath.cpp:308</a></div></div>
389
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4519477605a58d5821d05951a88abcd0"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">SVF::AccessPath::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00321">AccessPath.cpp:321</a></div></div>
376
390
  <div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option&lt; u32_t &gt; MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
377
391
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a></div><div class="ttdeci">LSRelation</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00059">AccessPath.h:59</a></div></div>
378
392
  <div class="ttc" id="aclassSVF_1_1StInfo_html_a055697f565cb9d73b41110090fe50159"><div class="ttname"><a href="classSVF_1_1StInfo.html#a055697f565cb9d73b41110090fe50159">SVF::StInfo::getOriginalElemType</a></div><div class="ttdeci">const SVFType * getOriginalElemType(u32_t fldIdx) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00026">SVFValue.cpp:26</a></div></div>
379
- <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#l00994">SVFValue.h:994</a></div></div>
393
+ <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#l00989">SVFValue.h:989</a></div></div>
380
394
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a43dc770c4458c6ac58c591974b93fc57"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a43dc770c4458c6ac58c591974b93fc57">SVF::AccessPath::computeConstantByteOffset</a></div><div class="ttdeci">APOffset computeConstantByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00097">AccessPath.cpp:97</a></div></div>
381
395
  <div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
396
+ <div class="ttc" id="aclassSVF_1_1StInfo_html_a55e5fd85f232c1867c5c6a73646d53eb"><div class="ttname"><a href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">SVF::StInfo::getFlattenedElemIdxVec</a></div><div class="ttdeci">std::vector&lt; u32_t &gt; &amp; getFlattenedElemIdxVec()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00184">SVFType.h:184</a></div></div>
397
+ <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>
382
398
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a811a3489df0f793c7a5482d31d470a4c"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a811a3489df0f793c7a5482d31d470a4c">SVF::SymbolTableInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements(const SVFType *T)</div><div class="ttdoc">Number of flattened elements of an array or struct.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00172">SymbolTableInfo.cpp:172</a></div></div>
383
399
  <!-- start footer part -->
384
400
  <hr class="footer"/><address class="footer"><small>
@@ -232,16 +232,16 @@ $(function() {
232
232
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a461fe4cddd5d8c8b7017588038c093de"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a461fe4cddd5d8c8b7017588038c093de">SVF::AccessPath::intersects</a></div><div class="ttdeci">bool intersects(const AccessPath &amp;RHS) const</div><div class="ttdoc">Return TRUE if we share any location in common with RHS.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00155">AccessPath.h:155</a></div></div>
233
233
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">SVF::AccessPath::Overlap</a></div><div class="ttdeci">@ Overlap</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
234
234
  <div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
235
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae0f38a5f473af89678db2755667c3421"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">SVF::AccessPath::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AccessPath &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00262">AccessPath.cpp:262</a></div></div>
235
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_ae0f38a5f473af89678db2755667c3421"><div class="ttname"><a href="classSVF_1_1AccessPath.html#ae0f38a5f473af89678db2755667c3421">SVF::AccessPath::operator&lt;</a></div><div class="ttdeci">bool operator&lt;(const AccessPath &amp;rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00275">AccessPath.cpp:275</a></div></div>
236
236
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a2358a8194b5e2c4bcbb5218dee7fcbcd"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a2358a8194b5e2c4bcbb5218dee7fcbcd">SVF::AccessPath::addOffsetVarAndGepTypePair</a></div><div class="ttdeci">bool addOffsetVarAndGepTypePair(const SVFVar *var, const SVFType *gepIterType)</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00042">AccessPath.cpp:42</a></div></div>
237
237
  <div class="ttc" id="astructSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00067">SVFType.h:67</a></div></div>
238
238
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
239
239
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_afea2322fdbad3a6382b60fc3f77e8e94"><div class="ttname"><a href="classSVF_1_1AccessPath.html#afea2322fdbad3a6382b60fc3f77e8e94">SVF::AccessPath::AccessPath</a></div><div class="ttdeci">AccessPath(const AccessPath &amp;ap)</div><div class="ttdoc">Copy Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00071">AccessPath.h:71</a></div></div>
240
240
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a5427d08c9eb9d86e66c2bff6aeba6bac"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath::getConstantStructFldIdx</a></div><div class="ttdeci">APOffset getConstantStructFldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00100">AccessPath.h:100</a></div></div>
241
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00244">AccessPath.cpp:244</a></div></div>
241
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00257">AccessPath.cpp:257</a></div></div>
242
242
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
243
243
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">SVF::AccessPath::Same</a></div><div class="ttdeci">@ Same</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
244
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a98b8b3428479259fbafd9e527ecc09bb"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">SVF::AccessPath::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const AccessPath &amp;LHS, const AccessPath &amp;RHS)</div><div class="ttdoc">Check relations of two location sets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00286">AccessPath.cpp:286</a></div></div>
244
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a98b8b3428479259fbafd9e527ecc09bb"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a98b8b3428479259fbafd9e527ecc09bb">SVF::AccessPath::checkRelation</a></div><div class="ttdeci">LSRelation checkRelation(const AccessPath &amp;LHS, const AccessPath &amp;RHS)</div><div class="ttdoc">Check relations of two location sets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00299">AccessPath.cpp:299</a></div></div>
245
245
  <div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
246
246
  <div class="ttc" id="aclassSVF_1_1AccessPath_html"><div class="ttname"><a href="classSVF_1_1AccessPath.html">SVF::AccessPath</a></div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00052">AccessPath.h:52</a></div></div>
247
247
  <div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
@@ -259,13 +259,13 @@ $(function() {
259
259
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a8e0c5f7549c3b6a7808caacd57bf2035"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a8e0c5f7549c3b6a7808caacd57bf2035">SVF::AccessPath::getGepPointeeType</a></div><div class="ttdeci">const SVFType * getGepPointeeType() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00112">AccessPath.h:112</a></div></div>
260
260
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a47855e8ab3bba692f443903b58618229"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">SVF::AccessPath::idxOperandPairs</a></div><div class="ttdeci">IdxOperandPairs idxOperandPairs</div><div class="ttdoc">a vector of actual offset in the form of &lt;SVF Var, iterator type&gt;</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00175">AccessPath.h:175</a></div></div>
261
261
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a586c71842e3e4487921aa3384ce9d025"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">SVF::AccessPath::getIdxOperandPairVec</a></div><div class="ttdeci">const IdxOperandPairs &amp; getIdxOperandPairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00108">AccessPath.h:108</a></div></div>
262
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a6591b6092a829b0c874754b649087aa2"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">SVF::AccessPath::operator+</a></div><div class="ttdeci">AccessPath operator+(const AccessPath &amp;rhs) const</div><div class="ttdoc">Overload operators.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00251">AccessPath.cpp:251</a></div></div>
262
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a6591b6092a829b0c874754b649087aa2"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a6591b6092a829b0c874754b649087aa2">SVF::AccessPath::operator+</a></div><div class="ttdeci">AccessPath operator+(const AccessPath &amp;rhs) const</div><div class="ttdoc">Overload operators.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00264">AccessPath.cpp:264</a></div></div>
263
263
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">SVF::AccessPath::Superset</a></div><div class="ttdeci">@ Superset</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
264
264
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_a403312192a96a9fd5e7d071481592a7f"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">SVF::AccessPath::isConstantOffset</a></div><div class="ttdeci">bool isConstantOffset() const</div><div class="ttdoc">Return TRUE if this is a constant location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00049">AccessPath.cpp:49</a></div></div>
265
265
  <div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00047">SymbolTableInfo.h:47</a></div></div>
266
266
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_abfc3dfecd5be261ee39f2443d72c1d07"><div class="ttname"><a href="classSVF_1_1AccessPath.html#abfc3dfecd5be261ee39f2443d72c1d07">SVF::AccessPath::operator=</a></div><div class="ttdeci">const AccessPath &amp; operator=(const AccessPath &amp;rhs)</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00084">AccessPath.h:84</a></div></div>
267
267
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aa1747064a0833855a5848ebf4a4d65fa"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">SVF::AccessPath::fldIdx</a></div><div class="ttdeci">APOffset fldIdx</div><div class="ttdoc">Accumulated Constant Offsets.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00174">AccessPath.h:174</a></div></div>
268
- <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4519477605a58d5821d05951a88abcd0"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">SVF::AccessPath::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00308">AccessPath.cpp:308</a></div></div>
268
+ <div class="ttc" id="aclassSVF_1_1AccessPath_html_a4519477605a58d5821d05951a88abcd0"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a4519477605a58d5821d05951a88abcd0">SVF::AccessPath::dump</a></div><div class="ttdeci">std::string dump() const</div><div class="ttdoc">Dump location set.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00321">AccessPath.cpp:321</a></div></div>
269
269
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_abf31f0f9dfc65634e3054bdbec69de81"><div class="ttname"><a href="classSVF_1_1AccessPath.html#abf31f0f9dfc65634e3054bdbec69de81">SVF::AccessPath::AccessPath</a></div><div class="ttdeci">AccessPath(APOffset o=0, const SVFType *srcTy=nullptr)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00068">AccessPath.h:68</a></div></div>
270
270
  <div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245">SVF::AccessPath::LSRelation</a></div><div class="ttdeci">LSRelation</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00059">AccessPath.h:59</a></div></div>
271
271
  <div class="ttc" id="astructstd_1_1hash_3_01SVF_1_1AccessPath_01_4_html_a16b0806f551270a0078f71796a37f07f"><div class="ttname"><a href="structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html#a16b0806f551270a0078f71796a37f07f">std::hash&lt; SVF::AccessPath &gt;::operator()</a></div><div class="ttdeci">size_t operator()(const SVF::AccessPath &amp;ap) const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00185">AccessPath.h:185</a></div></div>
@@ -369,7 +369,7 @@ $(function() {
369
369
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html">SVF::ConstraintNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00040">ConsGNode.h:40</a></div></div>
370
370
  <div class="ttc" id="aclassSVF_1_1Andersen_html_a8ba593bd16d4436310f2f25e75687c57"><div class="ttname"><a href="classSVF_1_1Andersen.html#a8ba593bd16d4436310f2f25e75687c57">SVF::Andersen::addCopyEdge</a></div><div class="ttdeci">virtual bool addCopyEdge(NodeID src, NodeID dst)</div><div class="ttdoc">Add copy edge on constraint graph.</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00304">Andersen.h:304</a></div></div>
371
371
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ab1868f04de44f6fe1e9ac14f3d4ee56b"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">SVF::ConstraintNode::const_iterator</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00045">ConsGNode.h:45</a></div></div>
372
- <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
372
+ <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01108">SVFValue.h:1108</a></div></div>
373
373
  <div class="ttc" id="aclassSVF_1_1AddrCGEdge_html"><div class="ttname"><a href="classSVF_1_1AddrCGEdge.html">SVF::AddrCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00093">ConsGEdge.h:93</a></div></div>
374
374
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ab77173aa8af6155b569f20ff0cdcec72"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab77173aa8af6155b569f20ff0cdcec72">SVF::ConstraintNode::getCopyOutEdges</a></div><div class="ttdeci">const ConstraintEdge::ConstraintEdgeSetTy &amp; getCopyOutEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00115">ConsGNode.h:115</a></div></div>
375
375
  <div class="ttc" id="aclassSVF_1_1GepCGEdge_html"><div class="ttname"><a href="classSVF_1_1GepCGEdge.html">SVF::GepCGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00225">ConsGEdge.h:225</a></div></div>
@@ -917,7 +917,7 @@ $(function() {
917
917
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html_a8d58f5224728bb6811f12c94826167f6"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#a8d58f5224728bb6811f12c94826167f6">SVF::ConstraintNode::incomingStoresEnd</a></div><div class="ttdeci">const_iterator incomingStoresEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00219">ConsGNode.h:219</a></div></div>
918
918
  <div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
919
919
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_a849f670b38cb6f65fc23707a212591c7"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a849f670b38cb6f65fc23707a212591c7">SVF::PointsTo::MappingPtr</a></div><div class="ttdeci">std::shared_ptr&lt; std::vector&lt; NodeID &gt; &gt; MappingPtr</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00042">PointsTo.h:42</a></div></div>
920
- <div class="ttc" id="aclassSVF_1_1CallSite_html_a93e70225ce9c55ca65ea9d5cf737206f"><div class="ttname"><a href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f">SVF::CallSite::getType</a></div><div class="ttdeci">const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01136">SVFValue.h:1136</a></div></div>
920
+ <div class="ttc" id="aclassSVF_1_1CallSite_html_a93e70225ce9c55ca65ea9d5cf737206f"><div class="ttname"><a href="classSVF_1_1CallSite.html#a93e70225ce9c55ca65ea9d5cf737206f">SVF::CallSite::getType</a></div><div class="ttdeci">const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01131">SVFValue.h:1131</a></div></div>
921
921
  <div class="ttc" id="aclassSVF_1_1Andersen_html_a36729160041bc3a3e2b0a92b29062848"><div class="ttname"><a href="classSVF_1_1Andersen.html#a36729160041bc3a3e2b0a92b29062848">SVF::Andersen::mergeNodeToRep</a></div><div class="ttdeci">virtual void mergeNodeToRep(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Merge sub node to its rep.</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00837">Andersen.cpp:837</a></div></div>
922
922
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_adaf738bee77a4b1fbb8d42911fabdb49"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#adaf738bee77a4b1fbb8d42911fabdb49">SVF::AndersenBase::AveragePointsToSetSize</a></div><div class="ttdeci">static u32_t AveragePointsToSetSize</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00141">Andersen.h:141</a></div></div>
923
923
  <div class="ttc" id="aclassSVF_1_1SVFVar_html_a3b61042079a6c9dc395f38925c6a1271"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a3b61042079a6c9dc395f38925c6a1271">SVF::SVFVar::isPointer</a></div><div class="ttdeci">virtual bool isPointer() const</div><div class="ttdoc">Whether it is a pointer.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00117">SVFVariables.h:117</a></div></div>
@@ -973,7 +973,7 @@ $(function() {
973
973
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_a2afb49f513c9534fd051117b59dc056b"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">SVF::AndersenBase::timeOfUpdateCallGraph</a></div><div class="ttdeci">static double timeOfUpdateCallGraph</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00145">Andersen.h:145</a></div></div>
974
974
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_aae14de6fbca9280d8d0290326aa493f0"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">SVF::AndersenBase::timeOfProcessCopyGep</a></div><div class="ttdeci">static double timeOfProcessCopyGep</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00143">Andersen.h:143</a></div></div>
975
975
  <div class="ttc" id="aclassSVF_1_1ConstraintNode_html_ab1868f04de44f6fe1e9ac14f3d4ee56b"><div class="ttname"><a href="classSVF_1_1ConstraintNode.html#ab1868f04de44f6fe1e9ac14f3d4ee56b">SVF::ConstraintNode::const_iterator</a></div><div class="ttdeci">ConstraintEdge::ConstraintEdgeSetTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="ConsGNode_8h_source.html#l00045">ConsGNode.h:45</a></div></div>
976
- <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
976
+ <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01108">SVFValue.h:1108</a></div></div>
977
977
  <div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01284">LLVMUtil.cpp:1284</a></div></div>
978
978
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_ac02d1fedb0beb39e5a4c22ee4bb3501a"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ac02d1fedb0beb39e5a4c22ee4bb3501a">SVF::AndersenBase::solveConstraints</a></div><div class="ttdeci">virtual void solveConstraints()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00100">Andersen.cpp:100</a></div></div>
979
979
  <div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &amp;msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00099">SVFUtil.cpp:99</a></div></div>
@@ -994,7 +994,7 @@ $(function() {
994
994
  <div class="ttc" id="aclassSVF_1_1WPASolver_html_aaa932894d00b69cfa741f9987a9cc6b8"><div class="ttname"><a href="classSVF_1_1WPASolver.html#aaa932894d00b69cfa741f9987a9cc6b8">SVF::WPASolver::SCCDetect</a></div><div class="ttdeci">virtual NodeStack &amp; SCCDetect()</div><div class="ttdoc">SCC detection.</div><div class="ttdef"><b>Definition:</b> <a href="WPASolver_8h_source.html#l00086">WPASolver.h:86</a></div></div>
995
995
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_a6e2ff63437d07a30cc6db35de032728a"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a6e2ff63437d07a30cc6db35de032728a">SVF::PointsTo::end</a></div><div class="ttdeci">const_iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00132">PointsTo.h:132</a></div></div>
996
996
  <div class="ttc" id="aclassSVF_1_1PointsTo_html_a84eca4c7fc833f8ca4d119cd4da08ca8"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a84eca4c7fc833f8ca4d119cd4da08ca8">SVF::PointsTo::setCurrentBestNodeMapping</a></div><div class="ttdeci">static void setCurrentBestNodeMapping(MappingPtr newCurrentBestNodeMapping, MappingPtr newCurrentBestReverseNodeMapping)</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00371">PointsTo.cpp:371</a></div></div>
997
- <div class="ttc" id="aclassSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01128">SVFValue.h:1128</a></div></div>
997
+ <div class="ttc" id="aclassSVF_1_1CallSite_html_ac2a0091dab3543a398da890b947e42ef"><div class="ttname"><a href="classSVF_1_1CallSite.html#ac2a0091dab3543a398da890b947e42ef">SVF::CallSite::getInstruction</a></div><div class="ttdeci">const SVFInstruction * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01123">SVFValue.h:1123</a></div></div>
998
998
  <div class="ttc" id="aclassSVF_1_1Andersen_html_aca095e135edb5d27efe76bb7ee71184c"><div class="ttname"><a href="classSVF_1_1Andersen.html#aca095e135edb5d27efe76bb7ee71184c">SVF::Andersen::processAddr</a></div><div class="ttdeci">virtual void processAddr(const AddrCGEdge *addr)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00334">Andersen.cpp:334</a></div></div>
999
999
  <div class="ttc" id="aclassSVF_1_1Andersen_html_a0f32ba8cb1109c257552fa775a007ffd"><div class="ttname"><a href="classSVF_1_1Andersen.html#a0f32ba8cb1109c257552fa775a007ffd">SVF::Andersen::handleLoadStore</a></div><div class="ttdeci">virtual void handleLoadStore(ConstraintNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00292">Andersen.cpp:292</a></div></div>
1000
1000
  <div class="ttc" id="aclassSVF_1_1Andersen_html_acd54e3edace1f41511c8f0a6a68dac18"><div class="ttname"><a href="classSVF_1_1Andersen.html#acd54e3edace1f41511c8f0a6a68dac18">SVF::Andersen::updateNodeRepAndSubs</a></div><div class="ttdeci">void updateNodeRepAndSubs(NodeID nodeId, NodeID newRepId)</div><div class="ttdoc">Updates subnodes of its rep, and rep node of its subs.</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00847">Andersen.cpp:847</a></div></div>
@@ -551,7 +551,7 @@ $(function() {
551
551
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_a2afb49f513c9534fd051117b59dc056b"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b">SVF::AndersenBase::timeOfUpdateCallGraph</a></div><div class="ttdeci">static double timeOfUpdateCallGraph</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00145">Andersen.h:145</a></div></div>
552
552
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_aae14de6fbca9280d8d0290326aa493f0"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0">SVF::AndersenBase::timeOfProcessCopyGep</a></div><div class="ttdeci">static double timeOfProcessCopyGep</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00143">Andersen.h:143</a></div></div>
553
553
  <div class="ttc" id="aclassSVF_1_1Andersen_html_a9075cd05cb21e0f08a1109b7af6c7480"><div class="ttname"><a href="classSVF_1_1Andersen.html#a9075cd05cb21e0f08a1109b7af6c7480">SVF::Andersen::initWorklist</a></div><div class="ttdeci">virtual void initWorklist()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00284">Andersen.h:284</a></div></div>
554
- <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
554
+ <div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01108">SVFValue.h:1108</a></div></div>
555
555
  <div class="ttc" id="aclassSVF_1_1AndersenWaveDiff_html_a7f2af504c4fb96e64371a8533c0525fe"><div class="ttname"><a href="classSVF_1_1AndersenWaveDiff.html#a7f2af504c4fb96e64371a8533c0525fe">SVF::AndersenWaveDiff::handleLoad</a></div><div class="ttdeci">virtual bool handleLoad(NodeID id, const ConstraintEdge *load)</div><div class="ttdef"><b>Definition:</b> <a href="AndersenWaveDiff_8cpp_source.html#l00125">AndersenWaveDiff.cpp:125</a></div></div>
556
556
  <div class="ttc" id="aclassSVF_1_1AndersenBase_html_ac02d1fedb0beb39e5a4c22ee4bb3501a"><div class="ttname"><a href="classSVF_1_1AndersenBase.html#ac02d1fedb0beb39e5a4c22ee4bb3501a">SVF::AndersenBase::solveConstraints</a></div><div class="ttdeci">virtual void solveConstraints()</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8cpp_source.html#l00100">Andersen.cpp:100</a></div></div>
557
557
  <div class="ttc" id="aclassSVF_1_1Andersen_html_a77e7378a3a35622bde2371d7d3ed7013"><div class="ttname"><a href="classSVF_1_1Andersen.html#a77e7378a3a35622bde2371d7d3ed7013">SVF::Andersen::CGSCC</a></div><div class="ttdeci">SCCDetection&lt; ConstraintGraph * &gt; CGSCC</div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00161">Andersen.h:161</a></div></div>