svf-tools 1.0.400 → 1.0.403

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 (171) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
  3. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
  5. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -2
  6. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/CSC_8h_source.html +2 -2
  8. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +2 -2
  11. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  13. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
  15. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  16. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -1
  17. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
  20. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  21. package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
  22. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +2 -2
  24. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +2 -2
  25. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -2
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +7 -7
  28. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  30. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  33. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  34. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  36. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  37. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  38. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  39. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  40. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  41. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  42. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -6
  43. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  44. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
  45. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  47. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +5 -5
  48. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  49. package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +8 -8
  51. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +1 -1
  52. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +4 -4
  53. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  54. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  56. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  58. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +2 -2
  61. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  62. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  63. package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +2 -2
  64. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +1 -1
  65. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  76. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  77. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  82. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +2 -2
  83. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +2 -2
  84. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  86. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +5 -5
  87. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -3
  89. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  92. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +2 -2
  93. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  94. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  95. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
  97. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +7 -7
  102. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  104. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +12 -12
  112. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +3 -3
  116. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  117. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +4 -4
  119. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  120. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +45 -45
  134. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
  135. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +2 -2
  136. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  137. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  143. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +4 -4
  144. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +1 -1
  145. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  152. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +1 -1
  160. package/SVF-doxygen/html/html/namespaceSVF.html +5 -5
  161. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -2
  162. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  163. package/SVF-doxygen/html/html/namespacemembers_s.html +1 -1
  164. package/SVF-doxygen/html/html/namespacemembers_type_s.html +1 -1
  165. package/SVF-doxygen/html/html/search/all_13.js +1 -1
  166. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  167. package/include/Util/SVFBasicTypes.h +1 -1
  168. package/lib/SVF-FE/CPPUtil.cpp +2 -2
  169. package/lib/SVF-FE/LLVMModule.cpp +1 -1
  170. package/lib/SVF-FE/SVFIRBuilder.cpp +4 -0
  171. package/package.json +1 -1
@@ -93,7 +93,7 @@ Public Types</h2></td></tr>
93
93
  </table><table class="memberdecls">
94
94
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
95
95
  Public Member Functions</h2></td></tr>
96
- <tr class="memitem:a7fb1dbff5cf3ec18977cc92ae9800d47"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a7fb1dbff5cf3ec18977cc92ae9800d47">LocationSet</a> (<a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> o=0)</td></tr>
96
+ <tr class="memitem:a7fb1dbff5cf3ec18977cc92ae9800d47"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a7fb1dbff5cf3ec18977cc92ae9800d47">LocationSet</a> (<a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> o=0)</td></tr>
97
97
  <tr class="memdesc:a7fb1dbff5cf3ec18977cc92ae9800d47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="#a7fb1dbff5cf3ec18977cc92ae9800d47">More...</a><br /></td></tr>
98
98
  <tr class="separator:a7fb1dbff5cf3ec18977cc92ae9800d47"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
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,7 +101,7 @@ Public Member Functions</h2></td></tr>
101
101
  <tr class="separator:a290c7fe38704552fd66ad06e5deeaca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
102
  <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>
103
103
  <tr class="separator:a00ae12aee8018f1eb88f011e52762be9"><td class="memSeparator" colspan="2">&#160;</td></tr>
104
- <tr class="memitem:a216afe1a2481c57b278549732d5e185e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a216afe1a2481c57b278549732d5e185e">accumulateConstantOffset</a> () const</td></tr>
104
+ <tr class="memitem:a216afe1a2481c57b278549732d5e185e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a216afe1a2481c57b278549732d5e185e">accumulateConstantOffset</a> () const</td></tr>
105
105
  <tr class="memdesc:a216afe1a2481c57b278549732d5e185e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return accumulated constant offset given OffsetValueVec. <a href="#a216afe1a2481c57b278549732d5e185e">More...</a><br /></td></tr>
106
106
  <tr class="separator:a216afe1a2481c57b278549732d5e185e"><td class="memSeparator" colspan="2">&#160;</td></tr>
107
107
  <tr class="memitem:ac66b56e1fa180be9b09d7bfe653ff311"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a> (const <a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *type) const</td></tr>
@@ -129,10 +129,10 @@ Public Member Functions</h2></td></tr>
129
129
  <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>
130
130
  <tr class="separator:a1b141afb9a38d12423f66b2dfe6bf232"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
131
  <tr><td colspan="2"><div class="groupHeader"></div></td></tr>
132
- <tr class="memitem:ab987c41ffdae931d941f89d03ed09146"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ab987c41ffdae931d941f89d03ed09146">accumulateConstantFieldIdx</a> () const</td></tr>
132
+ <tr class="memitem:ab987c41ffdae931d941f89d03ed09146"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#ab987c41ffdae931d941f89d03ed09146">accumulateConstantFieldIdx</a> () const</td></tr>
133
133
  <tr class="memdesc:ab987c41ffdae931d941f89d03ed09146"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get methods. <a href="#ab987c41ffdae931d941f89d03ed09146">More...</a><br /></td></tr>
134
134
  <tr class="separator:ab987c41ffdae931d941f89d03ed09146"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
- <tr class="memitem:a15f6175372a785205c5f959b370c83b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a15f6175372a785205c5f959b370c83b5">setFldIdx</a> (<a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> idx)</td></tr>
135
+ <tr class="memitem:a15f6175372a785205c5f959b370c83b5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a15f6175372a785205c5f959b370c83b5">setFldIdx</a> (<a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> idx)</td></tr>
136
136
  <tr class="separator:a15f6175372a785205c5f959b370c83b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
137
137
  <tr class="memitem:a5a5ca0b81da0b34ab426bc6a28ed346c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a> () const</td></tr>
138
138
  <tr class="separator:a5a5ca0b81da0b34ab426bc6a28ed346c"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -148,7 +148,7 @@ Private Member Functions</h2></td></tr>
148
148
  </table><table class="memberdecls">
149
149
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
150
150
  Private Attributes</h2></td></tr>
151
- <tr class="memitem:a1937e1b9513135cb46c7f3f02fbe7d03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a1937e1b9513135cb46c7f3f02fbe7d03">fldIdx</a></td></tr>
151
+ <tr class="memitem:a1937e1b9513135cb46c7f3f02fbe7d03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a1937e1b9513135cb46c7f3f02fbe7d03">fldIdx</a></td></tr>
152
152
  <tr class="memdesc:a1937e1b9513135cb46c7f3f02fbe7d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">Accumulated Constant Offsets. <a href="#a1937e1b9513135cb46c7f3f02fbe7d03">More...</a><br /></td></tr>
153
153
  <tr class="separator:a1937e1b9513135cb46c7f3f02fbe7d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
154
  <tr class="memitem:a5a2792b8b914557a9ccf0e57d0ed8b30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1LocationSet.html#a9bb7e08f7cfb2859d25b0e68e21fec89">OffsetValueVec</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a></td></tr>
@@ -222,7 +222,7 @@ Friends</h2></td></tr>
222
222
  <tr>
223
223
  <td class="memname">SVF::LocationSet::LocationSet </td>
224
224
  <td>(</td>
225
- <td class="paramtype"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td>
225
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td>
226
226
  <td class="paramname"><em>o</em> = <code>0</code></td><td>)</td>
227
227
  <td></td>
228
228
  </tr>
@@ -311,7 +311,7 @@ Friends</h2></td></tr>
311
311
  <td class="mlabels-left">
312
312
  <table class="memname">
313
313
  <tr>
314
- <td class="memname"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> SVF::LocationSet::accumulateConstantFieldIdx </td>
314
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> SVF::LocationSet::accumulateConstantFieldIdx </td>
315
315
  <td>(</td>
316
316
  <td class="paramname"></td><td>)</td>
317
317
  <td> const</td>
@@ -338,7 +338,7 @@ Friends</h2></td></tr>
338
338
  <div class="memproto">
339
339
  <table class="memname">
340
340
  <tr>
341
- <td class="memname"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> LocationSet::accumulateConstantOffset </td>
341
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> LocationSet::accumulateConstantOffset </td>
342
342
  <td>(</td>
343
343
  <td class="paramname"></td><td>)</td>
344
344
  <td> const</td>
@@ -352,19 +352,19 @@ Friends</h2></td></tr>
352
352
  <p>"value" is the offset variable (must be a constant) "type" is the location where we want to compute offset Given a vector: [(value1,type1), (value2,type2), (value3,type3)] totalConstOffset = flattenOffset(value1,type1) * flattenOffset(type2,type2) + flattenOffset(type3,type3) For a pointer type (e.g., t1 is PointerType), we will retrieve the pointee type and times the offset, i.e., getElementNum(t1) X off1%5 = getelementptr inbounds struct.Student, struct.Student* %4, i64 1 value1: i64 1 type1: struct.Student* accumulateConstantOffset = 32 %6 = getelementptr inbounds struct.Student, struct.Student* %5, i32 0, i32 1 value1: i32 0 type1: struct.Student* value2: i32 1 type2: struct.Student = type { struct.inner, [10 x [3 x i8]] } accumulateConstantOffset = 2 %7 = getelementptr inbounds [10 x [3 x i8]], [10 x [3 x i8]]* %6, i64 0, i64 3 value1: i64 0 type1: [10 x [3 x i8]]* value2: i64 3 type2: [10 x [3 x i8]] accumulateConstantOffset = 9 %8 = getelementptr inbounds [3 x i8], [3 x i8]* %7, i64 0, i64 2 value1: i64 0 type1: [3 x i8]* value2: i64 2 type2: [3 x i8] accumulateConstantOffset = 2 </p>
353
353
 
354
354
  <p class="definition">Definition at line <a class="el" href="LocationSet_8cpp_source.html#l00111">111</a> of file <a class="el" href="LocationSet_8cpp_source.html">LocationSet.cpp</a>.</p>
355
- <div class="fragment"><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; </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.empty())</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#ab987c41ffdae931d941f89d03ed09146">accumulateConstantFieldIdx</a>();</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#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> totalConstOffset = 0;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.size() - 1; i &gt;= 0; i--){</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].first;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].second;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *op = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(value);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span>(type==<span class="keyword">nullptr</span>){</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; totalConstOffset += op-&gt;getSExtValue();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">continue</span>;</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;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; totalConstOffset += op-&gt;getSExtValue() * <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(pty-&gt;getElementType());</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; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offset = op-&gt;getSExtValue();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a6fe89e9d6c18a6aff6dffc1c78d08dff">getFlattenedElemIdx</a>(type, offset); </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; totalConstOffset += flattenOffset;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</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> totalConstOffset;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a4a9185282308c50f86fdf66f7060373d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">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_8cpp_source.html#l00049">LocationSet.cpp:49</a></div></div>
355
+ <div class="fragment"><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; </div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<a class="code" href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">isConstantOffset</a>() &amp;&amp; <span class="stringliteral">&quot;not a constant offset&quot;</span>);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.empty())</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LocationSet.html#ab987c41ffdae931d941f89d03ed09146">accumulateConstantFieldIdx</a>();</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#ad781b0b14e89773e774072b280658ef3">s64_t</a> totalConstOffset = 0;</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>.size() - 1; i &gt;= 0; i--){</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].first;</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* type = <a class="code" href="classSVF_1_1LocationSet.html#a5a2792b8b914557a9ccf0e57d0ed8b30">offsetValues</a>[i].second;</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *op = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(value);</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(op &amp;&amp; <span class="stringliteral">&quot;not a constant offset?&quot;</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keywordflow">if</span>(type==<span class="keyword">nullptr</span>){</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; totalConstOffset += op-&gt;getSExtValue();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">continue</span>;</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;</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty = SVFUtil::dyn_cast&lt;PointerType&gt;(type))</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; totalConstOffset += op-&gt;getSExtValue() * <a class="code" href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">getElementNum</a>(pty-&gt;getElementType());</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; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> offset = op-&gt;getSExtValue();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-&gt;<a class="code" href="classSVF_1_1SymbolTableInfo.html#a6fe89e9d6c18a6aff6dffc1c78d08dff">getFlattenedElemIdx</a>(type, offset); </div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; totalConstOffset += flattenOffset;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; }</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> totalConstOffset;</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160;}</div><div class="ttc" id="classSVF_1_1LocationSet_html_a4a9185282308c50f86fdf66f7060373d"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a4a9185282308c50f86fdf66f7060373d">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_8cpp_source.html#l00049">LocationSet.cpp:49</a></div></div>
356
356
  <div class="ttc" id="classSVF_1_1LocationSet_html_ab987c41ffdae931d941f89d03ed09146"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ab987c41ffdae931d941f89d03ed09146">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s64_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
357
357
  <div class="ttc" id="namespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
358
358
  <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>
359
359
  <div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
360
360
  <div class="ttc" id="namespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00119">BasicTypes.h:119</a></div></div>
361
361
  <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#l00077">SVFBasicTypes.h:77</a></div></div>
362
- <div class="ttc" id="namespaceSVF_html_abe09d99af006554a5c00803e9a89f9a6"><div class="ttname"><a href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">SVF::s64_t</a></div><div class="ttdeci">signed s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00080">SVFBasicTypes.h:80</a></div></div>
363
362
  <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#l00133">LocationSet.h:133</a></div></div>
364
363
  <div class="ttc" id="classSVF_1_1LocationSet_html_ac66b56e1fa180be9b09d7bfe653ff311"><div class="ttname"><a href="classSVF_1_1LocationSet.html#ac66b56e1fa180be9b09d7bfe653ff311">SVF::LocationSet::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const Type *type) const</div><div class="ttdoc">Return element number of a type. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8cpp_source.html#l00062">LocationSet.cpp:62</a></div></div>
365
364
  <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis. ...</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00107">SymbolTableInfo.cpp:107</a></div></div>
366
365
  <div class="ttc" id="classSVF_1_1SymbolTableInfo_html_a6fe89e9d6c18a6aff6dffc1c78d08dff"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a6fe89e9d6c18a6aff6dffc1c78d08dff">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const Type *T, s64_t origId)</div><div class="ttdoc">Flatterned element idx of an array or struct by considering stride. </div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00408">SymbolTableInfo.cpp:408</a></div></div>
367
366
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if&lt;!is_simple_type&lt; Y &gt;::value, typename cast_retty&lt; X, const Y &gt;::ret_type &gt;::type dyn_cast(const Y &amp;Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
367
+ <div class="ttc" id="namespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00080">SVFBasicTypes.h:80</a></div></div>
368
368
  <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="Util_2BasicTypes_8h_source.html#l00076">BasicTypes.h:76</a></div></div>
369
369
  </div><!-- fragment -->
370
370
  </div>
@@ -741,7 +741,7 @@ Friends</h2></td></tr>
741
741
  <tr>
742
742
  <td class="memname">void SVF::LocationSet::setFldIdx </td>
743
743
  <td>(</td>
744
- <td class="paramtype"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td>
744
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td>
745
745
  <td class="paramname"><em>idx</em></td><td>)</td>
746
746
  <td></td>
747
747
  </tr>
@@ -794,7 +794,7 @@ Friends</h2></td></tr>
794
794
  <td class="mlabels-left">
795
795
  <table class="memname">
796
796
  <tr>
797
- <td class="memname"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> SVF::LocationSet::fldIdx</td>
797
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> SVF::LocationSet::fldIdx</td>
798
798
  </tr>
799
799
  </table>
800
800
  </td>
@@ -261,7 +261,7 @@ Additional Inherited Members</h2></td></tr>
261
261
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
262
262
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
263
263
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
264
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
264
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
265
265
  <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
266
266
  <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
267
267
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
@@ -141,7 +141,7 @@ Public Types</h2></td></tr>
141
141
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
142
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
143
143
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
144
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
144
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
145
145
  <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
146
146
  <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
147
147
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
@@ -130,7 +130,7 @@ Public Types</h2></td></tr>
130
130
  <tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
131
  <tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
132
132
  <tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
133
+ <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
134
134
  <tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
135
  <tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
136
136
  <tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the hash function for std::set (we also can overload operator&lt; to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
@@ -93,7 +93,7 @@ Public Member Functions</h2></td></tr>
93
93
  <tr class="memitem:ac469605b74fa8cd38e1959c8b948864b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1LocationSet.html">LocationSet</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NormalGepCGEdge.html#ac469605b74fa8cd38e1959c8b948864b">getLocationSet</a> () const</td></tr>
94
94
  <tr class="memdesc:ac469605b74fa8cd38e1959c8b948864b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get location set of the gep edge. <a href="#ac469605b74fa8cd38e1959c8b948864b">More...</a><br /></td></tr>
95
95
  <tr class="separator:ac469605b74fa8cd38e1959c8b948864b"><td class="memSeparator" colspan="2">&#160;</td></tr>
96
- <tr class="memitem:a710e0791e92cca74da3df03ad5278c55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NormalGepCGEdge.html#a710e0791e92cca74da3df03ad5278c55">getConstantFieldIdx</a> () const</td></tr>
96
+ <tr class="memitem:a710e0791e92cca74da3df03ad5278c55"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1NormalGepCGEdge.html#a710e0791e92cca74da3df03ad5278c55">getConstantFieldIdx</a> () const</td></tr>
97
97
  <tr class="memdesc:a710e0791e92cca74da3df03ad5278c55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get location set of the gep edge. <a href="#a710e0791e92cca74da3df03ad5278c55">More...</a><br /></td></tr>
98
98
  <tr class="separator:a710e0791e92cca74da3df03ad5278c55"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
99
  <tr class="inherit_header pub_methods_classSVF_1_1ConstraintEdge"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classSVF_1_1ConstraintEdge')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></td></tr>
@@ -193,7 +193,7 @@ Additional Inherited Members</h2></td></tr>
193
193
  <tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
194
194
  <tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
195
195
  <tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
196
- <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
196
+ <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
197
197
  <tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
198
198
  <tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
199
199
  <tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the hash function for std::set (we also can overload operator&lt; to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
@@ -452,7 +452,7 @@ Additional Inherited Members</h2></td></tr>
452
452
  <td class="mlabels-left">
453
453
  <table class="memname">
454
454
  <tr>
455
- <td class="memname"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> SVF::NormalGepCGEdge::getConstantFieldIdx </td>
455
+ <td class="memname"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> SVF::NormalGepCGEdge::getConstantFieldIdx </td>
456
456
  <td>(</td>
457
457
  <td class="paramname"></td><td>)</td>
458
458
  <td> const</td>
@@ -251,7 +251,7 @@ Additional Inherited Members</h2></td></tr>
251
251
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
252
252
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
253
253
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
254
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
254
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
255
255
  <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
256
256
  <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
257
257
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
@@ -282,7 +282,7 @@ Additional Inherited Members</h2></td></tr>
282
282
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
283
283
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
284
284
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
285
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
285
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
286
286
  <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
287
287
  <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
288
288
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
@@ -90,7 +90,7 @@ Public Member Functions</h2></td></tr>
90
90
  <tr class="memitem:ac5a5058088d03fc9e0e8a0ed8b4367aa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classSVF_1_1SVFIR.html">SVFIR</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PAGBuilderFromFile.html#ac5a5058088d03fc9e0e8a0ed8b4367aa">build</a> ()</td></tr>
91
91
  <tr class="memdesc:ac5a5058088d03fc9e0e8a0ed8b4367aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Start building. <a href="#ac5a5058088d03fc9e0e8a0ed8b4367aa">More...</a><br /></td></tr>
92
92
  <tr class="separator:ac5a5058088d03fc9e0e8a0ed8b4367aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
93
- <tr class="memitem:ac34cd4f9426da0325e67bc1b3d7bcecd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PAGBuilderFromFile.html#ac34cd4f9426da0325e67bc1b3d7bcecd">addEdge</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeSrc, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeDst, <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offset, std::string edge)</td></tr>
93
+ <tr class="memitem:ac34cd4f9426da0325e67bc1b3d7bcecd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PAGBuilderFromFile.html#ac34cd4f9426da0325e67bc1b3d7bcecd">addEdge</a> (<a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeSrc, <a class="el" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeDst, <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> offset, std::string edge)</td></tr>
94
94
  <tr class="separator:ac34cd4f9426da0325e67bc1b3d7bcecd"><td class="memSeparator" colspan="2">&#160;</td></tr>
95
95
  </table><table class="memberdecls">
96
96
  <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
@@ -189,7 +189,7 @@ Private Attributes</h2></td></tr>
189
189
  <tr>
190
190
  <td class="paramkey"></td>
191
191
  <td></td>
192
- <td class="paramtype"><a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td>
192
+ <td class="paramtype"><a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td>
193
193
  <td class="paramname"><em>offsetOrCSId</em>, </td>
194
194
  </tr>
195
195
  <tr>
@@ -248,14 +248,13 @@ Private Attributes</h2></td></tr>
248
248
  <p>new gep node's id from lower bound, nodeNum may not reflect the total nodes. </p>
249
249
 
250
250
  <p class="definition">Definition at line <a class="el" href="PAGBuilderFromFile_8cpp_source.html#l00059">59</a> of file <a class="el" href="PAGBuilderFromFile_8cpp_source.html">PAGBuilderFromFile.cpp</a>.</p>
251
- <div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</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; <span class="keywordtype">string</span> line;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; ifstream myfile(<a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a9ce304b448de65fbde586655dce885a4">file</a>.c_str());</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (myfile.is_open())</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; <span class="keywordflow">while</span> (myfile.good())</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; getline(myfile, line);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> token_count = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">string</span> tmps;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; istringstream ss(line);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">while</span> (ss.good())</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; ss &gt;&gt; tmps;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; token_count++;</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;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (token_count == 0)</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (token_count == 2)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">string</span> nodetype;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; istringstream ss(line);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; ss &gt;&gt; nodeId;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; ss &gt;&gt; nodetype;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;reading node :&quot;</span> &lt;&lt; nodeId &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (nodetype == <span class="stringliteral">&quot;v&quot;</span>)</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">addDummyValNode</a>(nodeId);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodetype == <span class="stringliteral">&quot;o&quot;</span>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a4ee79c74a7a2cea5c063fa598ab89532">addDummyMemObj</a>(nodeId, <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a06465449e58e14bfb1c3eee2c97d3242">addFIObjNode</a>(mem);</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; <span class="keywordflow">else</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;format not support, pls specify node type&quot;</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;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// do consider gep edge</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (token_count == 4)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeSrc;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeDst;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a> offsetOrCSId;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">string</span> edge;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; istringstream ss(line);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; ss &gt;&gt; nodeSrc;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; ss &gt;&gt; edge;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; ss &gt;&gt; nodeDst;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; ss &gt;&gt; offsetOrCSId;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;reading edge :&quot;</span> &lt;&lt; nodeSrc &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; edge &lt;&lt; <span class="stringliteral">&quot; &quot;</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; &lt;&lt; nodeDst &lt;&lt; <span class="stringliteral">&quot; offsetOrCSId=&quot;</span> &lt;&lt; offsetOrCSId &lt;&lt; <span class="stringliteral">&quot; \n&quot;</span>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#ac34cd4f9426da0325e67bc1b3d7bcecd">addEdge</a>(nodeSrc, nodeDst, offsetOrCSId, edge);</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (!line.empty())</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; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;format not supported, token count = &quot;</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; &lt;&lt; token_count &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;format not supported&quot;</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</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; myfile.close();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Unable to open file\n&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</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> lower_bound = <a class="code" href="PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40">gepNodeNumIndex</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; lower_bound; i++)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a7388dabef7300e77adf33f3999639f21">incNodeNum</a>();</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; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a5fe12445ed0528183775747dec356db0">setNodeNumAfterPAGBuild</a>(<a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</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> <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00407">SymbolTableInfo.h:407</a></div></div>
251
+ <div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160;{</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; <span class="keywordtype">string</span> line;</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; ifstream myfile(<a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a9ce304b448de65fbde586655dce885a4">file</a>.c_str());</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">if</span> (myfile.is_open())</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; <span class="keywordflow">while</span> (myfile.good())</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; getline(myfile, line);</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> token_count = 0;</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">string</span> tmps;</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; istringstream ss(line);</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">while</span> (ss.good())</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; {</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; ss &gt;&gt; tmps;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; token_count++;</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;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (token_count == 0)</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (token_count == 2)</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeId;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordtype">string</span> nodetype;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; istringstream ss(line);</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; ss &gt;&gt; nodeId;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; ss &gt;&gt; nodetype;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;reading node :&quot;</span> &lt;&lt; nodeId &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">if</span> (nodetype == <span class="stringliteral">&quot;v&quot;</span>)</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">addDummyValNode</a>(nodeId);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (nodetype == <span class="stringliteral">&quot;o&quot;</span>)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a>* mem = <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a4ee79c74a7a2cea5c063fa598ab89532">addDummyMemObj</a>(nodeId, <span class="keyword">nullptr</span>);</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1SVFIR.html#a06465449e58e14bfb1c3eee2c97d3242">addFIObjNode</a>(mem);</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; <span class="keywordflow">else</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;format not support, pls specify node type&quot;</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;</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="comment">// do consider gep edge</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">else</span> <span class="keywordflow">if</span> (token_count == 4)</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeSrc;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> nodeDst;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> offsetOrCSId;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">string</span> edge;</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; istringstream ss(line);</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; ss &gt;&gt; nodeSrc;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; ss &gt;&gt; edge;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; ss &gt;&gt; nodeDst;</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; ss &gt;&gt; offsetOrCSId;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;reading edge :&quot;</span> &lt;&lt; nodeSrc &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; edge &lt;&lt; <span class="stringliteral">&quot; &quot;</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; &lt;&lt; nodeDst &lt;&lt; <span class="stringliteral">&quot; offsetOrCSId=&quot;</span> &lt;&lt; offsetOrCSId &lt;&lt; <span class="stringliteral">&quot; \n&quot;</span>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#ac34cd4f9426da0325e67bc1b3d7bcecd">addEdge</a>(nodeSrc, nodeDst, offsetOrCSId, edge);</div><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; <span class="keywordflow">else</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">if</span> (!line.empty())</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; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;format not supported, token count = &quot;</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; &lt;&lt; token_count &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;format not supported&quot;</span>);</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</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; myfile.close();</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; <span class="keywordflow">else</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">outs</a>() &lt;&lt; <span class="stringliteral">&quot;Unable to open file\n&quot;</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</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> lower_bound = <a class="code" href="PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40">gepNodeNumIndex</a>;</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i &lt; lower_bound; i++)</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a7388dabef7300e77adf33f3999639f21">incNodeNum</a>();</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; <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1IRGraph.html#a5fe12445ed0528183775747dec356db0">setNodeNumAfterPAGBuild</a>(<a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>-&gt;<a class="code" href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">getTotalNodeNum</a>());</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> <a class="code" href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">pag</a>;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</div><div class="ttc" id="classSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00407">SymbolTableInfo.h:407</a></div></div>
252
252
  <div class="ttc" id="classSVF_1_1SVFIR_html_aa7e98cd2fd599aedefa4c2e6fb659da0"><div class="ttname"><a href="classSVF_1_1SVFIR.html#aa7e98cd2fd599aedefa4c2e6fb659da0">SVF::SVFIR::addDummyValNode</a></div><div class="ttdeci">NodeID addDummyValNode()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00429">SVFIR.h:429</a></div></div>
253
253
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a8c8d16036008f87c7811586047599858"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a8c8d16036008f87c7811586047599858">SVF::GenericGraph::getTotalNodeNum</a></div><div class="ttdeci">u32_t getTotalNodeNum() const</div><div class="ttdoc">Get total number of node/edge. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00414">GenericGraph.h:414</a></div></div>
254
254
  <div class="ttc" id="PAGBuilderFromFile_8cpp_html_a1af3947dbaf1ad4364bc4818f70ead40"><div class="ttname"><a href="PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40">gepNodeNumIndex</a></div><div class="ttdeci">static u32_t gepNodeNumIndex</div><div class="ttdef"><b>Definition:</b> <a href="PAGBuilderFromFile_8cpp_source.html#l00038">PAGBuilderFromFile.cpp:38</a></div></div>
255
255
  <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>
256
256
  <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>
257
257
  <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#l00077">SVFBasicTypes.h:77</a></div></div>
258
- <div class="ttc" id="namespaceSVF_html_abe09d99af006554a5c00803e9a89f9a6"><div class="ttname"><a href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">SVF::s64_t</a></div><div class="ttdeci">signed s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00080">SVFBasicTypes.h:80</a></div></div>
259
258
  <div class="ttc" id="classSVF_1_1PAGBuilderFromFile_html_a79f00ac0ee4a67beec6e7ef45c504e4d"><div class="ttname"><a href="classSVF_1_1PAGBuilderFromFile.html#a79f00ac0ee4a67beec6e7ef45c504e4d">SVF::PAGBuilderFromFile::pag</a></div><div class="ttdeci">SVFIR * pag</div><div class="ttdef"><b>Definition:</b> <a href="PAGBuilderFromFile_8h_source.html#l00045">PAGBuilderFromFile.h:45</a></div></div>
260
259
  <div class="ttc" id="classSVF_1_1PAGBuilderFromFile_html_a9ce304b448de65fbde586655dce885a4"><div class="ttname"><a href="classSVF_1_1PAGBuilderFromFile.html#a9ce304b448de65fbde586655dce885a4">SVF::PAGBuilderFromFile::file</a></div><div class="ttdeci">std::string file</div><div class="ttdef"><b>Definition:</b> <a href="PAGBuilderFromFile_8h_source.html#l00046">PAGBuilderFromFile.h:46</a></div></div>
261
260
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream &amp; outs()</div><div class="ttdoc">Overwrite llvm::outs() </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00049">SVFUtil.h:49</a></div></div>
@@ -263,6 +262,7 @@ Private Attributes</h2></td></tr>
263
262
  <div class="ttc" id="classSVF_1_1GenericGraph_html_a7388dabef7300e77adf33f3999639f21"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a7388dabef7300e77adf33f3999639f21">SVF::GenericGraph::incNodeNum</a></div><div class="ttdeci">void incNodeNum()</div><div class="ttdoc">Increase number of node/edge. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00423">GenericGraph.h:423</a></div></div>
264
263
  <div class="ttc" id="classSVF_1_1IRGraph_html_a5fe12445ed0528183775747dec356db0"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a5fe12445ed0528183775747dec356db0">SVF::IRGraph::setNodeNumAfterPAGBuild</a></div><div class="ttdeci">void setNodeNumAfterPAGBuild(u32_t num)</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00181">IRGraph.h:181</a></div></div>
265
264
  <div class="ttc" id="classSVF_1_1SVFIR_html_a06465449e58e14bfb1c3eee2c97d3242"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a06465449e58e14bfb1c3eee2c97d3242">SVF::SVFIR::addFIObjNode</a></div><div class="ttdeci">NodeID addFIObjNode(const MemObj *obj)</div><div class="ttdoc">Add a field-insensitive node, this method can only invoked by getFIGepObjNode. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8cpp_source.html#l00468">SVFIR.cpp:468</a></div></div>
265
+ <div class="ttc" id="namespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00080">SVFBasicTypes.h:80</a></div></div>
266
266
  <div class="ttc" id="classSVF_1_1SVFIR_html_a4ee79c74a7a2cea5c063fa598ab89532"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a4ee79c74a7a2cea5c063fa598ab89532">SVF::SVFIR::addDummyMemObj</a></div><div class="ttdeci">const MemObj * addDummyMemObj(NodeID i, const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00542">SVFIR.h:542</a></div></div>
267
267
  </div><!-- fragment -->
268
268
  </div>
@@ -140,7 +140,7 @@ Public Types</h2></td></tr>
140
140
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
141
141
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
142
142
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
143
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
143
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
144
144
  <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
145
145
  <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
146
146
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
@@ -105,7 +105,7 @@ Public Types</h2></td></tr>
105
105
  <tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
106
106
  <tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
107
107
  <tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
108
- <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
108
+ <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
109
109
  <tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
110
110
  <tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
111
111
  <tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the hash function for std::set (we also can overload operator&lt; to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
@@ -96,7 +96,7 @@ Public Types</h2></td></tr>
96
96
  <tr class="separator:ad63e862eb1d1369bd69318fe698e4a22 inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
97
97
  <tr class="memitem:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef EdgeTy&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a></td></tr>
98
98
  <tr class="separator:a458c626543431b4314f5f4f532eb51de inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
99
- <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
99
+ <tr class="memitem:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">GNodeK</a></td></tr>
100
100
  <tr class="memdesc:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge kind. <a href="classSVF_1_1GenericNode.html#a3f20339b5295e11beb0f9adb95c7aa5b">More...</a><br /></td></tr>
101
101
  <tr class="separator:a3f20339b5295e11beb0f9adb95c7aa5b inherit pub_types_classSVF_1_1GenericNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
102
102
  <tr class="memitem:a03c6da4a73c47f84f5c5b47252bc339a inherit pub_types_classSVF_1_1GenericNode"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">OrderedSet</a>&lt; <a class="el" href="classSVF_1_1GenericNode.html#a458c626543431b4314f5f4f532eb51de">EdgeType</a> *, typename EdgeType::equalGEdge &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericNode.html#a03c6da4a73c47f84f5c5b47252bc339a">GEdgeSetTy</a></td></tr>
@@ -130,7 +130,7 @@ Public Types</h2></td></tr>
130
130
  <tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
131
131
  <tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
132
132
  <tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
- <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
133
+ <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
134
134
  <tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
135
135
  <tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
136
136
  <tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the hash function for std::set (we also can overload operator&lt; to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
@@ -178,7 +178,7 @@ Additional Inherited Members</h2></td></tr>
178
178
  <tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
179
179
  <tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
180
180
  <tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
181
- <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
181
+ <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
182
182
  <tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
183
183
  <tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
184
184
  <tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the hash function for std::set (we also can overload operator&lt; to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>
@@ -204,7 +204,7 @@ Additional Inherited Members</h2></td></tr>
204
204
  <tr class="separator:aff95460d4b859e657a9198b7c5e5c736 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
205
205
  <tr class="memitem:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a></td></tr>
206
206
  <tr class="separator:aab8892b73370c32b48621cd1d0cce614 inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
207
- <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#abe09d99af006554a5c00803e9a89f9a6">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
207
+ <tr class="memitem:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a></td></tr>
208
208
  <tr class="separator:a5aceeb48929f54264807b36569019a8a inherit pub_types_classSVF_1_1GenericEdge"><td class="memSeparator" colspan="2">&#160;</td></tr>
209
209
  <tr class="memitem:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSVF_1_1GenericEdge_1_1equalGEdge.html">SVF::GenericEdge::equalGEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">equalGEdge</a></td></tr>
210
210
  <tr class="memdesc:a69accb303ee67733e065350e4452cbca inherit pub_types_classSVF_1_1GenericEdge"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the hash function for std::set (we also can overload operator&lt; to implement this) <a href="classSVF_1_1GenericEdge.html#a69accb303ee67733e065350e4452cbca">More...</a><br /></td></tr>