svf-tools 1.0.483 → 1.0.486

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 (275) hide show
  1. package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -1
  2. package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -1
  3. package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -1
  4. package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +2 -1
  5. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -1
  6. package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +2 -1
  7. package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -1
  8. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -2
  9. package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/BDDExpr_8cpp_source.html +2 -1
  11. package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +2 -2
  12. package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +32 -32
  13. package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +11 -11
  14. package/SVF-doxygen/html/html/CFLAlias_8cpp.html +1 -0
  15. package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +46 -13
  16. package/SVF-doxygen/html/html/CFLAlias_8h_source.html +36 -13
  17. package/SVF-doxygen/html/html/CFLGramGraphChecker_8h_source.html +3 -3
  18. package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +8 -8
  19. package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +74 -77
  20. package/SVF-doxygen/html/html/CFLGrammar_8txt.html +165 -39
  21. package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +4 -4
  22. package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +2 -2
  23. package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +3 -3
  24. package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
  25. package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +16 -16
  26. package/SVF-doxygen/html/html/CFLSolver_8h_source.html +10 -10
  27. package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +3 -2
  28. package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +2 -2
  29. package/SVF-doxygen/html/html/CHG_8cpp_source.html +3 -2
  30. package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
  31. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/CPPUtil_8h.html +4 -4
  33. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -1
  34. package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +3 -2
  35. package/SVF-doxygen/html/html/Casting_8h_source.html +2 -1
  36. package/SVF-doxygen/html/html/ConsG_8cpp_source.html +4 -3
  37. package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
  38. package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -1
  39. package/SVF-doxygen/html/html/DCHG_8h_source.html +1 -1
  40. package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +2 -1
  41. package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +2 -1
  42. package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +2 -1
  43. package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +1 -1
  44. package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -1
  45. package/SVF-doxygen/html/html/ExeState_8cpp_source.html +2 -1
  46. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +2 -2
  47. package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -2
  48. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +2 -2
  49. package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -1
  50. package/SVF-doxygen/html/html/FileChecker_8cpp_source.html +2 -1
  51. package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -1
  52. package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -1
  53. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -1
  54. package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +1 -1
  55. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
  56. package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +3 -3
  57. package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +6 -4
  58. package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +2 -2
  59. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -1
  60. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -2
  61. package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
  62. package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -2
  63. package/SVF-doxygen/html/html/IRGraph_8h_source.html +1 -1
  64. package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +2 -1
  65. package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +2 -2
  66. package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -1
  67. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -1
  68. package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +3 -2
  69. package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +3 -2
  70. package/SVF-doxygen/html/html/MHP_8cpp_source.html +3 -2
  71. package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +3 -2
  72. package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
  73. package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +3 -2
  74. package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +2 -2
  75. package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
  76. package/SVF-doxygen/html/html/MTA_8cpp_source.html +3 -2
  77. package/SVF-doxygen/html/html/MTA_8h_source.html +2 -2
  78. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +2 -1
  79. package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +2 -1
  80. package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +3 -2
  81. package/SVF-doxygen/html/html/OfflineConsG_8h_source.html +1 -1
  82. package/SVF-doxygen/html/html/Options_8cpp_source.html +4 -4
  83. package/SVF-doxygen/html/html/Options_8h_source.html +4 -4
  84. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -1
  85. package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -2
  86. package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +3 -2
  87. package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
  88. package/SVF-doxygen/html/html/PathCondAllocator_8cpp_source.html +2 -1
  89. package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -2
  90. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -1
  91. package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -1
  92. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +1 -1
  93. package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +2 -1
  94. package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +2 -1
  95. package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +3 -2
  96. package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -2
  97. package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
  98. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +3 -2
  99. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +2 -2
  100. package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +2 -1
  101. package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -1
  102. package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +2 -2
  103. package/SVF-doxygen/html/html/SVFUtil_8h.html +1 -1
  104. package/SVF-doxygen/html/html/SVFUtil_8h_source.html +3 -2
  105. package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -1
  106. package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +2 -2
  107. package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +2 -1
  108. package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +2 -1
  109. package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -1
  110. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +3 -2
  111. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -1
  112. package/SVF-doxygen/html/html/TCT_8cpp_source.html +3 -2
  113. package/SVF-doxygen/html/html/TCT_8h_source.html +1 -1
  114. package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +2 -2
  115. package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +2 -1
  116. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -1
  117. package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -1
  118. package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +2 -1
  119. package/SVF-doxygen/html/html/VFG_8cpp_source.html +3 -2
  120. package/SVF-doxygen/html/html/VFG_8h_source.html +1 -1
  121. package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +2 -1
  122. package/SVF-doxygen/html/html/cfl_8cpp.html +1 -1
  123. package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
  124. package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
  133. package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +54 -53
  135. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +70 -63
  136. package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +415 -95
  137. package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +25 -25
  138. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +51 -51
  140. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver-members.html +4 -4
  141. package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +39 -39
  142. package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +4 -4
  143. package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +13 -13
  145. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +58 -58
  146. package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +3 -3
  147. package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +3 -3
  148. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +2 -2
  149. package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +2 -2
  150. package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
  151. package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +4 -4
  152. package/SVF-doxygen/html/html/classSVF_1_1MHP.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  154. package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -5
  155. package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
  156. package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
  157. package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
  158. package/SVF-doxygen/html/html/classSVF_1_1Options-members.html +38 -38
  159. package/SVF-doxygen/html/html/classSVF_1_1Options.html +30 -30
  160. package/SVF-doxygen/html/html/classSVF_1_1PCG.html +2 -2
  161. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +1 -1
  162. package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +2 -2
  163. package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +2 -2
  164. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +4 -4
  165. package/SVF-doxygen/html/html/classSVF_1_1SaberCheckerAPI.html +3 -3
  166. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  167. package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +3 -3
  168. package/SVF-doxygen/html/html/classllvm_1_1GraphPrinter.html +1 -1
  169. package/SVF-doxygen/html/html/cuddInt_8c.html +30 -30
  170. package/SVF-doxygen/html/html/cuddInt_8c_source.html +3 -3
  171. package/SVF-doxygen/html/html/cuddInt_8h.html +10 -10
  172. package/SVF-doxygen/html/html/cudd_8h.html +14 -14
  173. package/SVF-doxygen/html/html/cudd_8h_source.html +2 -2
  174. package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
  175. package/SVF-doxygen/html/html/functions_a.html +11 -10
  176. package/SVF-doxygen/html/html/functions_c.html +30 -23
  177. package/SVF-doxygen/html/html/functions_func.html +12 -11
  178. package/SVF-doxygen/html/html/functions_func_c.html +11 -10
  179. package/SVF-doxygen/html/html/functions_func_h.html +3 -2
  180. package/SVF-doxygen/html/html/functions_func_n.html +1 -1
  181. package/SVF-doxygen/html/html/functions_func_o.html +4 -9
  182. package/SVF-doxygen/html/html/functions_func_s.html +1 -1
  183. package/SVF-doxygen/html/html/functions_func_u.html +1 -0
  184. package/SVF-doxygen/html/html/functions_g.html +5 -8
  185. package/SVF-doxygen/html/html/functions_h.html +2 -1
  186. package/SVF-doxygen/html/html/functions_i.html +6 -6
  187. package/SVF-doxygen/html/html/functions_l.html +5 -5
  188. package/SVF-doxygen/html/html/functions_n.html +1 -1
  189. package/SVF-doxygen/html/html/functions_o.html +14 -21
  190. package/SVF-doxygen/html/html/functions_p.html +12 -9
  191. package/SVF-doxygen/html/html/functions_r.html +4 -4
  192. package/SVF-doxygen/html/html/functions_s.html +10 -8
  193. package/SVF-doxygen/html/html/functions_t.html +3 -3
  194. package/SVF-doxygen/html/html/functions_type_c.html +1 -0
  195. package/SVF-doxygen/html/html/functions_u.html +1 -0
  196. package/SVF-doxygen/html/html/functions_v.html +3 -3
  197. package/SVF-doxygen/html/html/functions_vars_c.html +1 -0
  198. package/SVF-doxygen/html/html/functions_vars_g.html +0 -3
  199. package/SVF-doxygen/html/html/functions_vars_p.html +3 -0
  200. package/SVF-doxygen/html/html/functions_w.html +6 -10
  201. package/SVF-doxygen/html/html/globals_a.html +3 -0
  202. package/SVF-doxygen/html/html/globals_f.html +2 -2
  203. package/SVF-doxygen/html/html/globals_g.html +10 -4
  204. package/SVF-doxygen/html/html/globals_l.html +4 -1
  205. package/SVF-doxygen/html/html/globals_m.html +15 -12
  206. package/SVF-doxygen/html/html/globals_s.html +17 -13
  207. package/SVF-doxygen/html/html/globals_vars.html +26 -5
  208. package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
  209. package/SVF-doxygen/html/html/namespaceSVF.html +2 -2
  210. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +3 -3
  211. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +12 -12
  212. package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
  213. package/SVF-doxygen/html/html/search/all_1.js +2 -1
  214. package/SVF-doxygen/html/html/search/all_10.js +8 -7
  215. package/SVF-doxygen/html/html/search/all_12.js +2 -2
  216. package/SVF-doxygen/html/html/search/all_13.js +12 -11
  217. package/SVF-doxygen/html/html/search/all_14.js +6 -6
  218. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  219. package/SVF-doxygen/html/html/search/all_16.js +2 -2
  220. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  221. package/SVF-doxygen/html/html/search/all_3.js +2 -2
  222. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  223. package/SVF-doxygen/html/html/search/all_6.js +2 -2
  224. package/SVF-doxygen/html/html/search/all_7.js +4 -3
  225. package/SVF-doxygen/html/html/search/all_8.js +1 -1
  226. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  227. package/SVF-doxygen/html/html/search/all_c.js +6 -5
  228. package/SVF-doxygen/html/html/search/all_d.js +3 -2
  229. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  230. package/SVF-doxygen/html/html/search/all_f.js +7 -9
  231. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  232. package/SVF-doxygen/html/html/search/functions_11.js +1 -1
  233. package/SVF-doxygen/html/html/search/functions_13.js +1 -1
  234. package/SVF-doxygen/html/html/search/functions_2.js +1 -1
  235. package/SVF-doxygen/html/html/search/functions_7.js +1 -1
  236. package/SVF-doxygen/html/html/search/functions_d.js +1 -1
  237. package/SVF-doxygen/html/html/search/functions_e.js +4 -6
  238. package/SVF-doxygen/html/html/search/typedefs_2.js +1 -1
  239. package/SVF-doxygen/html/html/search/variables_1.js +1 -0
  240. package/SVF-doxygen/html/html/search/variables_10.js +1 -0
  241. package/SVF-doxygen/html/html/search/variables_13.js +2 -0
  242. package/SVF-doxygen/html/html/search/variables_14.js +4 -4
  243. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  244. package/SVF-doxygen/html/html/search/variables_3.js +1 -1
  245. package/SVF-doxygen/html/html/search/variables_6.js +2 -2
  246. package/SVF-doxygen/html/html/search/variables_7.js +4 -3
  247. package/SVF-doxygen/html/html/search/variables_c.js +3 -2
  248. package/SVF-doxygen/html/html/search/variables_d.js +1 -0
  249. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  250. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol-members.html +10 -13
  251. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +44 -145
  252. package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1SymbolVectorHash.html +3 -3
  253. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +6 -5
  254. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +4 -3
  255. package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +4 -3
  256. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1CFLNode_01_5_01_4_01_4.html +1 -1
  257. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLGraph_01_5_01_4.html +2 -2
  258. package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1CFLNode_01_5_01_4.html +1 -1
  259. package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
  260. package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
  261. package/include/CFL/CFLAlias.h +50 -4
  262. package/include/CFL/CFLGrammar.h +9 -28
  263. package/include/CFL/CFLGrammar.txt +22 -1
  264. package/include/CFL/CFLSolver.h +10 -8
  265. package/include/Graphs/CFLGraph.h +0 -1
  266. package/include/Graphs/GraphPrinter.h +3 -3
  267. package/include/Util/ExtAPI.h +1 -1
  268. package/{lib → include}/Util/ExtAPI.json +0 -0
  269. package/include/Util/Options.h +2 -2
  270. package/lib/CFL/CFGNormalizer.cpp +8 -14
  271. package/lib/CFL/CFLAlias.cpp +175 -6
  272. package/lib/CFL/CFLSolver.cpp +1 -0
  273. package/lib/Graphs/CFLGraph.cpp +0 -4
  274. package/lib/Util/Options.cpp +8 -8
  275. package/package.json +1 -1
@@ -109,44 +109,44 @@ $(function() {
109
109
  <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#ad03c4697dd4da2b6adde112e3ee1884b">FsTimeLimit</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
110
110
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a14ceeb5d7de81a0946389159986e4955">FuncPointerPrint</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
111
111
  <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#aa929e2ae2c0a78181c3a1311bfe73596">GrammarFilename</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
112
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5bbbe648c96c9600e9c825dd31585785">GrammarIsEBNF</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
113
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a0d099b268241f4658eb06a14ef598888">GraphIsFromDot</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
114
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Graphtxt</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
115
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#ad2d3db3e407a53956a5a59cc24eb8d40">HandBlackHole</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
116
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">IgnoreDeadFun</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
117
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5896e2aaf59305441a74ede0dfb85845">INCDFPTData</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
118
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#ad6c29b05188c9e06aa89623c61865ed8">IndirectCallLimit</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
119
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a322f78488d420e41a648d603f2773c56">InputFilename</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
120
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a35cfe6add81dc82983e0c53c36c6e667">InsenCycle</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
121
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#aa1a3b9293dffeef1bb16a2a7b3a007dd">InsenRecur</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
122
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a1bc10a5947bf3912c6f22e094ccac464">IntraLock</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
123
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#acd687c31bb6662940ab8a1c3d17dc1ef">KeepAOFI</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
124
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">LockValid</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
125
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#aba8e13f8bb26cf6a0718282e6f9a1940">LocMemModel</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
126
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a420e6656b02fd900430d51b8b4a5c6c1">LoopAnalysis</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
127
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb">LoopBound</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
128
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a30abe362add49b0b7083f34530aa446c">MallocOnly</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
129
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5cfcf1ddc44ff175c4766f88bf204c03">MarkedClocksOnly</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
130
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a344ca0e4b8d9159836e558aed44be1b4">MaxBddSize</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
131
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">MaxContextLen</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
132
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc">MaxFieldLimit</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
133
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">MaxPathLen</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
134
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84">MaxStepInWrapper</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
135
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a74b821736a04f89adb79d6fd5369cdc3">MemPar</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
136
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a69579e2f37962afdbb292a36782511ed">MergePWC</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
137
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a170426acc0f9d99470fd1bde40d273e2">ModelArrays</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
138
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5c051cf6a93a87a07aa1d31e302a2877">ModelConsts</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
139
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a4ac0e6b77fc9ccc18b269268b3cd046d">MSSAFun</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
140
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">NodeAllocStrat</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
141
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a2780c16611375631cd48bf9487f9e0bf">OCGDotGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
142
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a08c25694f8f9e31eb8b116ad58c1c078">Options</a>(void)=delete</td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"></td></tr>
143
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a7704ff30e6fc5043313adf5c655bcd4a">OPTSVFG</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
144
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a3a20311c732fb391332ae0ee1cb450a0">PAGDotGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
145
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a98df022c5da54ea30b3f0ce008d3ca80">PAGPrint</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
146
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a1211da4c36f1fcc65235891f31d87038">PASelected</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
147
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">PlainMappingFs</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
148
- <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#af34d8a738db4f40addc1de930e79654f">PredictPtOcc</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
149
- <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a1b1d1ad6b3a6c48a9fa07161b582c7fe">PrintAliases</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
112
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a0d099b268241f4658eb06a14ef598888">GraphIsFromDot</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
113
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#aa5c4bc8e55a056adcd7a6f8946ad5f38">Graphtxt</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
114
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#ad2d3db3e407a53956a5a59cc24eb8d40">HandBlackHole</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
115
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a50182faec95c6c4635df65a55148b040">IgnoreDeadFun</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
116
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5896e2aaf59305441a74ede0dfb85845">INCDFPTData</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
117
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#ad6c29b05188c9e06aa89623c61865ed8">IndirectCallLimit</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
118
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a322f78488d420e41a648d603f2773c56">InputFilename</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
119
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a35cfe6add81dc82983e0c53c36c6e667">InsenCycle</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
120
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#aa1a3b9293dffeef1bb16a2a7b3a007dd">InsenRecur</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
121
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a1bc10a5947bf3912c6f22e094ccac464">IntraLock</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
122
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#acd687c31bb6662940ab8a1c3d17dc1ef">KeepAOFI</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
123
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a78b3b44f2c0dc94dc1363ca57ee76d66">LockValid</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
124
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#aba8e13f8bb26cf6a0718282e6f9a1940">LocMemModel</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
125
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a420e6656b02fd900430d51b8b4a5c6c1">LoopAnalysis</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
126
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb">LoopBound</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
127
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a30abe362add49b0b7083f34530aa446c">MallocOnly</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
128
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5cfcf1ddc44ff175c4766f88bf204c03">MarkedClocksOnly</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
129
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a344ca0e4b8d9159836e558aed44be1b4">MaxBddSize</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
130
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8">MaxContextLen</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
131
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc">MaxFieldLimit</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
132
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c">MaxPathLen</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
133
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84">MaxStepInWrapper</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
134
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a74b821736a04f89adb79d6fd5369cdc3">MemPar</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
135
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a69579e2f37962afdbb292a36782511ed">MergePWC</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
136
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a170426acc0f9d99470fd1bde40d273e2">ModelArrays</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
137
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a5c051cf6a93a87a07aa1d31e302a2877">ModelConsts</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
138
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a4ac0e6b77fc9ccc18b269268b3cd046d">MSSAFun</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
139
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a2537be131132830c63d408133619a065">NodeAllocStrat</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
140
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a2780c16611375631cd48bf9487f9e0bf">OCGDotGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
141
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a08c25694f8f9e31eb8b116ad58c1c078">Options</a>(void)=delete</td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"></td></tr>
142
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a7704ff30e6fc5043313adf5c655bcd4a">OPTSVFG</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
143
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a3a20311c732fb391332ae0ee1cb450a0">PAGDotGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
144
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a98df022c5da54ea30b3f0ce008d3ca80">PAGPrint</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
145
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a1211da4c36f1fcc65235891f31d87038">PASelected</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
146
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a75a38fff97f7f18f3945c953cabc168b">PlainMappingFs</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
147
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#af34d8a738db4f40addc1de930e79654f">PredictPtOcc</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
148
+ <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a1b1d1ad6b3a6c48a9fa07161b582c7fe">PrintAliases</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
149
+ <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#a0beb2da0f9ab691c0b7729bb42f8354c">PrintCFL</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
150
150
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#a87516daebb3d1b5fee9037068d60e268">PrintCGGraph</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
151
151
  <tr><td class="entry"><a class="el" href="classSVF_1_1Options.html#aee5e47ee3ca9bacb514f9dfbcb3abf24">PrintCPts</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
152
152
  <tr class="even"><td class="entry"><a class="el" href="classSVF_1_1Options.html#adf6c289ef9f2d0196984dd4024ea4316">PrintDCHG</a></td><td class="entry"><a class="el" href="classSVF_1_1Options.html">SVF::Options</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
@@ -319,14 +319,14 @@ Static Public Attributes</h2></td></tr>
319
319
  <tr class="separator:ab9db3ae038f26a350afc964952907bd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
320
320
  <tr class="memitem:adec2012e10130f664fe0ea3acf39f78b"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#adec2012e10130f664fe0ea3acf39f78b">ShowHiddenNode</a></td></tr>
321
321
  <tr class="separator:adec2012e10130f664fe0ea3acf39f78b"><td class="memSeparator" colspan="2">&#160;</td></tr>
322
- <tr class="memitem:a322f78488d420e41a648d603f2773c56"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a322f78488d420e41a648d603f2773c56">InputFilename</a></td></tr>
323
- <tr class="separator:a322f78488d420e41a648d603f2773c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
324
322
  <tr class="memitem:aa929e2ae2c0a78181c3a1311bfe73596"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#aa929e2ae2c0a78181c3a1311bfe73596">GrammarFilename</a></td></tr>
325
323
  <tr class="separator:aa929e2ae2c0a78181c3a1311bfe73596"><td class="memSeparator" colspan="2">&#160;</td></tr>
324
+ <tr class="memitem:a322f78488d420e41a648d603f2773c56"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; <a class="el" href="cJSON_8cpp.html#ae1adbce218e7a9d09164012443191d24">std::string</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a322f78488d420e41a648d603f2773c56">InputFilename</a></td></tr>
325
+ <tr class="separator:a322f78488d420e41a648d603f2773c56"><td class="memSeparator" colspan="2">&#160;</td></tr>
326
326
  <tr class="memitem:a0d099b268241f4658eb06a14ef598888"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a0d099b268241f4658eb06a14ef598888">GraphIsFromDot</a></td></tr>
327
327
  <tr class="separator:a0d099b268241f4658eb06a14ef598888"><td class="memSeparator" colspan="2">&#160;</td></tr>
328
- <tr class="memitem:a5bbbe648c96c9600e9c825dd31585785"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a5bbbe648c96c9600e9c825dd31585785">GrammarIsEBNF</a></td></tr>
329
- <tr class="separator:a5bbbe648c96c9600e9c825dd31585785"><td class="memSeparator" colspan="2">&#160;</td></tr>
328
+ <tr class="memitem:a0beb2da0f9ab691c0b7729bb42f8354c"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a0beb2da0f9ab691c0b7729bb42f8354c">PrintCFL</a></td></tr>
329
+ <tr class="separator:a0beb2da0f9ab691c0b7729bb42f8354c"><td class="memSeparator" colspan="2">&#160;</td></tr>
330
330
  <tr class="memitem:a79dff5235e82e1313fa4b053f866f357"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a79dff5235e82e1313fa4b053f866f357">FlexSymMap</a></td></tr>
331
331
  <tr class="separator:a79dff5235e82e1313fa4b053f866f357"><td class="memSeparator" colspan="2">&#160;</td></tr>
332
332
  <tr class="memitem:a420e6656b02fd900430d51b8b4a5c6c1"><td class="memItemLeft" align="right" valign="top">static const llvm::cl::opt&lt; bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1Options.html#a420e6656b02fd900430d51b8b4a5c6c1">LoopAnalysis</a></td></tr>
@@ -1333,31 +1333,7 @@ Static Public Attributes</h2></td></tr>
1333
1333
  </table>
1334
1334
  </div><div class="memdoc">
1335
1335
 
1336
- <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00252">252</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
1337
-
1338
- </div>
1339
- </div>
1340
- <a id="a5bbbe648c96c9600e9c825dd31585785"></a>
1341
- <h2 class="memtitle"><span class="permalink"><a href="#a5bbbe648c96c9600e9c825dd31585785">&#9670;&nbsp;</a></span>GrammarIsEBNF</h2>
1342
-
1343
- <div class="memitem">
1344
- <div class="memproto">
1345
- <table class="mlabels">
1346
- <tr>
1347
- <td class="mlabels-left">
1348
- <table class="memname">
1349
- <tr>
1350
- <td class="memname">const llvm::cl::opt&lt; bool &gt; SVF::Options::GrammarIsEBNF</td>
1351
- </tr>
1352
- </table>
1353
- </td>
1354
- <td class="mlabels-right">
1355
- <span class="mlabels"><span class="mlabel">static</span></span> </td>
1356
- </tr>
1357
- </table>
1358
- </div><div class="memdoc">
1359
-
1360
- <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00254">254</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
1336
+ <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00251">251</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
1361
1337
 
1362
1338
  </div>
1363
1339
  </div>
@@ -1525,7 +1501,7 @@ Static Public Attributes</h2></td></tr>
1525
1501
  </table>
1526
1502
  </div><div class="memdoc">
1527
1503
 
1528
- <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00251">251</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
1504
+ <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00252">252</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
1529
1505
 
1530
1506
  </div>
1531
1507
  </div>
@@ -2230,6 +2206,30 @@ Static Public Attributes</h2></td></tr>
2230
2206
 
2231
2207
  <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00243">243</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
2232
2208
 
2209
+ </div>
2210
+ </div>
2211
+ <a id="a0beb2da0f9ab691c0b7729bb42f8354c"></a>
2212
+ <h2 class="memtitle"><span class="permalink"><a href="#a0beb2da0f9ab691c0b7729bb42f8354c">&#9670;&nbsp;</a></span>PrintCFL</h2>
2213
+
2214
+ <div class="memitem">
2215
+ <div class="memproto">
2216
+ <table class="mlabels">
2217
+ <tr>
2218
+ <td class="mlabels-left">
2219
+ <table class="memname">
2220
+ <tr>
2221
+ <td class="memname">const llvm::cl::opt&lt; bool &gt; SVF::Options::PrintCFL</td>
2222
+ </tr>
2223
+ </table>
2224
+ </td>
2225
+ <td class="mlabels-right">
2226
+ <span class="mlabels"><span class="mlabel">static</span></span> </td>
2227
+ </tr>
2228
+ </table>
2229
+ </div><div class="memdoc">
2230
+
2231
+ <p class="definition">Definition at line <a class="el" href="Options_8h_source.html#l00254">254</a> of file <a class="el" href="Options_8h_source.html">Options.h</a>.</p>
2232
+
2233
2233
  </div>
2234
2234
  </div>
2235
2235
  <a id="a87516daebb3d1b5fee9037068d60e268"></a>
@@ -986,15 +986,15 @@ Private Attributes</h2></td></tr>
986
986
  <p>Thread interference analysis, Suppose we have a undirected graph G = {F,E,I} F denotes procedure, E represents interference edge (x,y) E, x F, y F means execution of x in one thread may overlap execution of y in another thread I(x,y) is a set of memory locations for this interference edge </p>
987
987
 
988
988
  <p class="definition">Definition at line <a class="el" href="PCG_8cpp_source.html#l00278">278</a> of file <a class="el" href="PCG_8cpp_source.html">PCG.cpp</a>.</p>
989
- <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;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment">// DBOUT(DMTA, outs() &lt;&lt; pasMsg(&quot;Starting Race Detection\n&quot;));</span></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; <a class="code" href="classSVF_1_1PCG.html#aca2efdefda1f95a6450eca4a781cbefa">PCG::FunVec</a> worklist;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> <a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a> = <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); <a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a> != E; ++<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; worklist.push_back(fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</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">while</span> (!worklist.empty())</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun1 = worklist.back();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; worklist.pop_back();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordtype">bool</span> ismhpfun = <span class="keyword">false</span>;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">for</span> (PCG::FunVec::iterator it = worklist.begin(), eit = worklist.end(); it != eit; ++it)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun2 = *it;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PCG.html#a4cab54d7273424c8b26376d8daf15e06">mayHappenInParallelBetweenFunctions</a>(fun1, fun2))</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; ismhpfun = <span class="keyword">true</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>.insert(fun2);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (ismhpfun)</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>.insert(fun1);</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; }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div><div class="ttc" id="classSVF_1_1PCG_html_a4cab54d7273424c8b26376d8daf15e06"><div class="ttname"><a href="classSVF_1_1PCG.html#a4cab54d7273424c8b26376d8daf15e06">SVF::PCG::mayHappenInParallelBetweenFunctions</a></div><div class="ttdeci">bool mayHappenInParallelBetweenFunctions(const Function *fun1, const Function *fun2) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00042">PCG.cpp:42</a></div></div>
989
+ <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;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;<span class="comment">// DBOUT(DMTA, outs() &lt;&lt; pasMsg(&quot;Starting Race Detection\n&quot;));</span></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; <a class="code" href="classSVF_1_1PCG.html#aca2efdefda1f95a6450eca4a781cbefa">PCG::FunVec</a> worklist;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a> = <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a> != E; ++<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; {</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; worklist.push_back(fun-&gt;<a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</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">while</span> (!worklist.empty())</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; {</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun1 = worklist.back();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; worklist.pop_back();</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordtype">bool</span> ismhpfun = <span class="keyword">false</span>;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">for</span> (PCG::FunVec::iterator it = worklist.begin(), eit = worklist.end(); it != eit; ++it)</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun2 = *it;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PCG.html#a4cab54d7273424c8b26376d8daf15e06">mayHappenInParallelBetweenFunctions</a>(fun1, fun2))</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; {</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; ismhpfun = <span class="keyword">true</span>;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>.insert(fun2);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; }</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; }</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keywordflow">if</span> (ismhpfun)</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; {</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>.insert(fun1);</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; }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div><div class="ttc" id="classSVF_1_1PCG_html_a4cab54d7273424c8b26376d8daf15e06"><div class="ttname"><a href="classSVF_1_1PCG.html#a4cab54d7273424c8b26376d8daf15e06">SVF::PCG::mayHappenInParallelBetweenFunctions</a></div><div class="ttdeci">bool mayHappenInParallelBetweenFunctions(const Function *fun1, const Function *fun2) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00042">PCG.cpp:42</a></div></div>
990
990
  <div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00147">SVFModule.h:147</a></div></div>
991
991
  <div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00126">BasicTypes.h:126</a></div></div>
992
992
  <div class="ttc" id="classSVF_1_1PCG_html_a985b0c790c582d15e6242950ac66f574"><div class="ttname"><a href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">SVF::PCG::mod</a></div><div class="ttdeci">SVFModule * mod</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00044">PCG.h:44</a></div></div>
993
993
  <div class="ttc" id="classSVF_1_1PCG_html_a96f91b051a8035b614e015bf4d5081e0"><div class="ttname"><a href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">SVF::PCG::mhpfuns</a></div><div class="ttdeci">FunSet mhpfuns</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00042">PCG.h:42</a></div></div>
994
994
  <div class="ttc" id="namespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
995
995
  <div class="ttc" id="classSVF_1_1PCG_html_aca2efdefda1f95a6450eca4a781cbefa"><div class="ttname"><a href="classSVF_1_1PCG.html#aca2efdefda1f95a6450eca4a781cbefa">SVF::PCG::FunVec</a></div><div class="ttdeci">std::vector&lt; const Function * &gt; FunVec</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00033">PCG.h:33</a></div></div>
996
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
997
996
  <div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00142">BasicTypes.h:142</a></div></div>
997
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
998
998
  <div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00155">SVFModule.h:155</a></div></div>
999
999
  <div class="ttc" id="classSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00052">SVFModule.h:52</a></div></div>
1000
1000
  <div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00358">SVFUtil.h:358</a></div></div>
@@ -2027,7 +2027,7 @@ Private Member Functions</h2></td></tr>
2027
2027
  </div><div class="memdoc">
2028
2028
  <p>Given an object, get all the nodes having whose pointsto contains the object. Similar to getPts, this also needs to be implemented in child classes. </p>
2029
2029
 
2030
- <p>Implemented in <a class="el" href="classSVF_1_1CondPTAImpl.html#aa266eef30817c557882de19aefe135a9">SVF::CondPTAImpl&lt; Cond &gt;</a>, <a class="el" href="classSVF_1_1CondPTAImpl.html#aa266eef30817c557882de19aefe135a9">SVF::CondPTAImpl&lt; ContextCond &gt;</a>, <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a58113943e4e7144d94d26991dcc8bcc7">SVF::BVDataPTAImpl</a>, and <a class="el" href="classSVF_1_1CFLAlias.html#abcb07a089b7b1036d070c451a81cef5d">SVF::CFLAlias</a>.</p>
2030
+ <p>Implemented in <a class="el" href="classSVF_1_1CondPTAImpl.html#aa266eef30817c557882de19aefe135a9">SVF::CondPTAImpl&lt; Cond &gt;</a>, <a class="el" href="classSVF_1_1CondPTAImpl.html#aa266eef30817c557882de19aefe135a9">SVF::CondPTAImpl&lt; ContextCond &gt;</a>, <a class="el" href="classSVF_1_1CFLAlias.html#abcb07a089b7b1036d070c451a81cef5d">SVF::CFLAlias</a>, and <a class="el" href="classSVF_1_1BVDataPTAImpl.html#a58113943e4e7144d94d26991dcc8bcc7">SVF::BVDataPTAImpl</a>.</p>
2031
2031
 
2032
2032
  </div>
2033
2033
  </div>
@@ -284,7 +284,7 @@ Static Private Attributes</h2></td></tr>
284
284
  <p>Collect the targets for validations. The targets should be memory access Instructions in pairs. The collected targets are stored in the member variable "accessPairs". </p>
285
285
 
286
286
  <p class="definition">Definition at line <a class="el" href="MTAResultValidator_8h_source.html#l00274">274</a> of file <a class="el" href="MTAResultValidator_8h_source.html">MTAResultValidator.h</a>.</p>
287
- <div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">// Collect call sites of all RC_ACCESS function calls.</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; std::vector&lt;const CallInst*&gt; csInsts;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="code" href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">M</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(); it != <a class="code" href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">M</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); it++)</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="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fName = (*it)-&gt;getName().str();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span>(fName.find(<a class="code" href="classSVF_1_1RaceResultValidator.html#ae296de41ead49fcff5ea9e7a5afde1c9">RC_ACCESS</a>) != std::string::npos)</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; F = (*it);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">break</span>;</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; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (!F) <span class="keywordflow">return</span>;</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">for</span> (Value::const_use_iterator it = F-&gt;use_begin(), ie =</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; F-&gt;use_end(); it != ie; ++it)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">const</span> <a class="code" href="SVF-FE_2BasicTypes_8h.html#a9c01c67684e99545d8e0403321594977">Use</a> *u = &amp;*it;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *user = u-&gt;getUser();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *csInst = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a>&gt;(user);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(csInst);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; csInsts.push_back(csInst);</div><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="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(csInsts.size() % 2 == 0 &amp;&amp; <span class="stringliteral">&quot;We should have RC_ACCESS called in pairs.&quot;</span>);</div><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; <span class="comment">// Sort the validation sites according to their ids.</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; std::sort(csInsts.begin(), csInsts.end(), <a class="code" href="classSVF_1_1RaceResultValidator.html#a7a16fb7a3f382284dbb080802f6e6f43">compare</a>);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// Generate access pairs.</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, e = csInsts.size(); i != e;)</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *CI1 = csInsts[i++];</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *CI2 = csInsts[i++];</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(CI1-&gt;getOperand(1));</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(C);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I1 = <a class="code" href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">getPreviousMemoryAccessInst</a>(CI1);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I2 = <a class="code" href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">getPreviousMemoryAccessInst</a>(CI2);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(I1 &amp;&amp; I2 &amp;&amp; <span class="stringliteral">&quot;RC_ACCESS should be placed immediately after the target memory access.&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1RaceResultValidator.html#ac57ae430ee5b6868fe810172ec658853">RC_FLAG</a> flags = C-&gt;getZExtValue();</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1RaceResultValidator.html#a8436ecde1e34bca7cef86a320ad42162">accessPairs</a>.push_back(AccessPair(I1, I2, flags));</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; }</div><div class="ttc" id="classSVF_1_1SVFModule_html_af38d0f831967d6d8391a4c84e58d6519"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">SVF::SVFModule::llvmFunEnd</a></div><div class="ttdeci">llvm_iterator llvmFunEnd()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00138">SVFModule.h:138</a></div></div>
287
+ <div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; {</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="comment">// Collect call sites of all RC_ACCESS function calls.</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; std::vector&lt;const CallInst*&gt; csInsts;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a> *<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a> = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = <a class="code" href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">M</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#a648542aa5c4b487ad5aa12a39d15e951">llvmFunBegin</a>(); it != <a class="code" href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">M</a>-&gt;<a class="code" href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">llvmFunEnd</a>(); it++)</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="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> fName = (*it)-&gt;getName().str();</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <span class="keywordflow">if</span>(fName.find(<a class="code" href="classSVF_1_1RaceResultValidator.html#ae296de41ead49fcff5ea9e7a5afde1c9">RC_ACCESS</a>) != std::string::npos)</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; {</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; F = (*it);</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; <span class="keywordflow">break</span>;</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; }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; <span class="keywordflow">if</span> (!F) <span class="keywordflow">return</span>;</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">for</span> (Value::const_use_iterator it = F-&gt;use_begin(), ie =</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; F-&gt;use_end(); it != ie; ++it)</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keyword">const</span> <a class="code" href="SVF-FE_2BasicTypes_8h.html#a9c01c67684e99545d8e0403321594977">Use</a> *u = &amp;*it;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *user = u-&gt;getUser();</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *csInst = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a>&gt;(user);</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(csInst);</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; csInsts.push_back(csInst);</div><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="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(csInsts.size() % 2 == 0 &amp;&amp; <span class="stringliteral">&quot;We should have RC_ACCESS called in pairs.&quot;</span>);</div><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; <span class="comment">// Sort the validation sites according to their ids.</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; std::sort(csInsts.begin(), csInsts.end(), <a class="code" href="classSVF_1_1RaceResultValidator.html#a7a16fb7a3f382284dbb080802f6e6f43">compare</a>);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; <span class="comment">// Generate access pairs.</span></div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, e = csInsts.size(); i != e;)</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *CI1 = csInsts[i++];</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">CallInst</a> *CI2 = csInsts[i++];</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a> *C = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a>&lt;<a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>&gt;(CI1-&gt;getOperand(1));</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(C);</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I1 = <a class="code" href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">getPreviousMemoryAccessInst</a>(CI1);</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a> *I2 = <a class="code" href="classSVF_1_1RaceResultValidator.html#ad029f7a9a5161191a44d1e841f9d6114">getPreviousMemoryAccessInst</a>(CI2);</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(I1 &amp;&amp; I2 &amp;&amp; <span class="stringliteral">&quot;RC_ACCESS should be placed immediately after the target memory access.&quot;</span>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <a class="code" href="classSVF_1_1RaceResultValidator.html#ac57ae430ee5b6868fe810172ec658853">RC_FLAG</a> flags = C-&gt;getZExtValue();</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <a class="code" href="classSVF_1_1RaceResultValidator.html#a8436ecde1e34bca7cef86a320ad42162">accessPairs</a>.push_back(AccessPair(I1, I2, flags));</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; }</div><div class="ttc" id="classSVF_1_1SVFModule_html_af38d0f831967d6d8391a4c84e58d6519"><div class="ttname"><a href="classSVF_1_1SVFModule.html#af38d0f831967d6d8391a4c84e58d6519">SVF::SVFModule::llvmFunEnd</a></div><div class="ttdeci">llvm_iterator llvmFunEnd()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00138">SVFModule.h:138</a></div></div>
288
288
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_a7a16fb7a3f382284dbb080802f6e6f43"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a7a16fb7a3f382284dbb080802f6e6f43">SVF::RaceResultValidator::compare</a></div><div class="ttdeci">static bool compare(const CallInst *CI1, const CallInst *CI2)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00393">MTAResultValidator.h:393</a></div></div>
289
289
  <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>
290
290
  <div class="ttc" id="namespaceSVF_html_adc8b60ca7d60cf6c81feae20e4a04c63"><div class="ttname"><a href="namespaceSVF.html#adc8b60ca7d60cf6c81feae20e4a04c63">SVF::CallInst</a></div><div class="ttdeci">llvm::CallInst CallInst</div><div class="ttdoc">LLVM Instructions. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
@@ -296,8 +296,8 @@ Static Private Attributes</h2></td></tr>
296
296
  <div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
297
297
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_ae296de41ead49fcff5ea9e7a5afde1c9"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#ae296de41ead49fcff5ea9e7a5afde1c9">SVF::RaceResultValidator::RC_ACCESS</a></div><div class="ttdeci">static constexpr char const * RC_ACCESS</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00438">MTAResultValidator.h:438</a></div></div>
298
298
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_a8436ecde1e34bca7cef86a320ad42162"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a8436ecde1e34bca7cef86a320ad42162">SVF::RaceResultValidator::accessPairs</a></div><div class="ttdeci">std::vector&lt; AccessPair &gt; accessPairs</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00386">MTAResultValidator.h:386</a></div></div>
299
- <div class="ttc" id="CFLGrammar_8txt_html_acc7b4cf736579c4d83be2316d5a9e5f2"><div class="ttname"><a href="CFLGrammar_8txt.html#acc7b4cf736579c4d83be2316d5a9e5f2">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00013">CFLGrammar.txt:13</a></div></div>
300
299
  <div class="ttc" id="SVF-FE_2BasicTypes_8h_html_a9c01c67684e99545d8e0403321594977"><div class="ttname"><a href="SVF-FE_2BasicTypes_8h.html#a9c01c67684e99545d8e0403321594977">Use</a></div><div class="ttdeci">llvm::Use Use</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00029">BasicTypes.h:29</a></div></div>
300
+ <div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
301
301
  <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>
302
302
  <div class="ttc" id="classSVF_1_1RaceResultValidator_html_abd3ad42a71357dfd1483e6e0d18d5ebd"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#abd3ad42a71357dfd1483e6e0d18d5ebd">SVF::RaceResultValidator::M</a></div><div class="ttdeci">SVFModule * M</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8h_source.html#l00385">MTAResultValidator.h:385</a></div></div>
303
303
  <div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>