svf-tools 1.0.309 → 1.0.310

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 (137) hide show
  1. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
  2. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +1 -1
  4. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -5
  6. package/SVF-doxygen/html/html/BasicTypes_8h_source.html +6 -6
  7. package/SVF-doxygen/html/html/CHG_8cpp_source.html +5 -5
  8. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +5 -5
  9. package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
  11. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +1 -1
  12. package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +4 -4
  13. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  14. package/SVF-doxygen/html/html/ExternalPAG_8cpp_source.html +1 -1
  15. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +3 -3
  16. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +5 -5
  17. package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +1 -1
  19. package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +1 -1
  20. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
  21. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -3
  22. package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +1 -1
  23. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
  24. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
  25. package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
  26. package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
  27. package/SVF-doxygen/html/html/MHP_8cpp_source.html +6 -6
  28. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
  29. package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -5
  30. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -2
  31. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +4 -4
  32. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +3 -3
  34. package/SVF-doxygen/html/html/PAG_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/PCG_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
  37. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +1 -1
  38. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +3 -3
  39. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +1 -1
  40. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
  41. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +22 -22
  42. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +23 -23
  43. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -2
  44. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -2
  45. package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +1 -1
  46. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +2 -2
  48. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
  49. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -2
  50. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +3 -3
  51. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +3 -3
  52. package/SVF-doxygen/html/html/TCT_8cpp_source.html +2 -2
  53. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +1 -1
  54. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -2
  55. package/SVF-doxygen/html/html/VFG_8cpp_source.html +2 -2
  56. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  57. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
  58. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +7 -7
  62. package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +2 -2
  63. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +2 -2
  64. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
  65. package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +2 -2
  67. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
  68. package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +12 -12
  70. package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +3 -3
  73. package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +2 -2
  74. package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +24 -24
  75. package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +10 -10
  76. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +15 -15
  77. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +5 -5
  79. package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +4 -4
  80. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  82. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +1 -1
  85. package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +1 -1
  86. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  87. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  88. package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +1 -1
  89. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1 -1
  91. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +2 -2
  92. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +25 -25
  93. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +16 -16
  94. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +4 -4
  95. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +7 -7
  97. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
  98. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +1 -1
  99. package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +8 -8
  100. package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +15 -15
  101. package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +7 -7
  103. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +2 -2
  104. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +29 -29
  105. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  106. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1PathCondAllocator.html +4 -4
  110. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
  112. package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +1 -1
  113. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +2 -2
  114. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +4 -4
  115. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  116. package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +4 -4
  117. package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +2 -2
  118. package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +2 -2
  120. package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +2 -2
  121. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +2 -2
  122. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
  123. package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
  124. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +7 -7
  125. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +12 -12
  126. package/SVF-doxygen/html/html/classSVF_1_1TCT.html +9 -9
  127. package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +2 -2
  128. package/SVF-doxygen/html/html/classSVF_1_1VFG.html +2 -2
  129. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -6
  130. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
  131. package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +1 -1
  132. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
  133. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SmallVector_3_01T_00_01N_01_4_01_4.html +3 -3
  134. package/SVF-doxygen/html/html/structstd_1_1hash_3_01llvm_1_1SparseBitVector_3_01N_01_4_01_4.html +3 -3
  135. package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
  136. package/include/Util/SVFBasicTypes.h +4 -2
  137. package/package.json +1 -1
@@ -2057,7 +2057,7 @@ Additional Inherited Members</h2></td></tr>
2057
2057
  <div class="ttc" id="classSVF_1_1CoreBitVector_html_a93cdd9890522cc9fee2451567e0b1f0d"><div class="ttname"><a href="classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d">SVF::CoreBitVector::end</a></div><div class="ttdeci">const_iterator end(void) const</div><div class="ttdef"><b>Definition:</b> <a href="CoreBitVector_8cpp_source.html#l00308">CoreBitVector.cpp:308</a></div></div>
2058
2058
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a3d44a343a2e3f5d276fd1b069c92e112"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112">SVF::VersionedFlowSensitive::invalidVersion</a></div><div class="ttdeci">static const Version invalidVersion</div><div class="ttdoc">If this version appears, there has been an error. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00044">VersionedFlowSensitive.h:44</a></div></div>
2059
2059
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a28fe266d0e4618aa4448aa218495a332"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">SVF::MRSVFGNode::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdoc">Return points-to of the MR. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00052">SVFGNode.h:52</a></div></div>
2060
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2060
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2061
2061
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_aabc0a5a7a31b8d880e019773ba960741"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#aabc0a5a7a31b8d880e019773ba960741">SVF::VersionedFlowSensitive::setConsume</a></div><div class="ttdeci">void setConsume(const NodeID l, const NodeID o, const Version v)</div><div class="ttdoc">Sets the consumed version of o at l to v. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00792">VersionedFlowSensitive.cpp:792</a></div></div>
2062
2062
  <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>
2063
2063
  <div class="ttc" id="classSVF_1_1Options_html_adba18ce8f1496fe2e57a934f11c2dfd9"><div class="ttname"><a href="classSVF_1_1Options.html#adba18ce8f1496fe2e57a934f11c2dfd9">SVF::Options::VersioningThreads</a></div><div class="ttdeci">static const llvm::cl::opt&lt; unsigned &gt; VersioningThreads</div><div class="ttdoc">Number of threads for the versioning phase. </div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00077">Options.h:77</a></div></div>
@@ -2113,7 +2113,7 @@ Additional Inherited Members</h2></td></tr>
2113
2113
  <div class="ttc" id="classSVF_1_1PointsTo_html_a879783ba6629e500af9aa7dfcda2563d"><div class="ttname"><a href="classSVF_1_1PointsTo.html#a879783ba6629e500af9aa7dfcda2563d">SVF::PointsTo::count</a></div><div class="ttdeci">u32_t count(void) const</div><div class="ttdoc">Returns number of elements. </div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8cpp_source.html#l00106">PointsTo.cpp:106</a></div></div>
2114
2114
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
2115
2115
  <div class="ttc" id="classSVF_1_1MRSVFGNode_html_a28fe266d0e4618aa4448aa218495a332"><div class="ttname"><a href="classSVF_1_1MRSVFGNode.html#a28fe266d0e4618aa4448aa218495a332">SVF::MRSVFGNode::getPointsTo</a></div><div class="ttdeci">const NodeBS &amp; getPointsTo() const</div><div class="ttdoc">Return points-to of the MR. </div><div class="ttdef"><b>Definition:</b> <a href="SVFGNode_8h_source.html#l00052">SVFGNode.h:52</a></div></div>
2116
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2116
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2117
2117
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a77a5dd9578def9a8e2b48e8b90d9b996"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a77a5dd9578def9a8e2b48e8b90d9b996">SVF::VersionedFlowSensitive::prelabelingTime</a></div><div class="ttdeci">double prelabelingTime</div><div class="ttdoc">Time to prelabel SVFG. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00229">VersionedFlowSensitive.h:229</a></div></div>
2118
2118
  <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>
2119
2119
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a593177519a6bfab63dbb12dbc1ffbc20"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a593177519a6bfab63dbb12dbc1ffbc20">SVF::VersionedFlowSensitive::numPrelabeledNodes</a></div><div class="ttdeci">Size_t numPrelabeledNodes</div><div class="ttdoc">Additional statistics. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00226">VersionedFlowSensitive.h:226</a></div></div>
@@ -2166,7 +2166,7 @@ Additional Inherited Members</h2></td></tr>
2166
2166
  <div class="ttc" id="classSVF_1_1StmtVFGNode_html_a791a01f5d3528f8a8bf19369b5c61c37"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html#a791a01f5d3528f8a8bf19369b5c61c37">SVF::StmtVFGNode::getPAGSrcNodeID</a></div><div class="ttdeci">NodeID getPAGSrcNodeID() const</div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00139">VFGNode.h:139</a></div></div>
2167
2167
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
2168
2168
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a3d44a343a2e3f5d276fd1b069c92e112"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112">SVF::VersionedFlowSensitive::invalidVersion</a></div><div class="ttdeci">static const Version invalidVersion</div><div class="ttdoc">If this version appears, there has been an error. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00044">VersionedFlowSensitive.h:44</a></div></div>
2169
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2169
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2170
2170
  <div class="ttc" id="classSVF_1_1VersionedPTData_html_a8b9d50b5ad1c779b2ff231f07f3002ea"><div class="ttname"><a href="classSVF_1_1VersionedPTData.html#a8b9d50b5ad1c779b2ff231f07f3002ea">SVF::VersionedPTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const VersionedKey &amp;dstVar, const VersionedKey &amp;srcVar)=0</div></div>
2171
2171
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
2172
2172
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
@@ -2269,7 +2269,7 @@ Additional Inherited Members</h2></td></tr>
2269
2269
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a3489def8e16e4d7c83d2c909d3287fc0"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3489def8e16e4d7c83d2c909d3287fc0">SVF::VersionedFlowSensitive::getStmtReliance</a></div><div class="ttdeci">NodeBS &amp; getStmtReliance(const NodeID o, const Version v)</div><div class="ttdoc">Returns the statements which rely on o:v. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00809">VersionedFlowSensitive.cpp:809</a></div></div>
2270
2270
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a43e8ca2e69e6e8643c9abd1fa231d305"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">SVF::FlowSensitive::svfgHasSU</a></div><div class="ttdeci">NodeBS svfgHasSU</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00320">FlowSensitive.h:320</a></div></div>
2271
2271
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a3d44a343a2e3f5d276fd1b069c92e112"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3d44a343a2e3f5d276fd1b069c92e112">SVF::VersionedFlowSensitive::invalidVersion</a></div><div class="ttdeci">static const Version invalidVersion</div><div class="ttdoc">If this version appears, there has been an error. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00044">VersionedFlowSensitive.h:44</a></div></div>
2272
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2272
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2273
2273
  <div class="ttc" id="classSVF_1_1VersionedPTData_html_a8b9d50b5ad1c779b2ff231f07f3002ea"><div class="ttname"><a href="classSVF_1_1VersionedPTData.html#a8b9d50b5ad1c779b2ff231f07f3002ea">SVF::VersionedPTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const VersionedKey &amp;dstVar, const VersionedKey &amp;srcVar)=0</div></div>
2274
2274
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
2275
2275
  <div class="ttc" id="namespaceSVF_html_a740396763e377643790c8b803ab3e4ea"><div class="ttname"><a href="namespaceSVF.html#a740396763e377643790c8b803ab3e4ea">SVF::NodeBS</a></div><div class="ttdeci">llvm::SparseBitVector NodeBS</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00086">SVFBasicTypes.h:86</a></div></div>
@@ -2321,7 +2321,7 @@ Additional Inherited Members</h2></td></tr>
2321
2321
  <div class="ttc" id="namespaceSVF_html_a9ec7a8dc63411ee3724a25a59191be0c"><div class="ttname"><a href="namespaceSVF.html#a9ec7a8dc63411ee3724a25a59191be0c">SVF::Version</a></div><div class="ttdeci">unsigned Version</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00128">SVFBasicTypes.h:128</a></div></div>
2322
2322
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af15bb6be283fee2fcc4b1fb7d8190451"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af15bb6be283fee2fcc4b1fb7d8190451">SVF::VersionedFlowSensitive::versionPropTime</a></div><div class="ttdeci">double versionPropTime</div><div class="ttdoc">Time to propagate versions to versions which rely on them. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00231">VersionedFlowSensitive.h:231</a></div></div>
2323
2323
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
2324
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2324
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2325
2325
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_ae83c62a01196991d116ef5c36cb51e31"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#ae83c62a01196991d116ef5c36cb51e31">SVF::VersionedFlowSensitive::getReliantVersions</a></div><div class="ttdeci">std::vector&lt; Version &gt; &amp; getReliantVersions(const NodeID o, const Version v)</div><div class="ttdoc">Returns the versions of o which rely on o:v. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00804">VersionedFlowSensitive.cpp:804</a></div></div>
2326
2326
  <div class="ttc" id="classSVF_1_1PTAStat_html_a3c4eaa1695ea13405911ae1621f98edc"><div class="ttname"><a href="classSVF_1_1PTAStat.html#a3c4eaa1695ea13405911ae1621f98edc">SVF::PTAStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00114">PTAStat.cpp:114</a></div></div>
2327
2327
  </div><!-- fragment -->
@@ -2386,7 +2386,7 @@ Additional Inherited Members</h2></td></tr>
2386
2386
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_af14a4cbc0b990389d31b2f88f50ad8eb"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#af14a4cbc0b990389d31b2f88f50ad8eb">SVF::VersionedFlowSensitive::versionedVarToPropNode</a></div><div class="ttdeci">VarToPropNodeMap versionedVarToPropNode</div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8h_source.html#l00193">VersionedFlowSensitive.h:193</a></div></div>
2387
2387
  <div class="ttc" id="classSVF_1_1PointerAnalysis_html_a5ec3d9bf1fc81346c9df29638daedc0f"><div class="ttname"><a href="classSVF_1_1PointerAnalysis.html#a5ec3d9bf1fc81346c9df29638daedc0f">SVF::PointerAnalysis::stat</a></div><div class="ttdeci">PTAStat * stat</div><div class="ttdoc">Statistics. </div><div class="ttdef"><b>Definition:</b> <a href="PointerAnalysis_8h_source.html#l00155">PointerAnalysis.h:155</a></div></div>
2388
2388
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitive_html_a3489def8e16e4d7c83d2c909d3287fc0"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitive.html#a3489def8e16e4d7c83d2c909d3287fc0">SVF::VersionedFlowSensitive::getStmtReliance</a></div><div class="ttdeci">NodeBS &amp; getStmtReliance(const NodeID o, const Version v)</div><div class="ttdoc">Returns the statements which rely on o:v. </div><div class="ttdef"><b>Definition:</b> <a href="VersionedFlowSensitive_8cpp_source.html#l00809">VersionedFlowSensitive.cpp:809</a></div></div>
2389
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
2389
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
2390
2390
  <div class="ttc" id="classSVF_1_1VersionedPTData_html_a8b9d50b5ad1c779b2ff231f07f3002ea"><div class="ttname"><a href="classSVF_1_1VersionedPTData.html#a8b9d50b5ad1c779b2ff231f07f3002ea">SVF::VersionedPTData::unionPts</a></div><div class="ttdeci">virtual bool unionPts(const VersionedKey &amp;dstVar, const VersionedKey &amp;srcVar)=0</div></div>
2391
2391
  <div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00164">GenericGraph.h:164</a></div></div>
2392
2392
  <div class="ttc" id="namespaceSVF_html_a32489632f53dce062ca2e8bff42c65cf"><div class="ttname"><a href="namespaceSVF.html#a32489632f53dce062ca2e8bff42c65cf">SVF::VersionedVar</a></div><div class="ttdeci">std::pair&lt; NodeID, Version &gt; VersionedVar</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00130">SVFBasicTypes.h:130</a></div></div>
@@ -538,7 +538,7 @@ Additional Inherited Members</h2></td></tr>
538
538
  <div class="ttc" id="classSVF_1_1PTAStat_html_afe854f7416ea408104721a083ee9fee0"><div class="ttname"><a href="classSVF_1_1PTAStat.html#afe854f7416ea408104721a083ee9fee0">SVF::PTAStat::endClk</a></div><div class="ttdeci">virtual void endClk()</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8h_source.html#l00138">PTAStat.h:138</a></div></div>
539
539
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a43e8ca2e69e6e8643c9abd1fa231d305"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a43e8ca2e69e6e8643c9abd1fa231d305">SVF::FlowSensitive::svfgHasSU</a></div><div class="ttdeci">NodeBS svfgHasSU</div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00320">FlowSensitive.h:320</a></div></div>
540
540
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_a4202f837e863a48712765cc346d8b514"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514">SVF::FlowSensitive::solveTime</a></div><div class="ttdeci">double solveTime</div><div class="ttdoc">time of solve. </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00305">FlowSensitive.h:305</a></div></div>
541
- <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00174">SVFBasicTypes.h:174</a></div></div>
541
+ <div class="ttc" id="SVFBasicTypes_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFBasicTypes_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00176">SVFBasicTypes.h:176</a></div></div>
542
542
  <div class="ttc" id="classSVF_1_1PTAStat_html_acfed70588cf921694db35990ec3c7497"><div class="ttname"><a href="classSVF_1_1PTAStat.html#acfed70588cf921694db35990ec3c7497">SVF::PTAStat::performStat</a></div><div class="ttdeci">virtual void performStat()</div><div class="ttdef"><b>Definition:</b> <a href="PTAStat_8cpp_source.html#l00132">PTAStat.cpp:132</a></div></div>
543
543
  <div class="ttc" id="classSVF_1_1VersionedFlowSensitiveStat_html_aacce301a2c2613591dcd2afaccfcb380"><div class="ttname"><a href="classSVF_1_1VersionedFlowSensitiveStat.html#aacce301a2c2613591dcd2afaccfcb380">SVF::VersionedFlowSensitiveStat::_MaxVersions</a></div><div class="ttdeci">u32_t _MaxVersions</div><div class="ttdoc">Most versions for a single object. </div><div class="ttdef"><b>Definition:</b> <a href="WPAStat_8h_source.html#l00194">WPAStat.h:194</a></div></div>
544
544
  <div class="ttc" id="classSVF_1_1FlowSensitive_html_ae086de68233375be42185f0af706687a"><div class="ttname"><a href="classSVF_1_1FlowSensitive.html#ae086de68233375be42185f0af706687a">SVF::FlowSensitive::directPropaTime</a></div><div class="ttdeci">double directPropaTime</div><div class="ttdoc">time of points-to propagation of address-taken objects </div><div class="ttdef"><b>Definition:</b> <a href="FlowSensitive_8h_source.html#l00309">FlowSensitive.h:309</a></div></div>
@@ -109,7 +109,7 @@ struct SVF::Hash&lt; NodePair &gt;</h3>
109
109
  </div><div class="memdoc">
110
110
 
111
111
  <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00136">136</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
112
- <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// Make sure our assumptions are sound: use u32_t</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">// and u64_t. If NodeID is not actually u32_t or size_t</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// is not u64_t we should be fine since we get a</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// consistent result.</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keywordflow">return</span> ((uint64_t)(p.first) &lt;&lt; 32) | (uint64_t)(p.second);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; }</div></div><!-- fragment -->
112
+ <div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; {</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="comment">// Make sure our assumptions are sound: use u32_t</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="comment">// and u64_t. If NodeID is not actually u32_t or size_t</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="comment">// is not u64_t we should be fine since we get a</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="comment">// consistent result.</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; uint32_t first = (uint32_t)(p.first);</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; uint32_t second = (uint32_t)(p.second);</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">return</span> ((uint64_t)(first) &lt;&lt; 32) | (uint64_t)(second);</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; }</div></div><!-- fragment -->
113
113
  </div>
114
114
  </div>
115
115
  <hr/>The documentation for this struct was generated from the following file:<ul>
@@ -82,7 +82,7 @@ Public Member Functions</h2></td></tr>
82
82
  struct std::hash&lt; SVF::NodePair &gt;</h3>
83
83
 
84
84
 
85
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00261">261</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
85
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00263">263</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
86
86
  </div><h2 class="groupheader">Member Function Documentation</h2>
87
87
  <a id="a33d0d439057cbfab969516ea6a976aae"></a>
88
88
  <h2 class="memtitle"><span class="permalink"><a href="#a33d0d439057cbfab969516ea6a976aae">&#9670;&nbsp;</a></span>operator()()</h2>
@@ -108,8 +108,8 @@ struct std::hash&lt; SVF::NodePair &gt;</h3>
108
108
  </table>
109
109
  </div><div class="memdoc">
110
110
 
111
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00262">262</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
112
- <div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="comment">// Make sure our assumptions are sound: use u32_t</span></div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <span class="comment">// and u64_t. If NodeID is not actually u32_t or size_t</span></div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// is not u64_t we should be fine since we get a</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="comment">// consistent result.</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; uint32_t first = (uint32_t)(p.first);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; uint32_t second = (uint32_t)(p.second);</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">return</span> ((uint64_t)(p.first) &lt;&lt; 32) | (uint64_t)(p.second);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; }</div></div><!-- fragment -->
111
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00264">264</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
112
+ <div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; {</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="comment">// Make sure our assumptions are sound: use u32_t</span></div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="comment">// and u64_t. If NodeID is not actually u32_t or size_t</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="comment">// is not u64_t we should be fine since we get a</span></div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; <span class="comment">// consistent result.</span></div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; uint32_t first = (uint32_t)(p.first);</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; uint32_t second = (uint32_t)(p.second);</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> ((uint64_t)(first) &lt;&lt; 32) | (uint64_t)(second);</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; }</div></div><!-- fragment -->
113
113
  </div>
114
114
  </div>
115
115
  <hr/>The documentation for this struct was generated from the following file:<ul>
@@ -86,7 +86,7 @@ struct std::hash&lt; SVF::SmallVector&lt; T, N &gt; &gt;</h3>
86
86
 
87
87
  <p>Specialise hash for SmallVectors. </p>
88
88
 
89
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00275">275</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
89
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00277">277</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
90
90
  </div><h2 class="groupheader">Member Function Documentation</h2>
91
91
  <a id="ae282a411b1a579a34ccd7eec3a492eb2"></a>
92
92
  <h2 class="memtitle"><span class="permalink"><a href="#ae282a411b1a579a34ccd7eec3a492eb2">&#9670;&nbsp;</a></span>operator()()</h2>
@@ -114,8 +114,8 @@ template&lt;typename T , unsigned N&gt; </div>
114
114
  </table>
115
115
  </div><div class="memdoc">
116
116
 
117
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00277">277</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
118
- <div class="fragment"><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; {</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keywordflow">if</span> (sv.empty()) <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">if</span> (sv.size() == 1) <span class="keywordflow">return</span> sv[0];</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="comment">// Iterate and accumulate the hash.</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordtype">size_t</span> hash = 0;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;std::pair&lt;T, size_t&gt;</a>&gt; hts;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; std::hash&lt;T&gt; ht;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> T &amp;t : sv)</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; hash = hts(std::make_pair(ht(t), hash));</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; }</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <span class="keywordflow">return</span> hash;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
117
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00279">279</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
118
+ <div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; {</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">if</span> (sv.empty()) <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <span class="keywordflow">if</span> (sv.size() == 1) <span class="keywordflow">return</span> sv[0];</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="comment">// Iterate and accumulate the hash.</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordtype">size_t</span> hash = 0;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;std::pair&lt;T, size_t&gt;</a>&gt; hts;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; std::hash&lt;T&gt; ht;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> T &amp;t : sv)</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; hash = hts(std::make_pair(ht(t), hash));</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160;</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">return</span> hash;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
119
119
  </div><!-- fragment -->
120
120
  </div>
121
121
  </div>
@@ -86,7 +86,7 @@ struct std::hash&lt; llvm::SparseBitVector&lt; N &gt; &gt;</h3>
86
86
 
87
87
  <p>Specialise hash for SparseBitVectors. </p>
88
88
 
89
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00296">296</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
89
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00298">298</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
90
90
  </div><h2 class="groupheader">Member Function Documentation</h2>
91
91
  <a id="ae6df53599aefcd010d7e3fd6bf95bdb6"></a>
92
92
  <h2 class="memtitle"><span class="permalink"><a href="#ae6df53599aefcd010d7e3fd6bf95bdb6">&#9670;&nbsp;</a></span>operator()()</h2>
@@ -114,8 +114,8 @@ template&lt;unsigned N&gt; </div>
114
114
  </table>
115
115
  </div><div class="memdoc">
116
116
 
117
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00298">298</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
118
- <div class="fragment"><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;std::pair&lt;std::pair&lt;size_t, size_t&gt;</a>, <span class="keywordtype">size_t</span>&gt;&gt; h;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keywordflow">return</span> h(std::make_pair(std::make_pair(sbv.count(), sbv.find_first()), sbv.find_last()));</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
117
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00300">300</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
118
+ <div class="fragment"><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;std::pair&lt;std::pair&lt;size_t, size_t&gt;</a>, <span class="keywordtype">size_t</span>&gt;&gt; h;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; <span class="keywordflow">return</span> h(std::make_pair(std::make_pair(sbv.count(), sbv.find_first()), sbv.find_last()));</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
119
119
  </div><!-- fragment -->
120
120
  </div>
121
121
  </div>
@@ -82,7 +82,7 @@ Public Member Functions</h2></td></tr>
82
82
  struct std::hash&lt; std::vector&lt; T &gt; &gt;</h3>
83
83
 
84
84
 
85
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00305">305</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
85
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00307">307</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
86
86
  </div><h2 class="groupheader">Member Function Documentation</h2>
87
87
  <a id="a921ca626d87c3eed7b71210cfc24d0dd"></a>
88
88
  <h2 class="memtitle"><span class="permalink"><a href="#a921ca626d87c3eed7b71210cfc24d0dd">&#9670;&nbsp;</a></span>operator()()</h2>
@@ -110,8 +110,8 @@ template&lt;typename T &gt; </div>
110
110
  </table>
111
111
  </div><div class="memdoc">
112
112
 
113
- <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00307">307</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
114
- <div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="comment">// TODO: repetition with CBV.</span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keywordtype">size_t</span> h = v.size();</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;T&gt;</a> hf;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> T &amp;t : v)</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; {</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; h ^= hf(t) + 0x9e3779b9 + (h &lt;&lt; 6) + (h &gt;&gt; 2);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; }</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <span class="keywordflow">return</span> h;</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
113
+ <p class="definition">Definition at line <a class="el" href="SVFBasicTypes_8h_source.html#l00309">309</a> of file <a class="el" href="SVFBasicTypes_8h_source.html">SVFBasicTypes.h</a>.</p>
114
+ <div class="fragment"><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="comment">// TODO: repetition with CBV.</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordtype">size_t</span> h = v.size();</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="structSVF_1_1Hash.html">SVF::Hash&lt;T&gt;</a> hf;</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> T &amp;t : v)</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; h ^= hf(t) + 0x9e3779b9 + (h &lt;&lt; 6) + (h &gt;&gt; 2);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <span class="keywordflow">return</span> h;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
115
115
  </div><!-- fragment -->
116
116
  </div>
117
117
  </div>
@@ -138,7 +138,9 @@ template <> struct Hash<NodePair>
138
138
  // and u64_t. If NodeID is not actually u32_t or size_t
139
139
  // is not u64_t we should be fine since we get a
140
140
  // consistent result.
141
- return ((uint64_t)(p.first) << 32) | (uint64_t)(p.second);
141
+ uint32_t first = (uint32_t)(p.first);
142
+ uint32_t second = (uint32_t)(p.second);
143
+ return ((uint64_t)(first) << 32) | (uint64_t)(second);
142
144
  }
143
145
  };
144
146
 
@@ -266,7 +268,7 @@ template <> struct std::hash<SVF::NodePair> {
266
268
  // consistent result.
267
269
  uint32_t first = (uint32_t)(p.first);
268
270
  uint32_t second = (uint32_t)(p.second);
269
- return ((uint64_t)(p.first) << 32) | (uint64_t)(p.second);
271
+ return ((uint64_t)(first) << 32) | (uint64_t)(second);
270
272
  }
271
273
  };
272
274
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.309",
3
+ "version": "1.0.310",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {