svf-tools 1.0.313 → 1.0.314

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 (126) hide show
  1. package/SVF-doxygen/html/html/Andersen_8cpp_source.html +4 -4
  2. package/SVF-doxygen/html/html/CHG_8cpp_source.html +1 -1
  3. package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +4 -4
  4. package/SVF-doxygen/html/html/MemModelBuilder_8cpp.html +90 -0
  5. package/SVF-doxygen/html/html/MemModelBuilder_8cpp_source.html +205 -0
  6. package/SVF-doxygen/html/html/MemModelBuilder_8h.html +97 -0
  7. package/SVF-doxygen/html/html/MemModelBuilder_8h_source.html +105 -0
  8. package/SVF-doxygen/html/html/MemModel_8cpp_source.html +1 -1
  9. package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +1 -1
  10. package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +12 -12
  11. package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +12 -12
  12. package/SVF-doxygen/html/html/PAGBuilder_8cpp_source.html +11 -11
  13. package/SVF-doxygen/html/html/PAGNode_8h_source.html +2 -2
  14. package/SVF-doxygen/html/html/PAG_8cpp_source.html +3 -3
  15. package/SVF-doxygen/html/html/PAG_8h_source.html +21 -21
  16. package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +2 -2
  17. package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +2 -2
  18. package/SVF-doxygen/html/html/SVFModule_8cpp.html +1 -1
  19. package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +5 -4
  20. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -59
  21. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +86 -97
  22. package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/annotated.html +135 -134
  24. package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +4 -4
  25. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +1 -1
  26. package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +4 -4
  27. package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +2 -2
  28. package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +1 -1
  29. package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder-members.html +95 -0
  30. package/SVF-doxygen/html/html/classSVF_1_1MemModelBuilder.html +711 -0
  31. package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
  32. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator-members.html +1 -1
  33. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator.html +7 -7
  34. package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +34 -34
  35. package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
  36. package/SVF-doxygen/html/html/classSVF_1_1PAG.html +27 -27
  37. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilder.html +21 -21
  38. package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
  39. package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +2 -2
  40. package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
  41. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +45 -56
  42. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +266 -778
  43. package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +2 -2
  44. package/SVF-doxygen/html/html/classes.html +89 -89
  45. package/SVF-doxygen/html/html/dir_5840dc76920ee0f379cd88b55fa041fd.html +1 -1
  46. package/SVF-doxygen/html/html/dir_770a542efe75a1b68c109cb4e4290224.html +1 -1
  47. package/SVF-doxygen/html/html/files.html +2 -2
  48. package/SVF-doxygen/html/html/functions_a.html +1 -1
  49. package/SVF-doxygen/html/html/functions_b.html +1 -1
  50. package/SVF-doxygen/html/html/functions_c.html +10 -11
  51. package/SVF-doxygen/html/html/functions_e.html +1 -1
  52. package/SVF-doxygen/html/html/functions_f.html +3 -3
  53. package/SVF-doxygen/html/html/functions_func.html +1 -1
  54. package/SVF-doxygen/html/html/functions_func_b.html +1 -1
  55. package/SVF-doxygen/html/html/functions_func_c.html +8 -7
  56. package/SVF-doxygen/html/html/functions_func_e.html +1 -1
  57. package/SVF-doxygen/html/html/functions_func_g.html +1 -1
  58. package/SVF-doxygen/html/html/functions_func_h.html +3 -3
  59. package/SVF-doxygen/html/html/functions_func_i.html +1 -1
  60. package/SVF-doxygen/html/html/functions_func_m.html +3 -0
  61. package/SVF-doxygen/html/html/functions_func_p.html +1 -1
  62. package/SVF-doxygen/html/html/functions_func_s.html +8 -5
  63. package/SVF-doxygen/html/html/functions_g.html +1 -1
  64. package/SVF-doxygen/html/html/functions_h.html +3 -3
  65. package/SVF-doxygen/html/html/functions_i.html +4 -4
  66. package/SVF-doxygen/html/html/functions_l.html +5 -5
  67. package/SVF-doxygen/html/html/functions_m.html +4 -0
  68. package/SVF-doxygen/html/html/functions_n.html +4 -4
  69. package/SVF-doxygen/html/html/functions_p.html +10 -6
  70. package/SVF-doxygen/html/html/functions_r.html +2 -2
  71. package/SVF-doxygen/html/html/functions_rela.html +3 -0
  72. package/SVF-doxygen/html/html/functions_s.html +20 -16
  73. package/SVF-doxygen/html/html/functions_t.html +3 -3
  74. package/SVF-doxygen/html/html/functions_u.html +3 -3
  75. package/SVF-doxygen/html/html/functions_v.html +3 -3
  76. package/SVF-doxygen/html/html/functions_vars_s.html +2 -1
  77. package/SVF-doxygen/html/html/functions_w.html +3 -1
  78. package/SVF-doxygen/html/html/hierarchy.html +127 -126
  79. package/SVF-doxygen/html/html/namespaceSVF.html +2 -0
  80. package/SVF-doxygen/html/html/search/all_1.js +1 -1
  81. package/SVF-doxygen/html/html/search/all_10.js +6 -6
  82. package/SVF-doxygen/html/html/search/all_12.js +1 -1
  83. package/SVF-doxygen/html/html/search/all_13.js +5 -4
  84. package/SVF-doxygen/html/html/search/all_14.js +5 -5
  85. package/SVF-doxygen/html/html/search/all_15.js +2 -2
  86. package/SVF-doxygen/html/html/search/all_16.js +1 -1
  87. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  88. package/SVF-doxygen/html/html/search/all_2.js +1 -1
  89. package/SVF-doxygen/html/html/search/all_3.js +7 -7
  90. package/SVF-doxygen/html/html/search/all_5.js +1 -1
  91. package/SVF-doxygen/html/html/search/all_6.js +1 -1
  92. package/SVF-doxygen/html/html/search/all_7.js +1 -1
  93. package/SVF-doxygen/html/html/search/all_8.js +3 -3
  94. package/SVF-doxygen/html/html/search/all_9.js +2 -2
  95. package/SVF-doxygen/html/html/search/all_c.js +2 -4
  96. package/SVF-doxygen/html/html/search/all_d.js +4 -1
  97. package/SVF-doxygen/html/html/search/all_e.js +3 -3
  98. package/SVF-doxygen/html/html/search/classes_a.js +1 -0
  99. package/SVF-doxygen/html/html/search/files_8.js +1 -3
  100. package/SVF-doxygen/html/html/search/files_9.js +2 -0
  101. package/SVF-doxygen/html/html/search/functions_0.js +1 -1
  102. package/SVF-doxygen/html/html/search/functions_1.js +1 -1
  103. package/SVF-doxygen/html/html/search/functions_10.js +1 -0
  104. package/SVF-doxygen/html/html/search/functions_2.js +6 -6
  105. package/SVF-doxygen/html/html/search/functions_4.js +1 -1
  106. package/SVF-doxygen/html/html/search/functions_6.js +1 -1
  107. package/SVF-doxygen/html/html/search/functions_7.js +3 -3
  108. package/SVF-doxygen/html/html/search/functions_8.js +1 -1
  109. package/SVF-doxygen/html/html/search/functions_b.js +1 -0
  110. package/SVF-doxygen/html/html/search/functions_e.js +1 -1
  111. package/SVF-doxygen/html/html/search/related_3.js +1 -0
  112. package/SVF-doxygen/html/html/search/variables_13.js +1 -1
  113. package/SVF-doxygen/html/html/search/variables_14.js +3 -3
  114. package/SVF-doxygen/html/html/search/variables_15.js +1 -1
  115. package/SVF-doxygen/html/html/search/variables_d.js +1 -1
  116. package/SVF-doxygen/html/html/search/variables_e.js +2 -2
  117. package/include/SVF-FE/MemModelBuilder.h +102 -0
  118. package/include/SVF-FE/SymbolTableInfo.h +7 -32
  119. package/include/Util/NodeIDAllocator.h +1 -1
  120. package/lib/SVF-FE/MemModelBuilder.cpp +616 -0
  121. package/lib/SVF-FE/SymbolTableInfo.cpp +0 -570
  122. package/lib/Util/NodeIDAllocator.cpp +2 -1
  123. package/lib/Util/SVFModule.cpp +3 -2
  124. package/package.json +1 -1
  125. package/include/SVF-FE/LocMemModel.h +0 -35
  126. package/lib/SVF-FE/LocMemModel.cpp +0 -31
@@ -52,7 +52,7 @@ var searchData=
52
52
  ['buildglobaldeftorepmap',['buildGlobalDefToRepMap',['../classSVF_1_1LLVMModuleSet.html#aaab03cb6ff665bc008c67b866ba81e47',1,'SVF::LLVMModuleSet']]],
53
53
  ['buildinternalmaps',['buildInternalMaps',['../classSVF_1_1CHGraph.html#ab55b057a7be74ad03514dc15b6f01131',1,'SVF::CHGraph']]],
54
54
  ['buildisstoreloadmaps',['buildIsStoreLoadMaps',['../classSVF_1_1VersionedFlowSensitive.html#a8da4b9bd9d0c640a6857b4dc4991817c',1,'SVF::VersionedFlowSensitive']]],
55
- ['buildmemmodel',['buildMemModel',['../classSVF_1_1SymbolTableInfo.html#a74481bb26d77d8c8bca91efd3e23c08e',1,'SVF::SymbolTableInfo']]],
55
+ ['buildmemmodel',['buildMemModel',['../classSVF_1_1MemModelBuilder.html#aa38a3ce969852945fb914bab56fe8850',1,'SVF::MemModelBuilder']]],
56
56
  ['buildmemssa',['buildMemSSA',['../classSVF_1_1MemSSA.html#ae56d1878046c119d1857727ca3609d74',1,'SVF::MemSSA']]],
57
57
  ['buildmssa',['buildMSSA',['../classSVF_1_1SVFGBuilder.html#a49cee21be46d6a3f65eec638714038ed',1,'SVF::SVFGBuilder']]],
58
58
  ['buildofflinecg',['buildOfflineCG',['../classSVF_1_1OfflineConsG.html#ac6197a5515ace76b2d51451f5149aef7',1,'SVF::OfflineConsG']]],
@@ -62,6 +62,7 @@ var searchData=
62
62
  ['setmemusagebefore',['setMemUsageBefore',['../classSVF_1_1DDAStat.html#accadfa44f7cf9f107e4c8d100ce8db0d',1,'SVF::DDAStat']]],
63
63
  ['setmergednode',['setMergedNode',['../classSVF_1_1AndersenHCD.html#a6d6d770848a42c6291db663ab138461d',1,'SVF::AndersenHCD']]],
64
64
  ['setmodelconstants',['setModelConstants',['../classSVF_1_1SymbolTableInfo.html#a4decfc9e7f5dc096d7bfa42d6965763d',1,'SVF::SymbolTableInfo']]],
65
+ ['setmodule',['setModule',['../classSVF_1_1SymbolTableInfo.html#a4f916c64ca04c4db30bd19fb8505724d',1,'SVF::SymbolTableInfo']]],
65
66
  ['setmultiforked',['setMultiforked',['../classSVF_1_1TCTNode.html#a0fafde34cdffde6d38bb9efca9b7a9a1',1,'SVF::TCTNode']]],
66
67
  ['setmultiforkedattrs',['setMultiForkedAttrs',['../classSVF_1_1TCT.html#a11e36f9b58646dee4014e12e55c70508',1,'SVF::TCT']]],
67
68
  ['setmultiinheritance',['setMultiInheritance',['../classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440',1,'SVF::CHNode::setMultiInheritance()'],['../classSVF_1_1DCHNode.html#a798e80f0cc5951789474abc3a0999166',1,'SVF::DCHNode::setMultiInheritance()']]],
@@ -87,22 +87,22 @@ var searchData=
87
87
  ['collectmodrefforcall',['collectModRefForCall',['../classSVF_1_1MRGenerator.html#a502f8379620378b36bc12d9a91b408d2',1,'SVF::MRGenerator']]],
88
88
  ['collectmodrefforloadstore',['collectModRefForLoadStore',['../classSVF_1_1MRGenerator.html#a207dfa4c9f044764665478142c6e6b22',1,'SVF::MRGenerator']]],
89
89
  ['collectmultiforkedthreads',['collectMultiForkedThreads',['../classSVF_1_1TCT.html#ad15753a9c20d738325e5c0edea6c9c56',1,'SVF::TCT']]],
90
- ['collectobj',['collectObj',['../classSVF_1_1SymbolTableInfo.html#af639e9bc59f5fb9a6bf1748ef0d07d5e',1,'SVF::SymbolTableInfo']]],
90
+ ['collectobj',['collectObj',['../classSVF_1_1MemModelBuilder.html#a65811b9e59b29598fdac5e33ef2bc682',1,'SVF::MemModelBuilder']]],
91
91
  ['collectptschain',['CollectPtsChain',['../classSVF_1_1MRGenerator.html#a81bd687d34eea884dfcf68274fcec7b5',1,'SVF::MRGenerator::CollectPtsChain()'],['../classSVF_1_1SaberSVFGBuilder.html#a411e168e2a6c27e15186c609c5e216b3',1,'SVF::SaberSVFGBuilder::CollectPtsChain()']]],
92
92
  ['collectregdefs',['collectRegDefs',['../classSVF_1_1MemSSA.html#a7c0bb1406f0e583c38e522ca06dfa73a',1,'SVF::MemSSA']]],
93
93
  ['collectreguses',['collectRegUses',['../classSVF_1_1MemSSA.html#a8032c530b44e264544881d53d2fac390',1,'SVF::MemSSA']]],
94
- ['collectret',['collectRet',['../classSVF_1_1SymbolTableInfo.html#ae4a7d078322e99af965193c82b357239',1,'SVF::SymbolTableInfo']]],
94
+ ['collectret',['collectRet',['../classSVF_1_1MemModelBuilder.html#abb2767754c1640be1b88e26c2cd827af',1,'SVF::MemModelBuilder']]],
95
95
  ['collectscevinfo',['collectSCEVInfo',['../classSVF_1_1ForkJoinAnalysis.html#a731ece7e21bfa2b08ae16780b55f9f5f',1,'SVF::ForkJoinAnalysis']]],
96
96
  ['collectsimpletypeinfo',['collectSimpleTypeInfo',['../classSVF_1_1SymbolTableInfo.html#abf7567c655499d6744de8df689c11fad',1,'SVF::SymbolTableInfo']]],
97
97
  ['collectspawnees',['collectSpawnees',['../classSVF_1_1PCG.html#a8cff88e2a6cee5f655e491f9f2967460',1,'SVF::PCG']]],
98
98
  ['collectspawners',['collectSpawners',['../classSVF_1_1PCG.html#aef06745128e4e99c8e3bab226a337041',1,'SVF::PCG']]],
99
99
  ['collectstructinfo',['collectStructInfo',['../classSVF_1_1SymbolTableInfo.html#ab5297b79a02d8afce647a8b61bdab804',1,'SVF::SymbolTableInfo']]],
100
- ['collectsym',['collectSym',['../classSVF_1_1SymbolTableInfo.html#a7c422651a6cb299b0c94a2e4597fbe7c',1,'SVF::SymbolTableInfo']]],
100
+ ['collectsym',['collectSym',['../classSVF_1_1MemModelBuilder.html#ae87426d038c76ccdbb12f2b7d5d09173',1,'SVF::MemModelBuilder']]],
101
101
  ['collecttcttargets',['collectTCTTargets',['../classSVF_1_1MTAResultValidator.html#abdf31e8fca824b56a53788de525042a6',1,'SVF::MTAResultValidator']]],
102
102
  ['collecttypeinfo',['collectTypeInfo',['../classSVF_1_1SymbolTableInfo.html#aa99cab5480116905dd41ab0ad24b9462',1,'SVF::SymbolTableInfo']]],
103
- ['collectval',['collectVal',['../classSVF_1_1SymbolTableInfo.html#a135ec0f7574d4bcb4bc411ce5775f1f5',1,'SVF::SymbolTableInfo']]],
103
+ ['collectval',['collectVal',['../classSVF_1_1MemModelBuilder.html#af2660d3b74dd474823ae13e83e00d1f7',1,'SVF::MemModelBuilder']]],
104
104
  ['collectvalidationtargets',['collectValidationTargets',['../classSVF_1_1RaceResultValidator.html#adb3030fc7514506e2592e11898217375',1,'SVF::RaceResultValidator']]],
105
- ['collectvararg',['collectVararg',['../classSVF_1_1SymbolTableInfo.html#ae1fe33260d2a2d21f2c33aaf1b58fee3',1,'SVF::SymbolTableInfo']]],
105
+ ['collectvararg',['collectVararg',['../classSVF_1_1MemModelBuilder.html#ad7503ed106b59f2efb3d36bf3ac83c72',1,'SVF::MemModelBuilder']]],
106
106
  ['collectwpanum',['collectWPANum',['../classSVF_1_1DDAClient.html#a76b4c50a1051ff7c0b162b55473de028',1,'SVF::DDAClient']]],
107
107
  ['compare',['compare',['../classSVF_1_1RaceResultValidator.html#a7a16fb7a3f382284dbb080802f6e6f43',1,'SVF::RaceResultValidator']]],
108
108
  ['complementpts',['complementPts',['../classSVF_1_1PersistentPointsToCache.html#a86bf6959fb5587e350015d58d529af14',1,'SVF::PersistentPointsToCache']]],
@@ -186,7 +186,7 @@ var searchData=
186
186
  ['createmr',['createMR',['../classSVF_1_1MRGenerator.html#ac18324bd2b862c3cdbf65494bf69ecb5',1,'SVF::MRGenerator']]],
187
187
  ['createmuchi',['createMUCHI',['../classSVF_1_1MemSSA.html#a695adf83e8c40b9628b1866053f68033',1,'SVF::MemSSA']]],
188
188
  ['createnode',['createNode',['../classSVF_1_1CHGraph.html#a39a7a8f6a4b9bb03523f190ce7b91e58',1,'SVF::CHGraph']]],
189
- ['createobjtypeinfo',['createObjTypeInfo',['../classSVF_1_1SymbolTableInfo.html#aa392fef870b1d3adfc3fd18116782439',1,'SVF::SymbolTableInfo::createObjTypeInfo(const Value *val)'],['../classSVF_1_1SymbolTableInfo.html#a76971ba9b579907ef937cd7adda89562',1,'SVF::SymbolTableInfo::createObjTypeInfo(const Type *type=nullptr)']]],
189
+ ['createobjtypeinfo',['createObjTypeInfo',['../classSVF_1_1MemModelBuilder.html#a25943b60f7b6beada54bd49369086c49',1,'SVF::MemModelBuilder::createObjTypeInfo()'],['../classSVF_1_1SymbolTableInfo.html#a76971ba9b579907ef937cd7adda89562',1,'SVF::SymbolTableInfo::createObjTypeInfo()']]],
190
190
  ['createrefnode',['createRefNode',['../classSVF_1_1OfflineConsG.html#a984e82f3185be03b8d1cb942685b2010',1,'SVF::OfflineConsG']]],
191
191
  ['createsteensgaard',['createSteensgaard',['../classSVF_1_1Steensgaard.html#a33714348b5ed79d579039014f3092b87',1,'SVF::Steensgaard']]],
192
192
  ['createvfswpa',['createVFSWPA',['../classSVF_1_1VersionedFlowSensitive.html#ab7b98127319bac71bd84652e622b5958',1,'SVF::VersionedFlowSensitive']]],
@@ -15,7 +15,7 @@ var searchData=
15
15
  ['enableflow',['ENABLEFLOW',['../dda_8cpp.html#af95c31f8cf35812a4fe4a22342aacaa2',1,'dda.cpp']]],
16
16
  ['end',['end',['../classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d',1,'SVF::GenericGraph::end()'],['../classSVF_1_1GenericGraph.html#a3001af3746d26b7dc0a212db5e48a4bb',1,'SVF::GenericGraph::end() const'],['../classSVF_1_1CondStdSet.html#a93c232ef7e5dea652622da7f994e1dc3',1,'SVF::CondStdSet::end()'],['../classSVF_1_1CondStdSet.html#accc5305781696701c00245ed1e8a25a3',1,'SVF::CondStdSet::end() const'],['../classSVF_1_1CondPointsToSet.html#a5ead697952ada3fbb07da3459a2b1b86',1,'SVF::CondPointsToSet::end()'],['../classSVF_1_1CondPointsToSet.html#a537890d918d23abeea39bc73198f7365',1,'SVF::CondPointsToSet::end() const'],['../classSVF_1_1PointsTo.html#a8f741cdffbf3c5fe0f602cdca677dee6',1,'SVF::PointsTo::end()'],['../classSVF_1_1TypeSet.html#acc97e569aacfe626a501d34d84d4d860',1,'SVF::TypeSet::end()'],['../classSVF_1_1TypeSet.html#a6687c5c175d601b2f1ddab8aac0bdf4e',1,'SVF::TypeSet::end() const'],['../classSVF_1_1TypeSystem.html#a8c8733d3ab9a28a25d9886ee97c3341f',1,'SVF::TypeSystem::end()'],['../classSVF_1_1TypeSystem.html#a3c0e2a090705c1f6a67b36ee4c607b9d',1,'SVF::TypeSystem::end() const'],['../classllvm_1_1generic__bridge__gep__type__iterator.html#a4f13b7cccd69bdac2a4f5feff5625f01',1,'llvm::generic_bridge_gep_type_iterator::end()'],['../classSVF_1_1CoreBitVector.html#a93cdd9890522cc9fee2451567e0b1f0d',1,'SVF::CoreBitVector::end()'],['../classSVF_1_1ContextCond.html#a4b56b54896a1241032d7614309829399',1,'SVF::ContextCond::end()'],['../classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31',1,'SVF::SVFModule::end()'],['../classSVF_1_1SVFModule.html#ad3f057892f970c22ef3bf345841eb4cc',1,'SVF::SVFModule::end() const']]],
17
17
  ['endclk',['endClk',['../classSVF_1_1PTAStat.html#afe854f7416ea408104721a083ee9fee0',1,'SVF::PTAStat']]],
18
- ['endsymbolallocation',['endSymbolAllocation',['../classSVF_1_1NodeIDAllocator.html#ae42c5bb7db4d2142adc2e7e904eb36c7',1,'SVF::NodeIDAllocator']]],
18
+ ['endsymbolallocation',['endSymbolAllocation',['../classSVF_1_1NodeIDAllocator.html#a92b053f79cfa1259603836cb0aacad7d',1,'SVF::NodeIDAllocator']]],
19
19
  ['entrychi',['EntryCHI',['../classSVF_1_1EntryCHI.html#a0ba7181ad2a793bf11e40b7c7092e28b',1,'SVF::EntryCHI']]],
20
20
  ['epdadd3',['EpdAdd3',['../epd_8h.html#afa1ea5db2ee414c65f06709aaad4c676',1,'EpdAdd3(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3): epd.c'],['../epd_8c.html#afa1ea5db2ee414c65f06709aaad4c676',1,'EpdAdd3(EpDouble *epd1, EpDouble *epd2, EpDouble *epd3): epd.c']]],
21
21
  ['epdalloc',['EpdAlloc',['../epd_8h.html#a660d7b3c89a57b16874fbf0c1fc59254',1,'EpdAlloc(void): epd.c'],['../epd_8c.html#a660d7b3c89a57b16874fbf0c1fc59254',1,'EpdAlloc(void): epd.c']]],
@@ -449,7 +449,7 @@ var searchData=
449
449
  ['getobjectnode',['getObjectNode',['../classSVF_1_1PAG.html#a9e35f1d6a30c6200fb3c0c43ba4f36cb',1,'SVF::PAG::getObjectNode(const Value *V)'],['../classSVF_1_1PAG.html#a12be35fbe2d830fb23fd0173eb66c108',1,'SVF::PAG::getObjectNode(const MemObj *mem)'],['../classSVF_1_1PAGBuilder.html#a442ca853e750396d088aa736cc39356f',1,'SVF::PAGBuilder::getObjectNode()']]],
450
450
  ['getobjectnodenum',['getObjectNodeNum',['../classSVF_1_1PAG.html#afe02872115f15623178cb1ed8f737992',1,'SVF::PAG']]],
451
451
  ['getobjectnodes',['getObjectNodes',['../classSVF_1_1ExternalPAG.html#acb3156be31f4dd45590d931b0f9279f5',1,'SVF::ExternalPAG']]],
452
- ['getobjsize',['getObjSize',['../classSVF_1_1SymbolTableInfo.html#a2f8ec960e3462cef867b1ac6e524dea8',1,'SVF::SymbolTableInfo']]],
452
+ ['getobjsize',['getObjSize',['../classSVF_1_1MemModelBuilder.html#a5e423694e9c1400d805b5c08b0ea7abc',1,'SVF::MemModelBuilder']]],
453
453
  ['getobjswithclones',['getObjsWithClones',['../classSVF_1_1TypeBasedHeapCloning.html#ad1c67da3aac128ca8a69907fdad53fcd',1,'SVF::TypeBasedHeapCloning']]],
454
454
  ['getobjsym',['getObjSym',['../classSVF_1_1SymbolTableInfo.html#afca5a68d1825326e3ec6302ce0afee66',1,'SVF::SymbolTableInfo']]],
455
455
  ['getocgrep',['getOCGRep',['../classSVF_1_1OfflineConsG.html#a3f390900ee8761055c6d59107bc0ad27',1,'SVF::OfflineConsG']]],
@@ -6,7 +6,7 @@ var searchData=
6
6
  ['handlecall',['handleCall',['../classSVF_1_1LockAnalysis.html#a97b186f9417144557bb17c41d515a9f4',1,'SVF::LockAnalysis::handleCall()'],['../classSVF_1_1MHP.html#af769afe6ba6baccda5a497df181c9fb0',1,'SVF::MHP::handleCall()'],['../classSVF_1_1ForkJoinAnalysis.html#ab636777379aca0b53a06e4888d4b4c6b',1,'SVF::ForkJoinAnalysis::handleCall()']]],
7
7
  ['handlecallrelation',['handleCallRelation',['../classSVF_1_1LockAnalysis.html#ab99ef73905f35d4c20ca408586fc8680',1,'SVF::LockAnalysis::handleCallRelation()'],['../classSVF_1_1TCT.html#aac0c4c3f1c7cb1d89ebd2a3da2d49bd3',1,'SVF::TCT::handleCallRelation()']]],
8
8
  ['handlecallsitemodref',['handleCallsiteModRef',['../classSVF_1_1MRGenerator.html#a123a2ea51b04f1398b9ee66567f5014a',1,'SVF::MRGenerator']]],
9
- ['handlece',['handleCE',['../classSVF_1_1SymbolTableInfo.html#ad92842613ac245ad06875a012a5549ab',1,'SVF::SymbolTableInfo']]],
9
+ ['handlece',['handleCE',['../classSVF_1_1MemModelBuilder.html#a884a646e9c3b69124780e776af8947b6',1,'SVF::MemModelBuilder']]],
10
10
  ['handlecopygep',['handleCopyGep',['../classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e',1,'SVF::Andersen::handleCopyGep()'],['../classSVF_1_1AndersenWaveDiff.html#ad5c85a28967cc3f62e663dc00a8aa8c9',1,'SVF::AndersenWaveDiff::handleCopyGep()'],['../classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5',1,'SVF::AndersenLCD::handleCopyGep()'],['../classSVF_1_1AndersenHLCD.html#a9582cde6cbb510f3fb624109f8ea8f63',1,'SVF::AndersenHLCD::handleCopyGep()'],['../classSVF_1_1AndersenSCD.html#aa0a496376f7bea2c417ef83c51d19a61',1,'SVF::AndersenSCD::handleCopyGep()']]],
11
11
  ['handledibasictype',['handleDIBasicType',['../classSVF_1_1DCHGraph.html#a86bf48776ccf53092f4cb742cf95f8eb',1,'SVF::DCHGraph']]],
12
12
  ['handledicompositetype',['handleDICompositeType',['../classSVF_1_1DCHGraph.html#a3ce75cbe92a1fa7d34c6fca2d2ca1b0f',1,'SVF::DCHGraph']]],
@@ -15,8 +15,8 @@ var searchData=
15
15
  ['handledisubroutinetype',['handleDISubroutineType',['../classSVF_1_1DCHGraph.html#a671f379ae54eef247b5e013478eb3f0c',1,'SVF::DCHGraph']]],
16
16
  ['handleextcall',['handleExtCall',['../classSVF_1_1PAGBuilder.html#a5344e675f4207a1e9a2de54d0e5f6e9d',1,'SVF::PAGBuilder']]],
17
17
  ['handlefork',['handleFork',['../classSVF_1_1LockAnalysis.html#a52e79d50288bfa2d146072be53ed058b',1,'SVF::LockAnalysis::handleFork()'],['../classSVF_1_1MHP.html#a8a95f8ae419b66310ce6f572caea2ca5',1,'SVF::MHP::handleFork()'],['../classSVF_1_1ForkJoinAnalysis.html#adddbc09b7b99170cd0941f22ccc7e561',1,'SVF::ForkJoinAnalysis::handleFork()']]],
18
- ['handleglobalce',['handleGlobalCE',['../classSVF_1_1SymbolTableInfo.html#a4d616d922793e1d74bb4143f2d72bf10',1,'SVF::SymbolTableInfo']]],
19
- ['handleglobalinitializerce',['handleGlobalInitializerCE',['../classSVF_1_1SymbolTableInfo.html#a005df6b86f4058114bf7a336e73e63df',1,'SVF::SymbolTableInfo']]],
18
+ ['handleglobalce',['handleGlobalCE',['../classSVF_1_1MemModelBuilder.html#ab9e664a9b1d1dd47bb0e367d90bcc677',1,'SVF::MemModelBuilder']]],
19
+ ['handleglobalinitializerce',['handleGlobalInitializerCE',['../classSVF_1_1MemModelBuilder.html#a210f0e6cc38453acdd558d306e184ad3',1,'SVF::MemModelBuilder']]],
20
20
  ['handleindcall',['handleIndCall',['../classSVF_1_1PAGBuilder.html#ab222f5d9ad6c59e1c3a738153cf650d0',1,'SVF::PAGBuilder']]],
21
21
  ['handleintervalueflow',['handleInterValueFlow',['../classSVF_1_1SVFGOPT.html#a4c698184cc23730fb44904d4048958da',1,'SVF::SVFGOPT']]],
22
22
  ['handleintra',['handleIntra',['../classSVF_1_1LockAnalysis.html#a711760ebaed0437176f4f9d314e9929c',1,'SVF::LockAnalysis::handleIntra()'],['../classSVF_1_1MHP.html#af4d6f0884ce18ea5caf0dfd9799d1aae',1,'SVF::MHP::handleIntra()'],['../classSVF_1_1ForkJoinAnalysis.html#add09218cce8d8bd8dd9e73b2d26a5797',1,'SVF::ForkJoinAnalysis::handleIntra()']]],
@@ -47,7 +47,7 @@ var searchData=
47
47
  ['initsrcs',['initSrcs',['../classSVF_1_1LeakChecker.html#a273a7bfc3e81505ec971ca1d419bb565',1,'SVF::LeakChecker::initSrcs()'],['../classSVF_1_1SrcSnkDDA.html#a1c8f91ffa0b9f01d51c8cd5e14f076d5',1,'SVF::SrcSnkDDA::initSrcs()']]],
48
48
  ['initstats',['initStats',['../classSVF_1_1PersistentPointsToCache.html#ab19e4e17b1896565e0bada1f161d1266',1,'SVF::PersistentPointsToCache']]],
49
49
  ['initsymminfo',['initSymmInfo',['../cuddInt_8c.html#a16251e8ba5d258ae683665b47d2112e9',1,'cuddInt.c']]],
50
- ['inittypeinfo',['initTypeInfo',['../classSVF_1_1SymbolTableInfo.html#a96067de8a2425b4f4c227fd7e472071d',1,'SVF::SymbolTableInfo']]],
50
+ ['inittypeinfo',['initTypeInfo',['../classSVF_1_1MemModelBuilder.html#a73c96940a305e8ef5473d5b91c361254',1,'SVF::MemModelBuilder']]],
51
51
  ['initworklist',['initWorklist',['../classSVF_1_1Andersen.html#a9075cd05cb21e0f08a1109b7af6c7480',1,'SVF::Andersen::initWorklist()'],['../classSVF_1_1WPASolver.html#a7195381c3aab04890139b4fe2c561909',1,'SVF::WPASolver::initWorklist()']]],
52
52
  ['inputfilename',['InputFilename',['../dda_8cpp.html#a17d2e24d913aaa7484a3e226255019b7',1,'InputFilename(cl::Positional, cl::desc("<input bitcode>"), cl::init("-")): dda.cpp'],['../svf-ex_8cpp.html#a2d332c504284f0bc181289ee67479845',1,'InputFilename(cl::Positional, llvm::cl::desc("<input bitcode>"), llvm::cl::init("-")): svf-ex.cpp'],['../mta_8cpp.html#a2d332c504284f0bc181289ee67479845',1,'InputFilename(cl::Positional, llvm::cl::desc("<input bitcode>"), llvm::cl::init("-")): mta.cpp'],['../saber_8cpp.html#a2d332c504284f0bc181289ee67479845',1,'InputFilename(cl::Positional, llvm::cl::desc("<input bitcode>"), llvm::cl::init("-")): saber.cpp'],['../wpa_8cpp.html#a2d332c504284f0bc181289ee67479845',1,'InputFilename(cl::Positional, llvm::cl::desc("<input bitcode>"), llvm::cl::init("-")): wpa.cpp']]],
53
53
  ['insamecallgraphscc',['inSameCallGraphSCC',['../classSVF_1_1PointerAnalysis.html#ae58c2b25494ec51e714c83c6cfd5dd67',1,'SVF::PointerAnalysis::inSameCallGraphSCC()'],['../classSVF_1_1TCT.html#a95cd490d37f8831edc6910f7ecdf413e',1,'SVF::TCT::inSameCallGraphSCC()']]],
@@ -28,6 +28,7 @@ var searchData=
28
28
  ['memchr',['memchr',['../util_8h.html#a550ca98f8f3cd9b4dc549d9391f7dab0',1,'util.h']]],
29
29
  ['memcmp',['memcmp',['../util_8h.html#a65c3e6b23d6855c86acaf147853c82cc',1,'util.h']]],
30
30
  ['memcpy',['memcpy',['../util_8h.html#a13050899d2d81aa69b56529e7264e238',1,'util.h']]],
31
+ ['memmodelbuilder',['MemModelBuilder',['../classSVF_1_1MemModelBuilder.html#ac896e9141fbfa54bb019df4689a2c05e',1,'SVF::MemModelBuilder']]],
31
32
  ['memmove',['memmove',['../util_8h.html#afb434ca60c6699bb20fd11a71be5b0e0',1,'util.h']]],
32
33
  ['memobj',['MemObj',['../classSVF_1_1MemObj.html#afc62b5dbcaf790e561c852f567ca5bd1',1,'SVF::MemObj']]],
33
34
  ['memregion',['MemRegion',['../classSVF_1_1MemRegion.html#a1d8189977196da687f50cfa6df98394b',1,'SVF::MemRegion']]],
@@ -41,7 +41,7 @@ var searchData=
41
41
  ['plainmap',['plainMap',['../classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b',1,'SVF::FlowSensitive']]],
42
42
  ['pmx',['PMX',['../cuddInt_8c.html#a6e6108316d27c8e3b393f65362e5e37b',1,'cuddInt.c']]],
43
43
  ['pointeranalysis',['PointerAnalysis',['../classSVF_1_1PointerAnalysis.html#af42ef08568b1fa892f8f98c4421a0477',1,'SVF::PointerAnalysis']]],
44
- ['pointsto',['pointsTo',['../classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac',1,'SVF::CondPointsToSet::pointsTo(void)'],['../classSVF_1_1CondPointsToSet.html#ada240bc77570174a1d17ac097583fa78',1,'SVF::CondPointsToSet::pointsTo(void) const'],['../classSVF_1_1CondPointsToSet.html#a03311162626acf16ad05b7b93248a92b',1,'SVF::CondPointsToSet::pointsTo(Cond cond) const'],['../classSVF_1_1CondPointsToSet.html#a8775ef2c073af6c8055c3f5b0035288f',1,'SVF::CondPointsToSet::pointsTo(Cond cond)'],['../classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22',1,'SVF::PointsTo::PointsTo(void)'],['../classSVF_1_1PointsTo.html#acef2d3e41263aef641c3411e28ad445c',1,'SVF::PointsTo::PointsTo(const PointsTo &pt)'],['../classSVF_1_1PointsTo.html#a5ecef616428a70e8e7726406dfb43544',1,'SVF::PointsTo::PointsTo(PointsTo &&pt)']]],
44
+ ['pointsto',['PointsTo',['../classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22',1,'SVF::PointsTo::PointsTo(void)'],['../classSVF_1_1PointsTo.html#acef2d3e41263aef641c3411e28ad445c',1,'SVF::PointsTo::PointsTo(const PointsTo &pt)'],['../classSVF_1_1PointsTo.html#a5ecef616428a70e8e7726406dfb43544',1,'SVF::PointsTo::PointsTo(PointsTo &&pt)'],['../classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac',1,'SVF::CondPointsToSet::pointsTo(void)'],['../classSVF_1_1CondPointsToSet.html#ada240bc77570174a1d17ac097583fa78',1,'SVF::CondPointsToSet::pointsTo(void) const'],['../classSVF_1_1CondPointsToSet.html#a03311162626acf16ad05b7b93248a92b',1,'SVF::CondPointsToSet::pointsTo(Cond cond) const'],['../classSVF_1_1CondPointsToSet.html#a8775ef2c073af6c8055c3f5b0035288f',1,'SVF::CondPointsToSet::pointsTo(Cond cond)']]],
45
45
  ['pointstoiterator',['PointsToIterator',['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(void)=delete'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a19f371ccb5b1c84fb4adfd5b0c8a3eec',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsToIterator &pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#abe128c47fb16093756195f789e5f68d5',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(PointsToIterator &&pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#ad9efcd9fb0c8201b9166a1560d06a71b',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsTo *pt, bool end=false)']]],
46
46
  ['pop',['pop',['../classSVF_1_1List.html#a6e85bd3d8b23ccc7752a72e2a5b171ab',1,'SVF::List::pop()'],['../classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6',1,'SVF::FIFOWorkList::pop()'],['../classSVF_1_1FILOWorkList.html#a3fd9acb6d09fd142bfd402fdf8cac93b',1,'SVF::FILOWorkList::pop()']]],
47
47
  ['popen',['popen',['../util_8h.html#a7a377e01cff8d8243569ddc8bfef959b',1,'util.h']]],
@@ -1,5 +1,6 @@
1
1
  var searchData=
2
2
  [
3
+ ['memmodelbuilder',['MemModelBuilder',['../classSVF_1_1SymbolTableInfo.html#a43c3e140a49b8e5feb0630049b4e7475',1,'SVF::SymbolTableInfo']]],
3
4
  ['mtasvfgbuilder',['MTASVFGBuilder',['../classSVF_1_1SVFG.html#ac0e43f4a2043538c9046f95826caa725',1,'SVF::SVFG']]],
4
5
  ['mutabledfptdata_3c_20key_2c_20keyset_2c_20data_2c_20dataset_20_3e',['MutableDFPTData< Key, KeySet, Data, DataSet >',['../classSVF_1_1MutablePTData.html#ad92cfe345043b1bc8d6c7a03df43310f',1,'SVF::MutablePTData']]]
5
6
  ];
@@ -85,7 +85,7 @@ var searchData=
85
85
  ['svfmain',['SVFMain',['../classSVF_1_1Options.html#a868fa5069b01b7a7dfbc5fb99cb76385',1,'SVF::Options']]],
86
86
  ['svfmod',['svfMod',['../classSVF_1_1PointerAnalysis.html#a7e8b3f6843e5ea75fd189162d2cd60a5',1,'SVF::PointerAnalysis::svfMod()'],['../classSVF_1_1CHGraph.html#a62a3ccdbc55381d5f8d96dc23141f2e5',1,'SVF::CHGraph::svfMod()'],['../classSVF_1_1PAGBuilder.html#a7c197702fff05b1b6cd744b70a4a278c',1,'SVF::PAGBuilder::svfMod()']]],
87
87
  ['svfmodule',['svfModule',['../classSVF_1_1DCHGraph.html#a85a3c9a6a60a4379717773f8722ae42e',1,'SVF::DCHGraph::svfModule()'],['../classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f',1,'SVF::LLVMModuleSet::svfModule()']]],
88
- ['syminfo',['symInfo',['../classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a',1,'SVF::PAG::symInfo()'],['../classSVF_1_1SymbolTableInfo.html#a4fbb8ea4b4796d10d13c027b7455505c',1,'SVF::SymbolTableInfo::symInfo()']]],
88
+ ['syminfo',['symInfo',['../classSVF_1_1PAG.html#acebd1174f9bbeeb35ccfdf87a8f0998a',1,'SVF::PAG::symInfo()'],['../classSVF_1_1MemModelBuilder.html#a9ac2873486cc2d9698d2d0c762119574',1,'SVF::MemModelBuilder::symInfo()'],['../classSVF_1_1SymbolTableInfo.html#a4fbb8ea4b4796d10d13c027b7455505c',1,'SVF::SymbolTableInfo::symInfo()']]],
89
89
  ['symmviolation',['symmviolation',['../structDdManager.html#a4a8e54350702f269411399762cb958e1',1,'DdManager']]],
90
90
  ['symtabprint',['SymTabPrint',['../classSVF_1_1Options.html#abbfd1d7e985483c486394d8db85b6a85',1,'SVF::Options']]],
91
91
  ['symtymap',['symTyMap',['../classSVF_1_1SymbolTableInfo.html#a2680e554af6153cbe8521425c1fbb123',1,'SVF::SymbolTableInfo']]]
@@ -26,13 +26,13 @@ var searchData=
26
26
  ['timelimit',['timeLimit',['../structDdManager.html#a6c14f932c4a66c6234e6b19bd8b6647f',1,'DdManager']]],
27
27
  ['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
28
28
  ['timeofcreatemuchi',['timeOfCreateMUCHI',['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()'],['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()']]],
29
- ['timeofgeneratingmemregions',['TimeOfGeneratingMemRegions',['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()']]],
30
- ['timeofinsertingphi',['TimeOfInsertingPHI',['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()'],['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()']]],
29
+ ['timeofgeneratingmemregions',['timeOfGeneratingMemRegions',['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()']]],
30
+ ['timeofinsertingphi',['timeOfInsertingPHI',['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()'],['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()']]],
31
31
  ['timeofprocesscopygep',['timeOfProcessCopyGep',['../classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0',1,'SVF::AndersenBase']]],
32
32
  ['timeofprocessloadstore',['timeOfProcessLoadStore',['../classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf',1,'SVF::AndersenBase']]],
33
33
  ['timeofsccdetection',['timeOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143',1,'SVF::AndersenBase']]],
34
34
  ['timeofsccmerges',['timeOfSCCMerges',['../classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d',1,'SVF::AndersenBase']]],
35
- ['timeofssarenaming',['timeOfSSARenaming',['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()'],['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()']]],
35
+ ['timeofssarenaming',['TimeOfSSARenaming',['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()'],['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()']]],
36
36
  ['timeofupdatecallgraph',['timeOfUpdateCallGraph',['../classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b',1,'SVF::AndersenBase']]],
37
37
  ['timestatmap',['timeStatMap',['../classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337',1,'SVF::PTAStat']]],
38
38
  ['tlptdata',['tlPTData',['../classSVF_1_1MutableVersionedPTData.html#a01974968b7cf60a4231cc83c93b26d7f',1,'SVF::MutableVersionedPTData::tlPTData()'],['../classSVF_1_1PersistentVersionedPTData.html#a29104a2d53d94805e142f778d3d21ad5',1,'SVF::PersistentVersionedPTData::tlPTData()']]],
@@ -9,7 +9,7 @@ var searchData=
9
9
  ['uniqueunions',['uniqueUnions',['../classSVF_1_1PersistentPointsToCache.html#aacebdd87b1dd45250391d035b032f9d4',1,'SVF::PersistentPointsToCache']]],
10
10
  ['univ',['univ',['../structDdManager.html#ab21d56989b9a13502aeb84228de45df0',1,'DdManager']]],
11
11
  ['unlocksites',['unlocksites',['../classSVF_1_1LockAnalysis.html#aec459af1d1624df55ffc95cd75655780',1,'SVF::LockAnalysis']]],
12
- ['updatecallgraphtime',['updateCallGraphTime',['../classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07',1,'SVF::FlowSensitive::updateCallGraphTime()'],['../classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894',1,'SVF::PTAStat::UpdateCallGraphTime()']]],
12
+ ['updatecallgraphtime',['UpdateCallGraphTime',['../classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894',1,'SVF::PTAStat::UpdateCallGraphTime()'],['../classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07',1,'SVF::FlowSensitive::updateCallGraphTime()']]],
13
13
  ['updatetime',['updateTime',['../classSVF_1_1FlowSensitive.html#af5a94d14096ae2bbc47b3b3b9f723226',1,'SVF::FlowSensitive']]],
14
14
  ['usedregs',['usedRegs',['../classSVF_1_1MemSSA.html#acf840b71b67cabe831f01f2d358f27fa',1,'SVF::MemSSA']]],
15
15
  ['usepcg',['UsePCG',['../classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762',1,'SVF::Options']]],
@@ -39,7 +39,7 @@ var searchData=
39
39
  ['maxpointstosetsize',['MaxPointsToSetSize',['../classSVF_1_1PTAStat.html#af2b45aab2eee96a1cabba3025e4375a2',1,'SVF::PTAStat::MaxPointsToSetSize()'],['../classSVF_1_1AndersenBase.html#a7cfafe54d564c9401f435362d44d3f9c',1,'SVF::AndersenBase::MaxPointsToSetSize()']]],
40
40
  ['maxreorderings',['maxReorderings',['../structDdManager.html#a61170edf6d08bb1c4bacab68823a825d',1,'DdManager']]],
41
41
  ['maxsccsize',['maxSCCSize',['../classSVF_1_1FlowSensitive.html#a90deaa3c1afa762f568ceab0fe174353',1,'SVF::FlowSensitive']]],
42
- ['maxsize',['maxsize',['../structDdHashTable.html#aba376a6d310dcead9f74cfc459f4a248',1,'DdHashTable::maxsize()'],['../structDdLevelQueue.html#acb7146e9f3dd73a052340c0e4010e6b6',1,'DdLevelQueue::maxsize()'],['../structDdManager.html#aa4d0701dc4e6f11b30085ae30c09fab6',1,'DdManager::maxSize()']]],
42
+ ['maxsize',['maxSize',['../structDdManager.html#aa4d0701dc4e6f11b30085ae30c09fab6',1,'DdManager::maxSize()'],['../structDdHashTable.html#aba376a6d310dcead9f74cfc459f4a248',1,'DdHashTable::maxsize()'],['../structDdLevelQueue.html#acb7146e9f3dd73a052340c0e4010e6b6',1,'DdLevelQueue::maxsize()']]],
43
43
  ['maxsizez',['maxSizeZ',['../structDdManager.html#a4a0b8f95d02bc99557fb55140e9b0963',1,'DdManager']]],
44
44
  ['maxslots',['maxslots',['../structDdLocalCache.html#af4379636b29a9bfe4a55708ac637545a',1,'DdLocalCache']]],
45
45
  ['maxstepinwrapper',['MaxStepInWrapper',['../classSVF_1_1Options.html#a0b82f16ee0c7e6566a6ae20662525e84',1,'SVF::Options']]],
@@ -70,7 +70,7 @@ var searchData=
70
70
  ['numofentrychi',['NumOfEntryChi',['../classSVF_1_1MemSSAStat.html#ad96437d0c28f8088c711a718d2f2730e',1,'SVF::MemSSAStat']]],
71
71
  ['numofentrynodes',['numOfEntryNodes',['../classSVF_1_1ICFGStat.html#ad37793e64fe58a8faba201c18d876685',1,'SVF::ICFGStat']]],
72
72
  ['numofexitnodes',['numOfExitNodes',['../classSVF_1_1ICFGStat.html#ad7e00680fb8ca31afbd166f9a4adc5ec',1,'SVF::ICFGStat']]],
73
- ['numoffieldexpand',['numOfFieldExpand',['../classSVF_1_1AndersenBase.html#ad21fc4e60abc4e6030880f8197e1c93f',1,'SVF::AndersenBase::numOfFieldExpand()'],['../classSVF_1_1PTAStat.html#a1745e5c3c026a130a70954da9c0074b1',1,'SVF::PTAStat::NumOfFieldExpand()']]],
73
+ ['numoffieldexpand',['NumOfFieldExpand',['../classSVF_1_1PTAStat.html#a1745e5c3c026a130a70954da9c0074b1',1,'SVF::PTAStat::NumOfFieldExpand()'],['../classSVF_1_1AndersenBase.html#ad21fc4e60abc4e6030880f8197e1c93f',1,'SVF::AndersenBase::numOfFieldExpand()']]],
74
74
  ['numofformalin',['numOfFormalIn',['../classSVF_1_1SVFGStat.html#abc5e079242666bb55ec7dbc7f258b3db',1,'SVF::SVFGStat']]],
75
75
  ['numofformalout',['numOfFormalOut',['../classSVF_1_1SVFGStat.html#ab20900eb0ecb0d2e1e601755848ac531',1,'SVF::SVFGStat']]],
76
76
  ['numofformalparam',['numOfFormalParam',['../classSVF_1_1SVFGStat.html#a1e9ddd5678b05e145af41a6d53f47748',1,'SVF::SVFGStat']]],
@@ -139,7 +139,7 @@ var searchData=
139
139
  ['numofretnodes',['numOfRetNodes',['../classSVF_1_1ICFGStat.html#ac9bfce40c058ed7ab178fe1f1818e9de',1,'SVF::ICFGStat']]],
140
140
  ['numofreturns',['NumOfReturns',['../classSVF_1_1PTAStat.html#a0a552611fcd20e1310290bdae404a514',1,'SVF::PTAStat']]],
141
141
  ['numofscc',['numOfSCC',['../classSVF_1_1FlowSensitive.html#ab6c2494ca36cefb5409c5c20befb326f',1,'SVF::FlowSensitive']]],
142
- ['numofsccdetection',['NumOfSCCDetection',['../classSVF_1_1PTAStat.html#ad1731b88c24bb79728f62cd3e9c55699',1,'SVF::PTAStat::NumOfSCCDetection()'],['../classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490',1,'SVF::AndersenBase::numOfSCCDetection()']]],
142
+ ['numofsccdetection',['numOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6da6e1231a46fde6925493045b8b2490',1,'SVF::AndersenBase::numOfSCCDetection()'],['../classSVF_1_1PTAStat.html#ad1731b88c24bb79728f62cd3e9c55699',1,'SVF::PTAStat::NumOfSCCDetection()']]],
143
143
  ['numofsfr',['NumOfSfr',['../classSVF_1_1PTAStat.html#a07a1db62ddba50bda787b2985ef8d135',1,'SVF::PTAStat']]],
144
144
  ['numofsfrs',['numOfSfrs',['../classSVF_1_1AndersenBase.html#aa31bc83cdeaa30dd0975976e29a5be12',1,'SVF::AndersenBase']]],
145
145
  ['numofstackobjs',['NumOfStackObjs',['../classSVF_1_1PTAStat.html#ae05503909688a17dc1f282d1d029d24e',1,'SVF::PTAStat']]],
@@ -0,0 +1,102 @@
1
+ //===- LocMemModel.h -- Memory model builder-----------------------//
2
+ //
3
+ // SVF: Static Value-Flow Analysis
4
+ //
5
+ // Copyright (C) <2013-2017> <Yulei Sui>
6
+ //
7
+
8
+ // This program is free software: you can redistribute it and/or modify
9
+ // it under the terms of the GNU General Public License as published by
10
+ // the Free Software Foundation, either version 3 of the License, or
11
+ // (at your option) any later version.
12
+
13
+ // This program is distributed in the hope that it will be useful,
14
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ // GNU General Public License for more details.
17
+
18
+ // You should have received a copy of the GNU General Public License
19
+ // along with this program. If not, see <http://www.gnu.org/licenses/>.
20
+ //
21
+ //===----------------------------------------------------------------------===//
22
+
23
+ /*
24
+ * MemModelBuilder.h
25
+ *
26
+ * Created on: Apr 28, 2014
27
+ * Author: Yulei
28
+ */
29
+
30
+ #ifndef MEMMODELBUILDER_H_
31
+ #define MEMMODELBUILDER_H_
32
+
33
+ #include "MemoryModel/MemModel.h"
34
+ #include "SVF-FE/LLVMModule.h"
35
+ #include "SVF-FE/SymbolTableInfo.h"
36
+
37
+ /*
38
+ * This class is to build SymbolTableInfo, MemObjs and ObjTypeInfo
39
+ */
40
+ namespace SVF
41
+ {
42
+
43
+ class MemModelBuilder
44
+ {
45
+
46
+ private:
47
+ SymbolTableInfo* symInfo;
48
+
49
+ public:
50
+ /// Constructor
51
+ MemModelBuilder(SymbolTableInfo* si): symInfo(si){
52
+
53
+ }
54
+
55
+ /// Start building memory model
56
+ void buildMemModel(SVFModule* svfModule);
57
+
58
+ /// collect the syms
59
+ //@{
60
+ void collectSym(const Value *val);
61
+
62
+ void collectVal(const Value *val);
63
+
64
+ void collectObj(const Value *val);
65
+
66
+ void collectRet(const Function *val);
67
+
68
+ void collectVararg(const Function *val);
69
+ //@}
70
+
71
+ /// Handle constant expression
72
+ // @{
73
+ void handleGlobalCE(const GlobalVariable *G);
74
+ void handleGlobalInitializerCE(const Constant *C, u32_t offset);
75
+ void handleCE(const Value *val);
76
+ // @}
77
+
78
+
79
+ // /// Collect the struct info
80
+ // virtual void collectStructInfo(const StructType *T);
81
+ // /// Collect the array info
82
+ // virtual void collectArrayInfo(const ArrayType* T);
83
+ // /// Collect simple type (non-aggregate) info
84
+ // virtual void collectSimpleTypeInfo(const Type* T);
85
+
86
+ /// Create an objectInfo based on LLVM value
87
+ ObjTypeInfo* createObjTypeInfo(const Value *val);
88
+ /// Create an objectInfo based on LLVM type (value is null, and type could be null, representing a dummy object)
89
+ // ObjTypeInfo* createObjTypeInfo(const Type *type = nullptr);
90
+
91
+ /// Initialize TypeInfo based on LLVM Value
92
+ void initTypeInfo(ObjTypeInfo* typeinfo, const Value* value);
93
+ /// Analyse types of all flattened fields of this object
94
+ void analyzeGlobalStackObjType(ObjTypeInfo* typeinfo, const Value* val);
95
+ /// Return size of this object based on LLVM value
96
+ u32_t getObjSize(const Value* val);
97
+
98
+ };
99
+
100
+ }
101
+
102
+ #endif /* MEMMODELBUILDER_H_ */
@@ -42,6 +42,8 @@ namespace SVF
42
42
  class SymbolTableInfo
43
43
  {
44
44
 
45
+ friend class MemModelBuilder;
46
+
45
47
  public:
46
48
  /// various maps defined
47
49
  //{@
@@ -142,6 +144,11 @@ public:
142
144
  {
143
145
  return mod;
144
146
  }
147
+ /// Module
148
+ inline void setModule(SVFModule* m)
149
+ {
150
+ mod = m;
151
+ }
145
152
 
146
153
  /// Get target machine data layout
147
154
  inline static DataLayout* getDataLayout(Module* mod)
@@ -157,22 +164,6 @@ public:
157
164
  u32_t getTypeSizeInBytes(const StructType *sty, u32_t field_index);
158
165
  //@}
159
166
 
160
- /// Start building memory model
161
- void buildMemModel(SVFModule* svfModule);
162
-
163
- /// collect the syms
164
- //@{
165
- void collectSym(const Value *val);
166
-
167
- void collectVal(const Value *val);
168
-
169
- void collectObj(const Value *val);
170
-
171
- void collectRet(const Function *val);
172
-
173
- void collectVararg(const Function *val);
174
- //@}
175
-
176
167
  /// special value
177
168
  // @{
178
169
  static bool isNullPtrSym(const Value *val);
@@ -248,13 +239,6 @@ public:
248
239
  }
249
240
  // @}
250
241
 
251
- /// Handle constant expression
252
- // @{
253
- void handleGlobalCE(const GlobalVariable *G);
254
- void handleGlobalInitializerCE(const Constant *C, u32_t offset);
255
- void handleCE(const Value *val);
256
- // @}
257
-
258
242
  /// Get different kinds of syms
259
243
  //@{
260
244
  SymID getValSym(const Value *val)
@@ -433,18 +417,9 @@ protected:
433
417
  /// Collect simple type (non-aggregate) info
434
418
  virtual void collectSimpleTypeInfo(const Type* T);
435
419
 
436
- /// Create an objectInfo based on LLVM value
437
- ObjTypeInfo* createObjTypeInfo(const Value *val);
438
420
  /// Create an objectInfo based on LLVM type (value is null, and type could be null, representing a dummy object)
439
421
  ObjTypeInfo* createObjTypeInfo(const Type *type = nullptr);
440
422
 
441
- /// Initialize TypeInfo based on LLVM Value
442
- void initTypeInfo(ObjTypeInfo* typeinfo, const Value* value);
443
- /// Analyse types of all flattened fields of this object
444
- void analyzeGlobalStackObjType(ObjTypeInfo* typeinfo, const Value* val);
445
- /// Return size of this object based on LLVM value
446
- u32_t getObjSize(const Value* val);
447
-
448
423
  /// Every type T is mapped to StInfo
449
424
  /// which contains size (fsize) , offset(foffset)
450
425
  /// fsize[i] is the number of fields in the largest such struct, else fsize[i] = 1.
@@ -68,7 +68,7 @@ public:
68
68
  NodeID allocateValueId(void);
69
69
 
70
70
  /// Notify the allocator that all symbols have had IDs allocated.
71
- void endSymbolAllocation(void);
71
+ NodeID endSymbolAllocation(void);
72
72
 
73
73
  /// Returns the total number of memory objects.
74
74
  NodeID getNumObjects(void) const { return numObjects; }