svf-tools 1.0.330 → 1.0.331

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 (212) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  3. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -3
  4. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +3 -3
  5. package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
  6. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/ConsG_8h_source.html +4 -4
  8. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
  9. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +6 -6
  10. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
  11. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
  12. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
  13. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +6 -7
  14. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  16. package/SVF-doxygen/html/html/LocationSet_8cpp.html +1 -0
  17. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +12 -15
  18. package/SVF-doxygen/html/html/LocationSet_8h.html +1 -1
  19. package/SVF-doxygen/html/html/LocationSet_8h_source.html +26 -40
  20. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +5 -5
  21. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +1 -1
  22. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +14 -14
  24. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +6 -6
  25. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +5 -5
  26. package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +6 -6
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +6 -7
  28. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +32 -32
  29. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +12 -12
  30. package/SVF-doxygen/html/html/SVFIR_8h_source.html +12 -12
  31. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +3 -3
  32. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/SVFVariables_8h.html +1 -1
  34. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +69 -69
  35. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
  36. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +21 -21
  37. package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +52 -53
  39. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +72 -75
  40. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
  41. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
  42. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +2 -2
  43. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
  44. package/SVF-doxygen/html/html/annotated.html +6 -6
  45. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +4 -4
  46. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +5 -5
  47. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +9 -9
  48. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +2 -3
  49. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +11 -11
  50. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +11 -11
  51. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +56 -55
  52. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +44 -41
  53. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
  54. package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +3 -3
  55. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
  56. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
  57. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +4 -4
  58. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +11 -11
  60. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +11 -11
  61. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +13 -13
  62. package/SVF-doxygen/html/html/classSVF_1_1FlattenedFieldInfo-members.html +85 -0
  63. package/SVF-doxygen/html/html/classSVF_1_1FlattenedFieldInfo.html +254 -0
  64. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
  65. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
  67. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +6 -6
  68. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +22 -23
  69. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
  70. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +173 -0
  71. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +813 -0
  72. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.png +0 -0
  73. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +2 -2
  74. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator-members.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +8 -8
  76. package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +17 -21
  77. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +150 -326
  78. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +6 -6
  79. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +84 -84
  80. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +2 -2
  81. package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +2 -2
  82. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +96 -96
  83. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +5 -5
  84. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
  85. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
  86. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +14 -14
  87. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +8 -8
  88. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +11 -11
  89. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +26 -26
  90. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +114 -115
  91. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
  92. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
  93. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
  94. package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +11 -14
  95. package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +70 -168
  96. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +30 -30
  97. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +59 -60
  98. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +118 -146
  99. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
  100. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +18 -18
  101. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +11 -11
  102. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
  103. package/SVF-doxygen/html/html/classes.html +6 -6
  104. package/SVF-doxygen/html/html/functions_a.html +13 -10
  105. package/SVF-doxygen/html/html/functions_b.html +1 -5
  106. package/SVF-doxygen/html/html/functions_c.html +6 -8
  107. package/SVF-doxygen/html/html/functions_d.html +1 -1
  108. package/SVF-doxygen/html/html/functions_e.html +0 -16
  109. package/SVF-doxygen/html/html/functions_f.html +21 -19
  110. package/SVF-doxygen/html/html/functions_func.html +15 -12
  111. package/SVF-doxygen/html/html/functions_func_c.html +2 -2
  112. package/SVF-doxygen/html/html/functions_func_d.html +1 -1
  113. package/SVF-doxygen/html/html/functions_func_e.html +2 -8
  114. package/SVF-doxygen/html/html/functions_func_f.html +4 -4
  115. package/SVF-doxygen/html/html/functions_func_g.html +39 -60
  116. package/SVF-doxygen/html/html/functions_func_i.html +11 -14
  117. package/SVF-doxygen/html/html/functions_func_s.html +6 -9
  118. package/SVF-doxygen/html/html/functions_func_t.html +1 -1
  119. package/SVF-doxygen/html/html/functions_func_w.html +1 -1
  120. package/SVF-doxygen/html/html/functions_g.html +38 -59
  121. package/SVF-doxygen/html/html/functions_i.html +6 -9
  122. package/SVF-doxygen/html/html/functions_l.html +1 -1
  123. package/SVF-doxygen/html/html/functions_n.html +4 -7
  124. package/SVF-doxygen/html/html/functions_o.html +21 -16
  125. package/SVF-doxygen/html/html/functions_p.html +16 -14
  126. package/SVF-doxygen/html/html/functions_s.html +15 -18
  127. package/SVF-doxygen/html/html/functions_t.html +4 -4
  128. package/SVF-doxygen/html/html/functions_type_e.html +0 -4
  129. package/SVF-doxygen/html/html/functions_type_o.html +3 -0
  130. package/SVF-doxygen/html/html/functions_v.html +3 -3
  131. package/SVF-doxygen/html/html/functions_vars_b.html +1 -5
  132. package/SVF-doxygen/html/html/functions_vars_e.html +0 -6
  133. package/SVF-doxygen/html/html/functions_vars_f.html +9 -7
  134. package/SVF-doxygen/html/html/functions_vars_l.html +1 -1
  135. package/SVF-doxygen/html/html/functions_vars_n.html +0 -3
  136. package/SVF-doxygen/html/html/functions_vars_o.html +2 -2
  137. package/SVF-doxygen/html/html/functions_w.html +1 -1
  138. package/SVF-doxygen/html/html/hierarchy.html +64 -64
  139. package/SVF-doxygen/html/html/namespaceSVF.html +3 -3
  140. package/SVF-doxygen/html/html/search/all_1.js +3 -2
  141. package/SVF-doxygen/html/html/search/all_10.js +8 -8
  142. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  143. package/SVF-doxygen/html/html/search/all_13.js +9 -10
  144. package/SVF-doxygen/html/html/search/all_14.js +7 -7
  145. package/SVF-doxygen/html/html/search/all_15.js +1 -1
  146. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  147. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  148. package/SVF-doxygen/html/html/search/all_2.js +2 -3
  149. package/SVF-doxygen/html/html/search/all_3.js +3 -3
  150. package/SVF-doxygen/html/html/search/all_4.js +1 -1
  151. package/SVF-doxygen/html/html/search/all_5.js +0 -5
  152. package/SVF-doxygen/html/html/search/all_6.js +6 -5
  153. package/SVF-doxygen/html/html/search/all_7.js +13 -21
  154. package/SVF-doxygen/html/html/search/all_9.js +1 -2
  155. package/SVF-doxygen/html/html/search/all_c.js +2 -2
  156. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  157. package/SVF-doxygen/html/html/search/all_e.js +1 -2
  158. package/SVF-doxygen/html/html/search/all_f.js +4 -3
  159. package/SVF-doxygen/html/html/search/classes_5.js +1 -1
  160. package/SVF-doxygen/html/html/search/classes_6.js +1 -1
  161. package/SVF-doxygen/html/html/search/functions_0.js +3 -2
  162. package/SVF-doxygen/html/html/search/functions_10.js +2 -3
  163. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  164. package/SVF-doxygen/html/html/search/functions_14.js +1 -1
  165. package/SVF-doxygen/html/html/search/functions_2.js +2 -2
  166. package/SVF-doxygen/html/html/search/functions_3.js +1 -1
  167. package/SVF-doxygen/html/html/search/functions_4.js +0 -2
  168. package/SVF-doxygen/html/html/search/functions_5.js +1 -1
  169. package/SVF-doxygen/html/html/search/functions_6.js +13 -21
  170. package/SVF-doxygen/html/html/search/functions_8.js +1 -2
  171. package/SVF-doxygen/html/html/search/functions_a.js +1 -1
  172. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  173. package/SVF-doxygen/html/html/search/typedefs_4.js +0 -1
  174. package/SVF-doxygen/html/html/search/typedefs_e.js +1 -0
  175. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  176. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  177. package/SVF-doxygen/html/html/search/variables_2.js +2 -3
  178. package/SVF-doxygen/html/html/search/variables_5.js +0 -2
  179. package/SVF-doxygen/html/html/search/variables_6.js +5 -4
  180. package/SVF-doxygen/html/html/search/variables_c.js +1 -1
  181. package/SVF-doxygen/html/html/search/variables_e.js +0 -1
  182. package/SVF-doxygen/html/html/search/variables_f.js +1 -1
  183. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
  184. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
  185. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +1 -1
  186. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +5 -5
  187. package/include/Graphs/ConsG.h +1 -1
  188. package/include/Graphs/ConsGEdge.h +1 -1
  189. package/include/MemoryModel/LocationSet.h +39 -126
  190. package/include/MemoryModel/SVFIR.h +1 -1
  191. package/include/MemoryModel/SVFStatements.h +1 -1
  192. package/include/MemoryModel/SVFVariables.h +17 -11
  193. package/include/MemoryModel/SymbolTableInfo.h +27 -25
  194. package/include/Util/IRAnnotator.h +3 -3
  195. package/lib/DDA/ContextDDA.cpp +1 -1
  196. package/lib/Graphs/ConsG.cpp +1 -1
  197. package/lib/Graphs/IRGraph.cpp +1 -1
  198. package/lib/Graphs/OfflineConsG.cpp +1 -1
  199. package/lib/MemoryModel/LocationSet.cpp +53 -95
  200. package/lib/MemoryModel/PointerAnalysisImpl.cpp +4 -4
  201. package/lib/MemoryModel/SVFIR.cpp +4 -4
  202. package/lib/MemoryModel/SVFVariables.cpp +2 -2
  203. package/lib/MemoryModel/SymbolTableInfo.cpp +36 -63
  204. package/lib/SABER/SaberSVFGBuilder.cpp +1 -1
  205. package/lib/SVF-FE/SVFIRBuilder.cpp +9 -10
  206. package/lib/SVF-FE/SymbolTableBuilder.cpp +4 -4
  207. package/lib/Util/TypeBasedHeapCloning.cpp +10 -10
  208. package/lib/WPA/Andersen.cpp +1 -1
  209. package/lib/WPA/AndersenSFR.cpp +2 -2
  210. package/lib/WPA/CSC.cpp +1 -1
  211. package/lib/WPA/FlowSensitiveTBHC.cpp +6 -6
  212. package/package.json +1 -1
@@ -65,7 +65,6 @@ $(function() {
65
65
  <div class="summary">
66
66
  <a href="#pub-types">Public Types</a> &#124;
67
67
  <a href="#pub-methods">Public Member Functions</a> &#124;
68
- <a href="#pub-static-methods">Static Public Member Functions</a> &#124;
69
68
  <a href="#pri-methods">Private Member Functions</a> &#124;
70
69
  <a href="#pri-attribs">Private Attributes</a> &#124;
71
70
  <a href="#friends">Friends</a> &#124;
@@ -89,8 +88,8 @@ Public Types</h2></td></tr>
89
88
  <br />
90
89
  }</td></tr>
91
90
  <tr class="separator:a002a0c8ec2528835d809bf7eb3ebc83f"><td class="memSeparator" colspan="2">&#160;</td></tr>
92
- <tr class="memitem:a8eb854480cc3efc1df4e6ebe916990d2"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classSVF_1_1FieldInfo.html#aba172e9c0989824c8ff79134d7952197">FieldInfo::ElemNumStridePairVec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a></td></tr>
93
- <tr class="separator:a8eb854480cc3efc1df4e6ebe916990d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
91
+ <tr class="memitem:a9cfbfba21f40feb2cc7e0003d4aaaae5"><td class="memItemLeft" align="right" valign="top">typedef std::vector&lt; const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *&gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a></td></tr>
92
+ <tr class="separator:a9cfbfba21f40feb2cc7e0003d4aaaae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
94
93
  </table><table class="memberdecls">
95
94
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
96
95
  Public Member Functions</h2></td></tr>
@@ -100,22 +99,22 @@ Public Member Functions</h2></td></tr>
100
99
  <tr class="memitem:a290c7fe38704552fd66ad06e5deeaca9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9">LocationSet</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;ls)</td></tr>
101
100
  <tr class="memdesc:a290c7fe38704552fd66ad06e5deeaca9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy Constructor. <a href="#a290c7fe38704552fd66ad06e5deeaca9">More...</a><br /></td></tr>
102
101
  <tr class="separator:a290c7fe38704552fd66ad06e5deeaca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
103
- <tr class="memitem:afd3b135453644cd42e869d378c270d23"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#afd3b135453644cd42e869d378c270d23">LocationSet</a> (const <a class="el" href="classSVF_1_1FieldInfo.html">FieldInfo</a> &amp;fi)</td></tr>
104
- <tr class="memdesc:afd3b135453644cd42e869d378c270d23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization from <a class="el" href="classSVF_1_1FieldInfo.html">FieldInfo</a>. <a href="#afd3b135453644cd42e869d378c270d23">More...</a><br /></td></tr>
105
- <tr class="separator:afd3b135453644cd42e869d378c270d23"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
+ <tr class="memitem:aa19807a258fc673e6885eafb924ecc91"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#aa19807a258fc673e6885eafb924ecc91">LocationSet</a> (const <a class="el" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a> &amp;fi)</td></tr>
103
+ <tr class="memdesc:aa19807a258fc673e6885eafb924ecc91"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization from <a class="el" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a>. <a href="#aa19807a258fc673e6885eafb924ecc91">More...</a><br /></td></tr>
104
+ <tr class="separator:aa19807a258fc673e6885eafb924ecc91"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
105
  <tr class="memitem:a00ae12aee8018f1eb88f011e52762be9"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a00ae12aee8018f1eb88f011e52762be9">~LocationSet</a> ()</td></tr>
107
106
  <tr class="separator:a00ae12aee8018f1eb88f011e52762be9"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
- <tr class="memitem:a38077e721631f3c6b09238880c97732b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a38077e721631f3c6b09238880c97732b">addElemNumStridePair</a> (const <a class="el" href="namespaceSVF.html#af15e78ec0ab5bf5328d0f8e90c74fe4b">NodePair</a> &amp;pair)</td></tr>
109
- <tr class="separator:a38077e721631f3c6b09238880c97732b"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
- <tr class="memitem:a464c14d79a64dc403c2757b3b8520cbd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a464c14d79a64dc403c2757b3b8520cbd">isConstantOffset</a> () const</td></tr>
111
- <tr class="memdesc:a464c14d79a64dc403c2757b3b8520cbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE if this is a constant location set. <a href="#a464c14d79a64dc403c2757b3b8520cbd">More...</a><br /></td></tr>
112
- <tr class="separator:a464c14d79a64dc403c2757b3b8520cbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
+ <tr class="memitem:ac544fa84eff20dfe043b7d0c771dec2b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ac544fa84eff20dfe043b7d0c771dec2b">addOffsetValue</a> (const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *offsetValue)</td></tr>
108
+ <tr class="separator:ac544fa84eff20dfe043b7d0c771dec2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
109
+ <tr class="memitem:a4a9185282308c50f86fdf66f7060373d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a> () const</td></tr>
110
+ <tr class="memdesc:a4a9185282308c50f86fdf66f7060373d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE if this is a constant location set. <a href="#a4a9185282308c50f86fdf66f7060373d">More...</a><br /></td></tr>
111
+ <tr class="separator:a4a9185282308c50f86fdf66f7060373d"><td class="memSeparator" colspan="2">&#160;</td></tr>
113
112
  <tr class="memitem:a0e1cddc4228e310c95f68c661c7b94c8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a0e1cddc4228e310c95f68c661c7b94c8">intersects</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;RHS) const</td></tr>
114
113
  <tr class="memdesc:a0e1cddc4228e310c95f68c661c7b94c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE if we share any location in common with RHS. <a href="#a0e1cddc4228e310c95f68c661c7b94c8">More...</a><br /></td></tr>
115
114
  <tr class="separator:a0e1cddc4228e310c95f68c661c7b94c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
116
- <tr class="memitem:a4e5f29661da66367cea70a0d3fa108b4"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a4e5f29661da66367cea70a0d3fa108b4">dump</a> () const</td></tr>
117
- <tr class="memdesc:a4e5f29661da66367cea70a0d3fa108b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump location set. <a href="#a4e5f29661da66367cea70a0d3fa108b4">More...</a><br /></td></tr>
118
- <tr class="separator:a4e5f29661da66367cea70a0d3fa108b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
115
+ <tr class="memitem:a53f1b2e417682a56d45dfb1f7d5ccd1c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a53f1b2e417682a56d45dfb1f7d5ccd1c">dump</a> () const</td></tr>
116
+ <tr class="memdesc:a53f1b2e417682a56d45dfb1f7d5ccd1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dump location set. <a href="#a53f1b2e417682a56d45dfb1f7d5ccd1c">More...</a><br /></td></tr>
117
+ <tr class="separator:a53f1b2e417682a56d45dfb1f7d5ccd1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
119
118
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
120
119
  <tr class="memitem:a19700ba5a9eebf50a0f3064f44e4bd97"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a19700ba5a9eebf50a0f3064f44e4bd97">operator+</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;rhs) const</td></tr>
121
120
  <tr class="memdesc:a19700ba5a9eebf50a0f3064f44e4bd97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Overload operators. <a href="#a19700ba5a9eebf50a0f3064f44e4bd97">More...</a><br /></td></tr>
@@ -127,29 +126,19 @@ Public Member Functions</h2></td></tr>
127
126
  <tr class="memitem:a1b141afb9a38d12423f66b2dfe6bf232"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a1b141afb9a38d12423f66b2dfe6bf232">operator==</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;rhs) const</td></tr>
128
127
  <tr class="separator:a1b141afb9a38d12423f66b2dfe6bf232"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
128
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
130
- <tr class="memitem:ab85c3707152e03722bd631b2525f223e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">getOffset</a> () const</td></tr>
131
- <tr class="memdesc:ab85c3707152e03722bd631b2525f223e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get methods. <a href="#ab85c3707152e03722bd631b2525f223e">More...</a><br /></td></tr>
132
- <tr class="separator:ab85c3707152e03722bd631b2525f223e"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:a5322dcda48d6980c3f7aafa169fcd77d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">getByteOffset</a> () const</td></tr>
134
- <tr class="separator:a5322dcda48d6980c3f7aafa169fcd77d"><td class="memSeparator" colspan="2">&#160;</td></tr>
129
+ <tr class="memitem:ac098bc95299002b9016684fa7f2799ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">accumulateConstantOffset</a> () const</td></tr>
130
+ <tr class="memdesc:ac098bc95299002b9016684fa7f2799ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get methods. <a href="#ac098bc95299002b9016684fa7f2799ca">More...</a><br /></td></tr>
131
+ <tr class="separator:ac098bc95299002b9016684fa7f2799ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
132
  <tr class="memitem:acc8d400f4715e05d8d4174d7bf722346"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#acc8d400f4715e05d8d4174d7bf722346">setFldIdx</a> (<a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> idx)</td></tr>
136
133
  <tr class="separator:acc8d400f4715e05d8d4174d7bf722346"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
- <tr class="memitem:a6c5b8c1a9f765de8bcbefb681ca6a92c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a6c5b8c1a9f765de8bcbefb681ca6a92c">setByteOffset</a> (<a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> os)</td></tr>
138
- <tr class="separator:a6c5b8c1a9f765de8bcbefb681ca6a92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
- <tr class="memitem:a3720af92ca2a65f02492e752b07ba241"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">getNumStridePair</a> () const</td></tr>
140
- <tr class="separator:a3720af92ca2a65f02492e752b07ba241"><td class="memSeparator" colspan="2">&#160;</td></tr>
141
- </table><table class="memberdecls">
142
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
143
- Static Public Member Functions</h2></td></tr>
144
- <tr class="memitem:a6962903a24f540c6bc58b8ae6a0cc757"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a6962903a24f540c6bc58b8ae6a0cc757">checkRelation</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;LHS, const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;RHS)</td></tr>
145
- <tr class="memdesc:a6962903a24f540c6bc58b8ae6a0cc757"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check relations of two location sets. <a href="#a6962903a24f540c6bc58b8ae6a0cc757">More...</a><br /></td></tr>
146
- <tr class="separator:a6962903a24f540c6bc58b8ae6a0cc757"><td class="memSeparator" colspan="2">&#160;</td></tr>
134
+ <tr class="memitem:a5a5ca0b81da0b34ab426bc6a28ed346c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a> () const</td></tr>
135
+ <tr class="separator:a5a5ca0b81da0b34ab426bc6a28ed346c"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
136
  </table><table class="memberdecls">
148
137
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
149
138
  Private Member Functions</h2></td></tr>
150
- <tr class="memitem:a7e2081a930eafaee4c68c9dd9e70e2bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a7e2081a930eafaee4c68c9dd9e70e2bd">increaseIfNotReachUpperBound</a> (std::vector&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &gt; &amp;indices, const <a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a> &amp;pairVec) const</td></tr>
151
- <tr class="memdesc:a7e2081a930eafaee4c68c9dd9e70e2bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return TRUE if successfully increased any index by 1. <a href="#a7e2081a930eafaee4c68c9dd9e70e2bd">More...</a><br /></td></tr>
152
- <tr class="separator:a7e2081a930eafaee4c68c9dd9e70e2bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
+ <tr class="memitem:a4e839125b32c7cb3ad07fbec6f203c10"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a4e839125b32c7cb3ad07fbec6f203c10">checkRelation</a> (const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;LHS, const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;RHS)</td></tr>
140
+ <tr class="memdesc:a4e839125b32c7cb3ad07fbec6f203c10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check relations of two location sets. <a href="#a4e839125b32c7cb3ad07fbec6f203c10">More...</a><br /></td></tr>
141
+ <tr class="separator:a4e839125b32c7cb3ad07fbec6f203c10"><td class="memSeparator" colspan="2">&#160;</td></tr>
153
142
  <tr class="memitem:afc0f702b6cce26861b409130fe5e019f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a> () const</td></tr>
154
143
  <tr class="memdesc:afc0f702b6cce26861b409130fe5e019f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute all possible locations according to offset and number-stride pairs. <a href="#afc0f702b6cce26861b409130fe5e019f">More...</a><br /></td></tr>
155
144
  <tr class="separator:afc0f702b6cce26861b409130fe5e019f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -160,14 +149,11 @@ Private Member Functions</h2></td></tr>
160
149
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
161
150
  Private Attributes</h2></td></tr>
162
151
  <tr class="memitem:ac15467bbdc05b9b0fd0398583168811b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a></td></tr>
163
- <tr class="memdesc:ac15467bbdc05b9b0fd0398583168811b"><td class="mdescLeft">&#160;</td><td class="mdescRight">offset relative to base <a href="#ac15467bbdc05b9b0fd0398583168811b">More...</a><br /></td></tr>
152
+ <tr class="memdesc:ac15467bbdc05b9b0fd0398583168811b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accumulated Constant Offsets. <a href="#ac15467bbdc05b9b0fd0398583168811b">More...</a><br /></td></tr>
164
153
  <tr class="separator:ac15467bbdc05b9b0fd0398583168811b"><td class="memSeparator" colspan="2">&#160;</td></tr>
165
- <tr class="memitem:a9fafaf5f69baa5c125d6c3fd89381301"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a></td></tr>
166
- <tr class="memdesc:a9fafaf5f69baa5c125d6c3fd89381301"><td class="mdescLeft">&#160;</td><td class="mdescRight">offset relative to base <a href="#a9fafaf5f69baa5c125d6c3fd89381301">More...</a><br /></td></tr>
167
- <tr class="separator:a9fafaf5f69baa5c125d6c3fd89381301"><td class="memSeparator" colspan="2">&#160;</td></tr>
168
- <tr class="memitem:abb755e95c8b292b3a6f3eff0256d1790"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a></td></tr>
169
- <tr class="memdesc:abb755e95c8b292b3a6f3eff0256d1790"><td class="mdescLeft">&#160;</td><td class="mdescRight">element number and stride pair <a href="#abb755e95c8b292b3a6f3eff0256d1790">More...</a><br /></td></tr>
170
- <tr class="separator:abb755e95c8b292b3a6f3eff0256d1790"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
+ <tr class="memitem:a5a2792b8b914557a9ccf0e57d0ed8b30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a></td></tr>
155
+ <tr class="memdesc:a5a2792b8b914557a9ccf0e57d0ed8b30"><td class="mdescLeft">&#160;</td><td class="mdescRight">a vector of actual offset in the form of Values <a href="#a5a2792b8b914557a9ccf0e57d0ed8b30">More...</a><br /></td></tr>
156
+ <tr class="separator:a5a2792b8b914557a9ccf0e57d0ed8b30"><td class="memSeparator" colspan="2">&#160;</td></tr>
171
157
  </table><table class="memberdecls">
172
158
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
173
159
  Friends</h2></td></tr>
@@ -176,21 +162,21 @@ Friends</h2></td></tr>
176
162
  </table>
177
163
  <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
178
164
  <div class="textblock">
179
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00093">93</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
165
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00072">72</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
180
166
  </div><h2 class="groupheader">Member Typedef Documentation</h2>
181
- <a id="a8eb854480cc3efc1df4e6ebe916990d2"></a>
182
- <h2 class="memtitle"><span class="permalink"><a href="#a8eb854480cc3efc1df4e6ebe916990d2">&#9670;&nbsp;</a></span>ElemNumStridePairVec</h2>
167
+ <a id="a9cfbfba21f40feb2cc7e0003d4aaaae5"></a>
168
+ <h2 class="memtitle"><span class="permalink"><a href="#a9cfbfba21f40feb2cc7e0003d4aaaae5">&#9670;&nbsp;</a></span>OffsetValueVec</h2>
183
169
 
184
170
  <div class="memitem">
185
171
  <div class="memproto">
186
172
  <table class="memname">
187
173
  <tr>
188
- <td class="memname">typedef <a class="el" href="classSVF_1_1FieldInfo.html#aba172e9c0989824c8ff79134d7952197">FieldInfo::ElemNumStridePairVec</a> <a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">SVF::LocationSet::ElemNumStridePairVec</a></td>
174
+ <td class="memname">typedef std::vector&lt;const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* &gt; <a class="el" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">SVF::LocationSet::OffsetValueVec</a></td>
189
175
  </tr>
190
176
  </table>
191
177
  </div><div class="memdoc">
192
178
 
193
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00102">102</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
179
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00081">81</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
194
180
 
195
181
  </div>
196
182
  </div>
@@ -214,12 +200,12 @@ Friends</h2></td></tr>
214
200
  <tr><td class="fieldname"><a id="a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2"></a>Same&#160;</td><td class="fielddoc"></td></tr>
215
201
  </table>
216
202
 
217
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00097">97</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
218
- <div class="fragment"><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; };</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
219
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">SVF::LocationSet::Subset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
220
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">SVF::LocationSet::Superset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
221
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">SVF::LocationSet::Same</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
222
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">SVF::LocationSet::NonOverlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
203
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00076">76</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
204
+ <div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>, <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; };</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
205
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">SVF::LocationSet::Subset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
206
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">SVF::LocationSet::Superset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
207
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">SVF::LocationSet::Same</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
208
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">SVF::LocationSet::NonOverlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
223
209
  </div><!-- fragment -->
224
210
  </div>
225
211
  </div>
@@ -250,9 +236,8 @@ Friends</h2></td></tr>
250
236
 
251
237
  <p>Constructor. </p>
252
238
 
253
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00105">105</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
254
- <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>(o), <a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a>(o)</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
255
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
239
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00084">84</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
240
+ <div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>(o)</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {}</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
256
241
  </div><!-- fragment -->
257
242
  </div>
258
243
  </div>
@@ -282,16 +267,13 @@ Friends</h2></td></tr>
282
267
 
283
268
  <p>Copy Constructor. </p>
284
269
 
285
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00109">109</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
286
- <div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>(ls.fldIdx), <a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a>(ls.byteOffset)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; {</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; vec = ls.getNumStridePair();</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; ElemNumStridePairVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; ElemNumStridePairVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a38077e721631f3c6b09238880c97732b">addElemNumStridePair</a>(*it);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a8eb854480cc3efc1df4e6ebe916990d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">SVF::LocationSet::ElemNumStridePairVec</a></div><div class="ttdeci">FieldInfo::ElemNumStridePairVec ElemNumStridePairVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00102">LocationSet.h:102</a></div></div>
287
- <div class="ttc" id="classSVF_1_1LocationSet_html_a38077e721631f3c6b09238880c97732b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a38077e721631f3c6b09238880c97732b">SVF::LocationSet::addElemNumStridePair</a></div><div class="ttdeci">void addElemNumStridePair(const NodePair &amp;pair)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00041">LocationSet.cpp:41</a></div></div>
288
- <div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
289
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
270
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00088">88</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
271
+ <div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>(ls.fldIdx)</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
290
272
  </div><!-- fragment -->
291
273
  </div>
292
274
  </div>
293
- <a id="afd3b135453644cd42e869d378c270d23"></a>
294
- <h2 class="memtitle"><span class="permalink"><a href="#afd3b135453644cd42e869d378c270d23">&#9670;&nbsp;</a></span>LocationSet() <span class="overload">[3/3]</span></h2>
275
+ <a id="aa19807a258fc673e6885eafb924ecc91"></a>
276
+ <h2 class="memtitle"><span class="permalink"><a href="#aa19807a258fc673e6885eafb924ecc91">&#9670;&nbsp;</a></span>LocationSet() <span class="overload">[3/3]</span></h2>
295
277
 
296
278
  <div class="memitem">
297
279
  <div class="memproto">
@@ -302,7 +284,7 @@ Friends</h2></td></tr>
302
284
  <tr>
303
285
  <td class="memname">SVF::LocationSet::LocationSet </td>
304
286
  <td>(</td>
305
- <td class="paramtype">const <a class="el" href="classSVF_1_1FieldInfo.html">FieldInfo</a> &amp;&#160;</td>
287
+ <td class="paramtype">const <a class="el" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a> &amp;&#160;</td>
306
288
  <td class="paramname"><em>fi</em></td><td>)</td>
307
289
  <td></td>
308
290
  </tr>
@@ -314,13 +296,10 @@ Friends</h2></td></tr>
314
296
  </table>
315
297
  </div><div class="memdoc">
316
298
 
317
- <p>Initialization from <a class="el" href="classSVF_1_1FieldInfo.html">FieldInfo</a>. </p>
299
+ <p>Initialization from <a class="el" href="classSVF_1_1FlattenedFieldInfo.html">FlattenedFieldInfo</a>. </p>
318
300
 
319
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00120">120</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
320
- <div class="fragment"><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>(fi.getFlattenFldIdx()), <a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a>(fi.getFlattenByteOffset())</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; vec = fi.getElemNumStridePairVect();</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; ElemNumStridePairVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; ElemNumStridePairVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a38077e721631f3c6b09238880c97732b">addElemNumStridePair</a>(*it);</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a8eb854480cc3efc1df4e6ebe916990d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">SVF::LocationSet::ElemNumStridePairVec</a></div><div class="ttdeci">FieldInfo::ElemNumStridePairVec ElemNumStridePairVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00102">LocationSet.h:102</a></div></div>
321
- <div class="ttc" id="classSVF_1_1LocationSet_html_a38077e721631f3c6b09238880c97732b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a38077e721631f3c6b09238880c97732b">SVF::LocationSet::addElemNumStridePair</a></div><div class="ttdeci">void addElemNumStridePair(const NodePair &amp;pair)</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00041">LocationSet.cpp:41</a></div></div>
322
- <div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
323
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
301
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00094">94</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
302
+ <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; : <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>(fi.getFlattenFldIdx())</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
324
303
  </div><!-- fragment -->
325
304
  </div>
326
305
  </div>
@@ -347,41 +326,66 @@ Friends</h2></td></tr>
347
326
  </table>
348
327
  </div><div class="memdoc">
349
328
 
350
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00130">130</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
351
- <div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;{}</div></div><!-- fragment -->
329
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00099">99</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
330
+ <div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;{}</div></div><!-- fragment -->
352
331
  </div>
353
332
  </div>
354
333
  <h2 class="groupheader">Member Function Documentation</h2>
355
- <a id="a38077e721631f3c6b09238880c97732b"></a>
356
- <h2 class="memtitle"><span class="permalink"><a href="#a38077e721631f3c6b09238880c97732b">&#9670;&nbsp;</a></span>addElemNumStridePair()</h2>
334
+ <a id="ac098bc95299002b9016684fa7f2799ca"></a>
335
+ <h2 class="memtitle"><span class="permalink"><a href="#ac098bc95299002b9016684fa7f2799ca">&#9670;&nbsp;</a></span>accumulateConstantOffset()</h2>
357
336
 
358
337
  <div class="memitem">
359
338
  <div class="memproto">
339
+ <table class="mlabels">
340
+ <tr>
341
+ <td class="mlabels-left">
360
342
  <table class="memname">
361
343
  <tr>
362
- <td class="memname">void LocationSet::addElemNumStridePair </td>
344
+ <td class="memname"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> SVF::LocationSet::accumulateConstantOffset </td>
363
345
  <td>(</td>
364
- <td class="paramtype">const <a class="el" href="namespaceSVF.html#af15e78ec0ab5bf5328d0f8e90c74fe4b">NodePair</a> &amp;&#160;</td>
365
- <td class="paramname"><em>pair</em></td><td>)</td>
346
+ <td class="paramname"></td><td>)</td>
347
+ <td> const</td>
348
+ </tr>
349
+ </table>
350
+ </td>
351
+ <td class="mlabels-right">
352
+ <span class="mlabels"><span class="mlabel">inline</span></span> </td>
353
+ </tr>
354
+ </table>
355
+ </div><div class="memdoc">
356
+
357
+ <p>Get methods. </p>
358
+
359
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00154">154</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
360
+ <div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
361
+ </div><!-- fragment -->
362
+ </div>
363
+ </div>
364
+ <a id="ac544fa84eff20dfe043b7d0c771dec2b"></a>
365
+ <h2 class="memtitle"><span class="permalink"><a href="#ac544fa84eff20dfe043b7d0c771dec2b">&#9670;&nbsp;</a></span>addOffsetValue()</h2>
366
+
367
+ <div class="memitem">
368
+ <div class="memproto">
369
+ <table class="memname">
370
+ <tr>
371
+ <td class="memname">bool LocationSet::addOffsetValue </td>
372
+ <td>(</td>
373
+ <td class="paramtype">const <a class="el" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *&#160;</td>
374
+ <td class="paramname"><em>offsetVal</em></td><td>)</td>
366
375
  <td></td>
367
376
  </tr>
368
377
  </table>
369
378
  </div><div class="memdoc">
370
- <p>Add element num and stride pair </p>
371
- <p>The pair will not be added if any number of a stride is zero, because they will not have effect on the locations represented by this <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a>.</p>
372
- <p>Find the GCD stride </p>
373
-
374
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00041">41</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
375
- <div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;{</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">if</span> (pair.first == 0 || pair.second == 0)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1Options.html#aa734ee7b55809934b441cf5e5818e015">Options::SingleStride</a>)</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; {</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.empty())</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.push_back(std::make_pair(<a class="code" href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">StInfo::getMaxFieldLimit</a>(),pair.second));</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> existStride = (*<a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.begin()).second;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> newStride = <a class="code" href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">gcd</a>(pair.second, existStride);</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">if</span> (newStride != existStride)</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.pop_back();</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.push_back(std::make_pair(<a class="code" href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">StInfo::getMaxFieldLimit</a>(),newStride));</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; }</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; }</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.push_back(pair);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
376
- <div class="ttc" id="classSVF_1_1Options_html_aa734ee7b55809934b441cf5e5818e015"><div class="ttname"><a href="classSVF_1_1Options.html#aa734ee7b55809934b441cf5e5818e015">SVF::Options::SingleStride</a></div><div class="ttdeci">static const llvm::cl::opt&lt; bool &gt; SingleStride</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00124">Options.h:124</a></div></div>
377
- <div class="ttc" id="classSVF_1_1LocationSet_html_a4f7a3b135ffa9bc9a5c721d1e23a61a4"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">SVF::LocationSet::gcd</a></div><div class="ttdeci">unsigned gcd(unsigned n1, unsigned n2) const</div><div class="ttdoc">Return greatest common divisor. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00278">LocationSet.h:278</a></div></div>
378
- <div class="ttc" id="classSVF_1_1StInfo_html_ad6e599717952f8ccc2771cd72254b6b2"><div class="ttname"><a href="classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2">SVF::StInfo::getMaxFieldLimit</a></div><div class="ttdeci">static u32_t getMaxFieldLimit()</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00535">SymbolTableInfo.h:535</a></div></div>
379
- <div class="ttc" id="classSVF_1_1LocationSet_html_abb755e95c8b292b3a6f3eff0256d1790"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">SVF::LocationSet::numStridePair</a></div><div class="ttdeci">ElemNumStridePairVec numStridePair</div><div class="ttdoc">element number and stride pair </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00285">LocationSet.h:285</a></div></div>
379
+ <p>Add offset value to vector offsetValues </p>
380
+
381
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00042">42</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
382
+ <div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;{</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val : <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>){</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">if</span>(val==offsetVal)</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; }</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; offsetValues.push_back(offsetVal);</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5a2792b8b914557a9ccf0e57d0ed8b30"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">SVF::LocationSet::offsetValues</a></div><div class="ttdeci">OffsetValueVec offsetValues</div><div class="ttdoc">a vector of actual offset in the form of Values </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
383
+ <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
380
384
  </div><!-- fragment -->
381
385
  </div>
382
386
  </div>
383
- <a id="a6962903a24f540c6bc58b8ae6a0cc757"></a>
384
- <h2 class="memtitle"><span class="permalink"><a href="#a6962903a24f540c6bc58b8ae6a0cc757">&#9670;&nbsp;</a></span>checkRelation()</h2>
387
+ <a id="a4e839125b32c7cb3ad07fbec6f203c10"></a>
388
+ <h2 class="memtitle"><span class="permalink"><a href="#a4e839125b32c7cb3ad07fbec6f203c10">&#9670;&nbsp;</a></span>checkRelation()</h2>
385
389
 
386
390
  <div class="memitem">
387
391
  <div class="memproto">
@@ -390,7 +394,7 @@ Friends</h2></td></tr>
390
394
  <td class="mlabels-left">
391
395
  <table class="memname">
392
396
  <tr>
393
- <td class="memname">static <a class="el" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">LSRelation</a> SVF::LocationSet::checkRelation </td>
397
+ <td class="memname"><a class="el" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83f">SVF::LocationSet::LSRelation</a> LocationSet::checkRelation </td>
394
398
  <td>(</td>
395
399
  <td class="paramtype">const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;&#160;</td>
396
400
  <td class="paramname"><em>LHS</em>, </td>
@@ -409,20 +413,21 @@ Friends</h2></td></tr>
409
413
  </table>
410
414
  </td>
411
415
  <td class="mlabels-right">
412
- <span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
416
+ <span class="mlabels"><span class="mlabel">private</span></span> </td>
413
417
  </tr>
414
418
  </table>
415
419
  </div><div class="memdoc">
416
420
 
417
421
  <p>Check relations of two location sets. </p>
418
422
 
419
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00230">230</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
420
- <div class="fragment"><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> lhsLocations = LHS.computeAllLocations();</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> rhsLocations = RHS.computeAllLocations();</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; <span class="keywordflow">if</span> (lhsLocations.intersects(rhsLocations))</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; {</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a>;</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.contains(rhsLocations))</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.contains(lhsLocations))</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>;</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; }</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; {</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; }</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
421
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">SVF::LocationSet::Subset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
422
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">SVF::LocationSet::Superset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
423
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">SVF::LocationSet::Same</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
423
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00072">72</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
424
+ <div class="fragment"><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;{</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>();</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">if</span> (lhsLocations.intersects(rhsLocations))</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; {</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">Same</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.contains(rhsLocations))</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">Superset</a>;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.contains(lhsLocations))</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">Subset</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">Overlap</a>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; {</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">NonOverlap</a>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; }</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa8c76affbe3b39db53e8046cd5d79903c">SVF::LocationSet::Overlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
425
+ <div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::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="LocationSet_8cpp_source.html#l00065">LocationSet.cpp:65</a></div></div>
426
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83faf6a3c1bcfe2d3f79b227b649e89edd72">SVF::LocationSet::Subset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
427
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa2241035beb87cdd725d979371537d500">SVF::LocationSet::Superset</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
428
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fa9b2a5e3c7f7873ac4491ff231e0601d2">SVF::LocationSet::Same</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
424
429
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
425
- <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">SVF::LocationSet::NonOverlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00099">LocationSet.h:99</a></div></div>
430
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a002a0c8ec2528835d809bf7eb3ebc83fafb9c7d6d06f6f3ab60bd575aaca5d14d">SVF::LocationSet::NonOverlap</a></div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00078">LocationSet.h:78</a></div></div>
426
431
  </div><!-- fragment -->
427
432
  </div>
428
433
  </div>
@@ -452,50 +457,36 @@ Friends</h2></td></tr>
452
457
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
453
458
  <p>Compute all possible locations according to offset and number-stride pairs. </p>
454
459
 
455
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00115">115</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
456
- <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;{</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; result.set(<a class="code" href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">getOffset</a>());</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LocationSet.html#a464c14d79a64dc403c2757b3b8520cbd">isConstantOffset</a>() == <span class="keyword">false</span>)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; lhsVec = <a class="code" href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">getNumStridePair</a>();</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; std::vector&lt;NodeID&gt; indices;</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size = lhsVec.size();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">while</span> (size)</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; indices.push_back(0);</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; size--;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; }</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordflow">do</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; {</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> ofst = <a class="code" href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">getOffset</a>();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">while</span> (i &lt; lhsVec.size())</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; ofst += (lhsVec[i].second * indices[i]);</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; i++;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; result.set(ofst);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">while</span> (<a class="code" href="classSVF_1_1LocationSet.html#a7e2081a930eafaee4c68c9dd9e70e2bd">increaseIfNotReachUpperBound</a>(indices, lhsVec));</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;}</div><div class="ttc" id="namespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00018">MTAResultValidator.h:18</a></div></div>
457
- <div class="ttc" id="classSVF_1_1LocationSet_html_a8eb854480cc3efc1df4e6ebe916990d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">SVF::LocationSet::ElemNumStridePairVec</a></div><div class="ttdeci">FieldInfo::ElemNumStridePairVec ElemNumStridePairVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00102">LocationSet.h:102</a></div></div>
458
- <div class="ttc" id="classSVF_1_1LocationSet_html_a464c14d79a64dc403c2757b3b8520cbd"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a464c14d79a64dc403c2757b3b8520cbd">SVF::LocationSet::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="LocationSet_8h_source.html#l00218">LocationSet.h:218</a></div></div>
459
- <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
460
- <div class="ttc" id="classSVF_1_1LocationSet_html_a7e2081a930eafaee4c68c9dd9e70e2bd"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a7e2081a930eafaee4c68c9dd9e70e2bd">SVF::LocationSet::increaseIfNotReachUpperBound</a></div><div class="ttdeci">bool increaseIfNotReachUpperBound(std::vector&lt; NodeID &gt; &amp;indices, const ElemNumStridePairVec &amp;pairVec) const</div><div class="ttdoc">Return TRUE if successfully increased any index by 1. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00074">LocationSet.cpp:74</a></div></div>
461
- <div class="ttc" id="classSVF_1_1LocationSet_html_ab85c3707152e03722bd631b2525f223e"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">SVF::LocationSet::getOffset</a></div><div class="ttdeci">Size_t getOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00193">LocationSet.h:193</a></div></div>
462
- <div class="ttc" id="cuddInt_8c_html_a8b2e13c78efca330f06b6ddcd7464b41"><div class="ttname"><a href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a></div><div class="ttdeci">static int result</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l07466">cuddInt.c:7466</a></div></div>
460
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00065">65</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
461
+ <div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">NodeBS</a> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; result.set(<a class="code" href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">accumulateConstantOffset</a>());</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">return</span> <a class="code" href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;}</div><div class="ttc" id="cuddInt_8c_html_a8b2e13c78efca330f06b6ddcd7464b41"><div class="ttname"><a href="cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41">result</a></div><div class="ttdeci">static int result</div><div class="ttdef"><b>Definition:</b> <a href="cuddInt_8c_source.html#l07466">cuddInt.c:7466</a></div></div>
463
462
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
464
- <div class="ttc" id="classSVF_1_1LocationSet_html_a3720af92ca2a65f02492e752b07ba241"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">SVF::LocationSet::getNumStridePair</a></div><div class="ttdeci">const ElemNumStridePairVec &amp; getNumStridePair() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00209">LocationSet.h:209</a></div></div>
463
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac098bc95299002b9016684fa7f2799ca"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">Size_t accumulateConstantOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00154">LocationSet.h:154</a></div></div>
465
464
  </div><!-- fragment -->
466
465
  </div>
467
466
  </div>
468
- <a id="a4e5f29661da66367cea70a0d3fa108b4"></a>
469
- <h2 class="memtitle"><span class="permalink"><a href="#a4e5f29661da66367cea70a0d3fa108b4">&#9670;&nbsp;</a></span>dump()</h2>
467
+ <a id="a53f1b2e417682a56d45dfb1f7d5ccd1c"></a>
468
+ <h2 class="memtitle"><span class="permalink"><a href="#a53f1b2e417682a56d45dfb1f7d5ccd1c">&#9670;&nbsp;</a></span>dump()</h2>
470
469
 
471
470
  <div class="memitem">
472
471
  <div class="memproto">
473
- <table class="mlabels">
474
- <tr>
475
- <td class="mlabels-left">
476
472
  <table class="memname">
477
473
  <tr>
478
- <td class="memname">std::string SVF::LocationSet::dump </td>
474
+ <td class="memname">std::string LocationSet::dump </td>
479
475
  <td>(</td>
480
476
  <td class="paramname"></td><td>)</td>
481
477
  <td> const</td>
482
478
  </tr>
483
479
  </table>
484
- </td>
485
- <td class="mlabels-right">
486
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
487
- </tr>
488
- </table>
489
480
  </div><div class="memdoc">
490
481
 
491
482
  <p>Dump location set. </p>
492
483
 
493
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00252">252</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
494
- <div class="fragment"><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; {</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; std::string str;</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;LocationSet\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">getOffset</a>();</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;\tOffset: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">getByteOffset</a>()</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; vec = <a class="code" href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">getNumStridePair</a>();</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; ElemNumStridePairVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; ElemNumStridePairVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (&quot;</span> &lt;&lt; it-&gt;first &lt;&lt; <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; it-&gt;second &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; }</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5322dcda48d6980c3f7aafa169fcd77d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">SVF::LocationSet::getByteOffset</a></div><div class="ttdeci">Size_t getByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
495
- <div class="ttc" id="classSVF_1_1LocationSet_html_a8eb854480cc3efc1df4e6ebe916990d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">SVF::LocationSet::ElemNumStridePairVec</a></div><div class="ttdeci">FieldInfo::ElemNumStridePairVec ElemNumStridePairVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00102">LocationSet.h:102</a></div></div>
484
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00094">94</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
485
+ <div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;{</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; std::string str;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;LocationSet\tField_Index: &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">accumulateConstantOffset</a>();</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot;,\tNum-Stride: {&quot;</span>;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a>&amp; vec = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; OffsetValueVec::const_iterator it = vec.begin();</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; OffsetValueVec::const_iterator eit = vec.end();</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; (&quot;</span> &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">value2String</a>(*it) &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; rawstr &lt;&lt; <span class="stringliteral">&quot; }\n&quot;</span>;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9cfbfba21f40feb2cc7e0003d4aaaae5"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector&lt; const Value *&gt; OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00081">LocationSet.h:81</a></div></div>
496
486
  <div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00100">BasicTypes.h:100</a></div></div>
497
- <div class="ttc" id="classSVF_1_1LocationSet_html_ab85c3707152e03722bd631b2525f223e"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">SVF::LocationSet::getOffset</a></div><div class="ttdeci">Size_t getOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00193">LocationSet.h:193</a></div></div>
498
- <div class="ttc" id="classSVF_1_1LocationSet_html_a3720af92ca2a65f02492e752b07ba241"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">SVF::LocationSet::getNumStridePair</a></div><div class="ttdeci">const ElemNumStridePairVec &amp; getNumStridePair() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00209">LocationSet.h:209</a></div></div>
487
+ <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a7486fd8e5350879ed1cbd835c0d4e191"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7486fd8e5350879ed1cbd835c0d4e191">SVF::SVFUtil::value2String</a></div><div class="ttdeci">const std::string value2String(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00388">SVFUtil.cpp:388</a></div></div>
488
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac098bc95299002b9016684fa7f2799ca"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">Size_t accumulateConstantOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00154">LocationSet.h:154</a></div></div>
489
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec &amp; getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00162">LocationSet.h:162</a></div></div>
499
490
  </div><!-- fragment -->
500
491
  </div>
501
492
  </div>
@@ -535,41 +526,13 @@ Friends</h2></td></tr>
535
526
 
536
527
  <p>Return greatest common divisor. </p>
537
528
 
538
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00278">278</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
539
- <div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> (n2 == 0) ? n1 : <a class="code" href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">gcd</a> (n2, n1 % n2);</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a4f7a3b135ffa9bc9a5c721d1e23a61a4"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">SVF::LocationSet::gcd</a></div><div class="ttdeci">unsigned gcd(unsigned n1, unsigned n2) const</div><div class="ttdoc">Return greatest common divisor. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00278">LocationSet.h:278</a></div></div>
540
- </div><!-- fragment -->
541
- </div>
542
- </div>
543
- <a id="a5322dcda48d6980c3f7aafa169fcd77d"></a>
544
- <h2 class="memtitle"><span class="permalink"><a href="#a5322dcda48d6980c3f7aafa169fcd77d">&#9670;&nbsp;</a></span>getByteOffset()</h2>
545
-
546
- <div class="memitem">
547
- <div class="memproto">
548
- <table class="mlabels">
549
- <tr>
550
- <td class="mlabels-left">
551
- <table class="memname">
552
- <tr>
553
- <td class="memname"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> SVF::LocationSet::getByteOffset </td>
554
- <td>(</td>
555
- <td class="paramname"></td><td>)</td>
556
- <td> const</td>
557
- </tr>
558
- </table>
559
- </td>
560
- <td class="mlabels-right">
561
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
562
- </tr>
563
- </table>
564
- </div><div class="memdoc">
565
-
566
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00197">197</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
567
- <div class="fragment"><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a>;</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
529
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00191">191</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
530
+ <div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; <span class="keywordflow">return</span> (n2 == 0) ? n1 : <a class="code" href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">gcd</a> (n2, n1 % n2);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a4f7a3b135ffa9bc9a5c721d1e23a61a4"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4f7a3b135ffa9bc9a5c721d1e23a61a4">SVF::LocationSet::gcd</a></div><div class="ttdeci">unsigned gcd(unsigned n1, unsigned n2) const</div><div class="ttdoc">Return greatest common divisor. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00191">LocationSet.h:191</a></div></div>
568
531
  </div><!-- fragment -->
569
532
  </div>
570
533
  </div>
571
- <a id="a3720af92ca2a65f02492e752b07ba241"></a>
572
- <h2 class="memtitle"><span class="permalink"><a href="#a3720af92ca2a65f02492e752b07ba241">&#9670;&nbsp;</a></span>getNumStridePair()</h2>
534
+ <a id="a5a5ca0b81da0b34ab426bc6a28ed346c"></a>
535
+ <h2 class="memtitle"><span class="permalink"><a href="#a5a5ca0b81da0b34ab426bc6a28ed346c">&#9670;&nbsp;</a></span>getOffsetValueVec()</h2>
573
536
 
574
537
  <div class="memitem">
575
538
  <div class="memproto">
@@ -578,7 +541,7 @@ Friends</h2></td></tr>
578
541
  <td class="mlabels-left">
579
542
  <table class="memname">
580
543
  <tr>
581
- <td class="memname">const <a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; SVF::LocationSet::getNumStridePair </td>
544
+ <td class="memname">const <a class="el" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a>&amp; SVF::LocationSet::getOffsetValueVec </td>
582
545
  <td>(</td>
583
546
  <td class="paramname"></td><td>)</td>
584
547
  <td> const</td>
@@ -591,83 +554,8 @@ Friends</h2></td></tr>
591
554
  </table>
592
555
  </div><div class="memdoc">
593
556
 
594
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00209">209</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
595
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>;</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_abb755e95c8b292b3a6f3eff0256d1790"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">SVF::LocationSet::numStridePair</a></div><div class="ttdeci">ElemNumStridePairVec numStridePair</div><div class="ttdoc">element number and stride pair </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00285">LocationSet.h:285</a></div></div>
596
- </div><!-- fragment -->
597
- </div>
598
- </div>
599
- <a id="ab85c3707152e03722bd631b2525f223e"></a>
600
- <h2 class="memtitle"><span class="permalink"><a href="#ab85c3707152e03722bd631b2525f223e">&#9670;&nbsp;</a></span>getOffset()</h2>
601
-
602
- <div class="memitem">
603
- <div class="memproto">
604
- <table class="mlabels">
605
- <tr>
606
- <td class="mlabels-left">
607
- <table class="memname">
608
- <tr>
609
- <td class="memname"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> SVF::LocationSet::getOffset </td>
610
- <td>(</td>
611
- <td class="paramname"></td><td>)</td>
612
- <td> const</td>
613
- </tr>
614
- </table>
615
- </td>
616
- <td class="mlabels-right">
617
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
618
- </tr>
619
- </table>
620
- </div><div class="memdoc">
621
-
622
- <p>Get methods. </p>
623
-
624
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00193">193</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
625
- <div class="fragment"><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; {</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a>;</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
626
- </div><!-- fragment -->
627
- </div>
628
- </div>
629
- <a id="a7e2081a930eafaee4c68c9dd9e70e2bd"></a>
630
- <h2 class="memtitle"><span class="permalink"><a href="#a7e2081a930eafaee4c68c9dd9e70e2bd">&#9670;&nbsp;</a></span>increaseIfNotReachUpperBound()</h2>
631
-
632
- <div class="memitem">
633
- <div class="memproto">
634
- <table class="mlabels">
635
- <tr>
636
- <td class="mlabels-left">
637
- <table class="memname">
638
- <tr>
639
- <td class="memname">bool LocationSet::increaseIfNotReachUpperBound </td>
640
- <td>(</td>
641
- <td class="paramtype">std::vector&lt; <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> &gt; &amp;&#160;</td>
642
- <td class="paramname"><em>indices</em>, </td>
643
- </tr>
644
- <tr>
645
- <td class="paramkey"></td>
646
- <td></td>
647
- <td class="paramtype">const <a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a> &amp;&#160;</td>
648
- <td class="paramname"><em>pairVec</em>&#160;</td>
649
- </tr>
650
- <tr>
651
- <td></td>
652
- <td>)</td>
653
- <td></td><td> const</td>
654
- </tr>
655
- </table>
656
- </td>
657
- <td class="mlabels-right">
658
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
659
- </tr>
660
- </table>
661
- </div><div class="memdoc">
662
-
663
- <p>Return TRUE if successfully increased any index by 1. </p>
664
- <p>Return TRUE if it successfully increases any index by 1 </p>
665
- <p>Check if all indices reach upper bound</p>
666
- <p>Increase index if not reach upper bound </p>
667
-
668
- <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00074">74</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
669
- <div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160;{</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(indices.size() == pairVec.size() &amp;&amp; <span class="stringliteral">&quot;vector size not match&quot;</span>);</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordtype">bool</span> reachUpperBound = <span class="keyword">true</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; indices.size(); i++)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; {</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(pairVec[i].first &gt; 0 &amp;&amp; <span class="stringliteral">&quot;number must be greater than 0&quot;</span>);</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (indices[i] &lt; (pairVec[i].first - 1))</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; reachUpperBound = <span class="keyword">false</span>;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; }</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="keywordtype">bool</span> increased = <span class="keyword">false</span>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (reachUpperBound == <span class="keyword">false</span>)</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0;</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="keywordflow">while</span> (increased == <span class="keyword">false</span>)</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordflow">if</span> (indices[i] &lt; (pairVec[i].first - 1))</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; {</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; indices[i] += 1;</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; increased = <span class="keyword">true</span>;</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; }</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; indices[i] = 0;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; i++;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; }</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="keywordflow">return</span> increased;</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160;}</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
670
- <div class="ttc" id="namespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00075">SVFBasicTypes.h:75</a></div></div>
557
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00162">162</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
558
+ <div class="fragment"><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; {</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5a2792b8b914557a9ccf0e57d0ed8b30"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">SVF::LocationSet::offsetValues</a></div><div class="ttdeci">OffsetValueVec offsetValues</div><div class="ttdoc">a vector of actual offset in the form of Values </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
671
559
  </div><!-- fragment -->
672
560
  </div>
673
561
  </div>
@@ -697,38 +585,32 @@ Friends</h2></td></tr>
697
585
 
698
586
  <p>Return TRUE if we share any location in common with RHS. </p>
699
587
 
700
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00224">224</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
701
- <div class="fragment"><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>().intersects(RHS.computeAllLocations());</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::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="LocationSet_8cpp_source.html#l00115">LocationSet.cpp:115</a></div></div>
588
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00174">174</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
589
+ <div class="fragment"><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">computeAllLocations</a>().intersects(RHS.computeAllLocations());</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_afc0f702b6cce26861b409130fe5e019f"><div class="ttname"><a href="classSVF_1_1LocationSet.html#afc0f702b6cce26861b409130fe5e019f">SVF::LocationSet::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="LocationSet_8cpp_source.html#l00065">LocationSet.cpp:65</a></div></div>
702
590
  </div><!-- fragment -->
703
591
  </div>
704
592
  </div>
705
- <a id="a464c14d79a64dc403c2757b3b8520cbd"></a>
706
- <h2 class="memtitle"><span class="permalink"><a href="#a464c14d79a64dc403c2757b3b8520cbd">&#9670;&nbsp;</a></span>isConstantOffset()</h2>
593
+ <a id="a4a9185282308c50f86fdf66f7060373d"></a>
594
+ <h2 class="memtitle"><span class="permalink"><a href="#a4a9185282308c50f86fdf66f7060373d">&#9670;&nbsp;</a></span>isConstantOffset()</h2>
707
595
 
708
596
  <div class="memitem">
709
597
  <div class="memproto">
710
- <table class="mlabels">
711
- <tr>
712
- <td class="mlabels-left">
713
598
  <table class="memname">
714
599
  <tr>
715
- <td class="memname">bool SVF::LocationSet::isConstantOffset </td>
600
+ <td class="memname">bool LocationSet::isConstantOffset </td>
716
601
  <td>(</td>
717
602
  <td class="paramname"></td><td>)</td>
718
603
  <td> const</td>
719
604
  </tr>
720
605
  </table>
721
- </td>
722
- <td class="mlabels-right">
723
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
724
- </tr>
725
- </table>
726
606
  </div><div class="memdoc">
727
607
 
728
608
  <p>Return TRUE if this is a constant location set. </p>
609
+ <p>Return TRUE if all offset values are constants. </p>
729
610
 
730
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00218">218</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
731
- <div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; {</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a>.size() == 0);</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_abb755e95c8b292b3a6f3eff0256d1790"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">SVF::LocationSet::numStridePair</a></div><div class="ttdeci">ElemNumStridePairVec numStridePair</div><div class="ttdoc">element number and stride pair </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00285">LocationSet.h:285</a></div></div>
611
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00053">53</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
612
+ <div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;{</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val : <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>){</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordflow">if</span>(SVFUtil::isa&lt;ConstantInt&gt;(val) == <span class="keyword">false</span>)</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5a2792b8b914557a9ccf0e57d0ed8b30"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">SVF::LocationSet::offsetValues</a></div><div class="ttdeci">OffsetValueVec offsetValues</div><div class="ttdoc">a vector of actual offset in the form of Values </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
613
+ <div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
732
614
  </div><!-- fragment -->
733
615
  </div>
734
616
  </div>
@@ -758,11 +640,10 @@ Friends</h2></td></tr>
758
640
 
759
641
  <p>Overload operators. </p>
760
642
 
761
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00135">135</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
762
- <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#ac07e93a10d3f981c2ef6fcc507118182">LocationSet</a> ls(rhs);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; ls.fldIdx += <a class="code" href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">getOffset</a>();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; ls.byteOffset += <a class="code" href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">getByteOffset</a>();</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; ElemNumStridePairVec::const_iterator it = <a class="code" href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">getNumStridePair</a>().begin();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; ElemNumStridePairVec::const_iterator eit = <a class="code" href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">getNumStridePair</a>().end();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; ls.addElemNumStridePair(*it);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordflow">return</span> ls;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5322dcda48d6980c3f7aafa169fcd77d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5322dcda48d6980c3f7aafa169fcd77d">SVF::LocationSet::getByteOffset</a></div><div class="ttdeci">Size_t getByteOffset() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
763
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac07e93a10d3f981c2ef6fcc507118182"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac07e93a10d3f981c2ef6fcc507118182">SVF::LocationSet::LocationSet</a></div><div class="ttdeci">LocationSet(Size_t o=0)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00105">LocationSet.h:105</a></div></div>
764
- <div class="ttc" id="classSVF_1_1LocationSet_html_ab85c3707152e03722bd631b2525f223e"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ab85c3707152e03722bd631b2525f223e">SVF::LocationSet::getOffset</a></div><div class="ttdeci">Size_t getOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00193">LocationSet.h:193</a></div></div>
765
- <div class="ttc" id="classSVF_1_1LocationSet_html_a3720af92ca2a65f02492e752b07ba241"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">SVF::LocationSet::getNumStridePair</a></div><div class="ttdeci">const ElemNumStridePairVec &amp; getNumStridePair() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00209">LocationSet.h:209</a></div></div>
643
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00104">104</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
644
+ <div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#ac07e93a10d3f981c2ef6fcc507118182">LocationSet</a> ls(rhs);</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; ls.fldIdx += <a class="code" href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">accumulateConstantOffset</a>();</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; OffsetValueVec::const_iterator it = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>().begin();</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; OffsetValueVec::const_iterator eit = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>().end();</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; ls.addOffsetValue(*it);</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> ls;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac07e93a10d3f981c2ef6fcc507118182"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac07e93a10d3f981c2ef6fcc507118182">SVF::LocationSet::LocationSet</a></div><div class="ttdeci">LocationSet(Size_t o=0)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00084">LocationSet.h:84</a></div></div>
645
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac098bc95299002b9016684fa7f2799ca"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac098bc95299002b9016684fa7f2799ca">SVF::LocationSet::accumulateConstantOffset</a></div><div class="ttdeci">Size_t accumulateConstantOffset() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00154">LocationSet.h:154</a></div></div>
646
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec &amp; getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00162">LocationSet.h:162</a></div></div>
766
647
  </div><!-- fragment -->
767
648
  </div>
768
649
  </div>
@@ -790,10 +671,10 @@ Friends</h2></td></tr>
790
671
  </table>
791
672
  </div><div class="memdoc">
792
673
 
793
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00154">154</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
794
- <div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> != rhs.fldIdx)</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> &lt; rhs.fldIdx);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment">// else if (byteOffset != rhs.byteOffset)</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160;<span class="comment">// return (byteOffset &lt; rhs.byteOffset);</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; pairVec = <a class="code" href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">getNumStridePair</a>();</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a>&amp; rhsPairVec = rhs.getNumStridePair();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; ElemNumStridePairVec::const_iterator it = pairVec.begin();</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; ElemNumStridePairVec::const_iterator rhsIt = rhsPairVec.begin();</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; {</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">if</span> ((*it).first != (*rhsIt).first)</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keywordflow">return</span> ((*it).first &lt; (*rhsIt).first);</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*it).second != (*rhsIt).second)</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="keywordflow">return</span> ((*it).second &lt; (*rhsIt).second);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; }</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160;</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; }</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a8eb854480cc3efc1df4e6ebe916990d2"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">SVF::LocationSet::ElemNumStridePairVec</a></div><div class="ttdeci">FieldInfo::ElemNumStridePairVec ElemNumStridePairVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00102">LocationSet.h:102</a></div></div>
795
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
796
- <div class="ttc" id="classSVF_1_1LocationSet_html_a3720af92ca2a65f02492e752b07ba241"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a3720af92ca2a65f02492e752b07ba241">SVF::LocationSet::getNumStridePair</a></div><div class="ttdeci">const ElemNumStridePairVec &amp; getNumStridePair() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00209">LocationSet.h:209</a></div></div>
674
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00121">121</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
675
+ <div class="fragment"><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> != rhs.fldIdx)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> &lt; rhs.fldIdx);</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a>&amp; pairVec = <a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a>&amp; rhsPairVec = rhs.getOffsetValueVec();</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">return</span> (pairVec.size() &lt; rhsPairVec.size());</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; OffsetValueVec::const_iterator it = pairVec.begin();</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; OffsetValueVec::const_iterator rhsIt = rhsPairVec.begin();</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span> (; it != pairVec.end() &amp;&amp; rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordflow">return</span> (*it) &lt; (*rhsIt);</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; }</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9cfbfba21f40feb2cc7e0003d4aaaae5"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">SVF::LocationSet::OffsetValueVec</a></div><div class="ttdeci">std::vector&lt; const Value *&gt; OffsetValueVec</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00081">LocationSet.h:81</a></div></div>
676
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
677
+ <div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec &amp; getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00162">LocationSet.h:162</a></div></div>
797
678
  </div><!-- fragment -->
798
679
  </div>
799
680
  </div>
@@ -821,10 +702,9 @@ Friends</h2></td></tr>
821
702
  </table>
822
703
  </div><div class="memdoc">
823
704
 
824
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00147">147</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
825
- <div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> = rhs.fldIdx;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a> = rhs.byteOffset;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a> = rhs.getNumStridePair();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
826
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
827
- <div class="ttc" id="classSVF_1_1LocationSet_html_abb755e95c8b292b3a6f3eff0256d1790"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">SVF::LocationSet::numStridePair</a></div><div class="ttdeci">ElemNumStridePairVec numStridePair</div><div class="ttdoc">element number and stride pair </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00285">LocationSet.h:285</a></div></div>
705
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00115">115</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
706
+ <div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> = rhs.fldIdx;</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> = rhs.getOffsetValueVec();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5a2792b8b914557a9ccf0e57d0ed8b30"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">SVF::LocationSet::offsetValues</a></div><div class="ttdeci">OffsetValueVec offsetValues</div><div class="ttdoc">a vector of actual offset in the form of Values </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
707
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
828
708
  </div><!-- fragment -->
829
709
  </div>
830
710
  </div>
@@ -852,39 +732,9 @@ Friends</h2></td></tr>
852
732
  </table>
853
733
  </div><div class="memdoc">
854
734
 
855
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00183">183</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
856
- <div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> == rhs.fldIdx</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; &amp;&amp; this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a> == rhs.byteOffset</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; &amp;&amp; this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">numStridePair</a> == rhs.numStridePair;</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
857
- <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
858
- <div class="ttc" id="classSVF_1_1LocationSet_html_abb755e95c8b292b3a6f3eff0256d1790"><div class="ttname"><a href="classSVF_1_1LocationSet.html#abb755e95c8b292b3a6f3eff0256d1790">SVF::LocationSet::numStridePair</a></div><div class="ttdeci">ElemNumStridePairVec numStridePair</div><div class="ttdoc">element number and stride pair </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00285">LocationSet.h:285</a></div></div>
859
- </div><!-- fragment -->
860
- </div>
861
- </div>
862
- <a id="a6c5b8c1a9f765de8bcbefb681ca6a92c"></a>
863
- <h2 class="memtitle"><span class="permalink"><a href="#a6c5b8c1a9f765de8bcbefb681ca6a92c">&#9670;&nbsp;</a></span>setByteOffset()</h2>
864
-
865
- <div class="memitem">
866
- <div class="memproto">
867
- <table class="mlabels">
868
- <tr>
869
- <td class="mlabels-left">
870
- <table class="memname">
871
- <tr>
872
- <td class="memname">void SVF::LocationSet::setByteOffset </td>
873
- <td>(</td>
874
- <td class="paramtype"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a>&#160;</td>
875
- <td class="paramname"><em>os</em></td><td>)</td>
876
- <td></td>
877
- </tr>
878
- </table>
879
- </td>
880
- <td class="mlabels-right">
881
- <span class="mlabels"><span class="mlabel">inline</span></span> </td>
882
- </tr>
883
- </table>
884
- </div><div class="memdoc">
885
-
886
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00205">205</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
887
- <div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; {</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">byteOffset</a> = os;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a9fafaf5f69baa5c125d6c3fd89381301"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a9fafaf5f69baa5c125d6c3fd89381301">SVF::LocationSet::byteOffset</a></div><div class="ttdeci">Size_t byteOffset</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00284">LocationSet.h:284</a></div></div>
735
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00145">145</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
736
+ <div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> == rhs.fldIdx</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; &amp;&amp; this-&gt;<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a> == rhs.offsetValues;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_a5a2792b8b914557a9ccf0e57d0ed8b30"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">SVF::LocationSet::offsetValues</a></div><div class="ttdeci">OffsetValueVec offsetValues</div><div class="ttdoc">a vector of actual offset in the form of Values </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00197">LocationSet.h:197</a></div></div>
737
+ <div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
888
738
  </div><!-- fragment -->
889
739
  </div>
890
740
  </div>
@@ -912,8 +762,8 @@ Friends</h2></td></tr>
912
762
  </table>
913
763
  </div><div class="memdoc">
914
764
 
915
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00201">201</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
916
- <div class="fragment"><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; {</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> = idx;</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">offset relative to base </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00283">LocationSet.h:283</a></div></div>
765
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00158">158</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
766
+ <div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="code" href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">fldIdx</a> = idx;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; }</div><div class="ttc" id="classSVF_1_1LocationSet_html_ac15467bbdc05b9b0fd0398583168811b"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac15467bbdc05b9b0fd0398583168811b">SVF::LocationSet::fldIdx</a></div><div class="ttdeci">Size_t fldIdx</div><div class="ttdoc">Accumulated Constant Offsets. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00196">LocationSet.h:196</a></div></div>
917
767
  </div><!-- fragment -->
918
768
  </div>
919
769
  </div>
@@ -938,37 +788,11 @@ Friends</h2></td></tr>
938
788
  </table>
939
789
  </div><div class="memdoc">
940
790
 
941
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00095">95</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
791
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00074">74</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
942
792
 
943
793
  </div>
944
794
  </div>
945
795
  <h2 class="groupheader">Member Data Documentation</h2>
946
- <a id="a9fafaf5f69baa5c125d6c3fd89381301"></a>
947
- <h2 class="memtitle"><span class="permalink"><a href="#a9fafaf5f69baa5c125d6c3fd89381301">&#9670;&nbsp;</a></span>byteOffset</h2>
948
-
949
- <div class="memitem">
950
- <div class="memproto">
951
- <table class="mlabels">
952
- <tr>
953
- <td class="mlabels-left">
954
- <table class="memname">
955
- <tr>
956
- <td class="memname"><a class="el" href="namespaceSVF.html#a2db29836a72e8d86e9baa6d8d55d2978">Size_t</a> SVF::LocationSet::byteOffset</td>
957
- </tr>
958
- </table>
959
- </td>
960
- <td class="mlabels-right">
961
- <span class="mlabels"><span class="mlabel">private</span></span> </td>
962
- </tr>
963
- </table>
964
- </div><div class="memdoc">
965
-
966
- <p>offset relative to base </p>
967
-
968
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00284">284</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
969
-
970
- </div>
971
- </div>
972
796
  <a id="ac15467bbdc05b9b0fd0398583168811b"></a>
973
797
  <h2 class="memtitle"><span class="permalink"><a href="#ac15467bbdc05b9b0fd0398583168811b">&#9670;&nbsp;</a></span>fldIdx</h2>
974
798
 
@@ -989,14 +813,14 @@ Friends</h2></td></tr>
989
813
  </table>
990
814
  </div><div class="memdoc">
991
815
 
992
- <p>offset relative to base </p>
816
+ <p>Accumulated Constant Offsets. </p>
993
817
 
994
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00283">283</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
818
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00196">196</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
995
819
 
996
820
  </div>
997
821
  </div>
998
- <a id="abb755e95c8b292b3a6f3eff0256d1790"></a>
999
- <h2 class="memtitle"><span class="permalink"><a href="#abb755e95c8b292b3a6f3eff0256d1790">&#9670;&nbsp;</a></span>numStridePair</h2>
822
+ <a id="a5a2792b8b914557a9ccf0e57d0ed8b30"></a>
823
+ <h2 class="memtitle"><span class="permalink"><a href="#a5a2792b8b914557a9ccf0e57d0ed8b30">&#9670;&nbsp;</a></span>offsetValues</h2>
1000
824
 
1001
825
  <div class="memitem">
1002
826
  <div class="memproto">
@@ -1005,7 +829,7 @@ Friends</h2></td></tr>
1005
829
  <td class="mlabels-left">
1006
830
  <table class="memname">
1007
831
  <tr>
1008
- <td class="memname"><a class="el" href="classSVF_1_1LocationSet.html#a8eb854480cc3efc1df4e6ebe916990d2">ElemNumStridePairVec</a> SVF::LocationSet::numStridePair</td>
832
+ <td class="memname"><a class="el" href="classSVF_1_1LocationSet.html#a9cfbfba21f40feb2cc7e0003d4aaaae5">OffsetValueVec</a> SVF::LocationSet::offsetValues</td>
1009
833
  </tr>
1010
834
  </table>
1011
835
  </td>
@@ -1015,9 +839,9 @@ Friends</h2></td></tr>
1015
839
  </table>
1016
840
  </div><div class="memdoc">
1017
841
 
1018
- <p>element number and stride pair </p>
842
+ <p>a vector of actual offset in the form of Values </p>
1019
843
 
1020
- <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00285">285</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
844
+ <p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00197">197</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
1021
845
 
1022
846
  </div>
1023
847
  </div>