svf-tools 1.0.409 → 1.0.412
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.
- package/CMakeLists.txt +1 -1
- package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +3 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -83
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +42 -46
- package/SVF-doxygen/html/html/MHP_8h_source.html +26 -26
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +9 -9
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +30 -31
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +33 -34
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +8 -7
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +214 -215
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +15 -16
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +180 -181
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +1 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +226 -227
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +0 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +232 -233
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +222 -223
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +3 -6
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +222 -223
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +152 -154
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +9 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +221 -222
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +0 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +132 -133
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +28 -33
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +34 -25
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +247 -248
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +208 -209
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +8 -11
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +238 -239
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +21 -24
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +275 -276
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +8 -10
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode-members.html +13 -14
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +19 -43
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +74 -74
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemObj-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +15 -14
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +94 -95
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +73 -107
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +11 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +53 -52
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +15 -30
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +193 -194
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +0 -3
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +184 -185
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -5
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +287 -288
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +8 -10
- package/SVF-doxygen/html/html/functions_0x7e.html +1 -1
- package/SVF-doxygen/html/html/functions_c.html +18 -21
- package/SVF-doxygen/html/html/functions_func_0x7e.html +1 -1
- package/SVF-doxygen/html/html/functions_func_c.html +12 -13
- package/SVF-doxygen/html/html/functions_func_p.html +9 -9
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_m.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +4 -4
- package/SVF-doxygen/html/html/functions_p.html +12 -12
- package/SVF-doxygen/html/html/functions_r.html +5 -4
- package/SVF-doxygen/html/html/functions_s.html +3 -3
- package/SVF-doxygen/html/html/functions_t.html +5 -7
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_m.html +4 -4
- package/SVF-doxygen/html/html/functions_vars_r.html +1 -2
- package/SVF-doxygen/html/html/globals_func_g.html +0 -6
- package/SVF-doxygen/html/html/globals_g.html +2 -8
- package/SVF-doxygen/html/html/globals_s.html +4 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +1 -2
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_12.js +3 -3
- package/SVF-doxygen/html/html/search/all_13.js +7 -7
- package/SVF-doxygen/html/html/search/all_14.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +3 -3
- package/SVF-doxygen/html/html/search/all_1b.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +0 -2
- package/SVF-doxygen/html/html/search/all_c.js +2 -2
- package/SVF-doxygen/html/html/search/all_d.js +4 -4
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +3 -3
- package/SVF-doxygen/html/html/search/functions_10.js +1 -1
- package/SVF-doxygen/html/html/search/functions_16.js +1 -1
- package/SVF-doxygen/html/html/search/functions_2.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +0 -2
- package/SVF-doxygen/html/html/search/functions_e.js +6 -6
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_d.js +4 -4
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +14 -14
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SVFGNodeLockSpan_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +4 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +2 -1
- package/include/DDA/DDAStat.h +4 -4
- package/include/Graphs/SVFGNode.h +2 -4
- package/include/Graphs/SVFGStat.h +8 -8
- package/include/MTA/FSMPTA.h +1 -0
- package/include/MTA/MTAResultValidator.h +1 -1
- package/include/MemoryModel/AbstractPointsToDS.h +6 -0
- package/include/MemoryModel/PointerAnalysis.h +0 -5
- package/include/MemoryModel/SymbolTableInfo.h +2 -2
- package/include/Util/IRAnnotator.h +2 -2
- package/include/WPA/Andersen.h +1 -1
- package/include/WPA/AndersenSFR.h +1 -1
- package/lib/CUDD/CMakeLists.txt +1 -1
- package/lib/DDA/DDAStat.cpp +2 -2
- package/lib/Graphs/SVFGStat.cpp +4 -4
- package/lib/MSSA/SVFGBuilder.cpp +0 -1
- package/lib/MTA/FSMPTA.cpp +2 -3
- package/lib/MTA/LockResultValidator.cpp +1 -1
- package/lib/MTA/MHP.cpp +0 -36
- package/lib/MTA/MTAResultValidator.cpp +3 -3
- package/lib/MTA/TCT.cpp +0 -1
- package/lib/MemoryModel/PointerAnalysis.cpp +1 -1
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +0 -1
- package/lib/MemoryModel/SVFIR.cpp +15 -15
- package/lib/MemoryModel/SymbolTableInfo.cpp +1 -1
- package/lib/SVF-FE/LLVMUtil.cpp +1 -1
- package/lib/SVF-FE/SVFIRBuilder.cpp +5 -5
- package/lib/Util/CoreBitVector.cpp +1 -1
- package/lib/Util/ExtAPI.cpp +1 -0
- package/lib/Util/NodeIDAllocator.cpp +0 -1
- package/lib/WPA/AndersenSFR.cpp +2 -2
- package/lib/WPA/FlowSensitiveTBHC.cpp +1 -1
- package/lib/WPA/VersionedFlowSensitive.cpp +4 -4
- package/package.json +1 -1
- package/tools/Example/svf-ex.cpp +4 -3
|
@@ -48,7 +48,7 @@ var searchData=
|
|
|
48
48
|
['clearfullpts',['clearFullPts',['../classSVF_1_1PTData.html#a877888f12d9f8048002cc0e6b83d45ac',1,'SVF::PTData::clearFullPts()'],['../classSVF_1_1VersionedPTData.html#a4bfd083fae6ff689945ed34632e208e9',1,'SVF::VersionedPTData::clearFullPts()'],['../classSVF_1_1MutablePTData.html#a3bf34d8040779b4d251bb08a58604d77',1,'SVF::MutablePTData::clearFullPts()'],['../classSVF_1_1MutableDiffPTData.html#a8b6e2e5e016a5ae00ae440e3f383bb16',1,'SVF::MutableDiffPTData::clearFullPts()'],['../classSVF_1_1MutableDFPTData.html#ab345e148997b9e1c6e4c2c76267880b7',1,'SVF::MutableDFPTData::clearFullPts()'],['../classSVF_1_1MutableVersionedPTData.html#a9f985ff2daee53fb661e4b2bcfd17f05',1,'SVF::MutableVersionedPTData::clearFullPts(const Key &k) override'],['../classSVF_1_1MutableVersionedPTData.html#aaf3df7501f84233f6a687ef9f2f0ae90',1,'SVF::MutableVersionedPTData::clearFullPts(const VersionedKey &vk) override'],['../classSVF_1_1PersistentPTData.html#aff3437089686869faa772c44bca753b6',1,'SVF::PersistentPTData::clearFullPts()'],['../classSVF_1_1PersistentDiffPTData.html#ae4b558e119c7e3fae25a0b4509422c87',1,'SVF::PersistentDiffPTData::clearFullPts()'],['../classSVF_1_1PersistentDFPTData.html#afa828c0db9c030584e379e86cf0a25a9',1,'SVF::PersistentDFPTData::clearFullPts()'],['../classSVF_1_1PersistentVersionedPTData.html#a5c31a5faad444bd19005d06ba28d0185',1,'SVF::PersistentVersionedPTData::clearFullPts(const Key &k) override'],['../classSVF_1_1PersistentVersionedPTData.html#a78f2b0ee440ed5b358928ee775e95564',1,'SVF::PersistentVersionedPTData::clearFullPts(const VersionedKey &vk) override'],['../classSVF_1_1BVDataPTAImpl.html#afdb10c2cce4935156566ea1c2daf9ea9',1,'SVF::BVDataPTAImpl::clearFullPts()']]],
|
|
49
49
|
['clearmssa',['clearMSSA',['../classSVF_1_1SVFG.html#aeba803e60699f9d9422596d161d44241',1,'SVF::SVFG']]],
|
|
50
50
|
['clearpropapts',['clearPropaPts',['../classSVF_1_1DiffPTData.html#a7784c4a76aa41149975840af8b32c2a9',1,'SVF::DiffPTData::clearPropaPts()'],['../classSVF_1_1MutableDiffPTData.html#a3946e3b737d95539cb57b10e53d356fc',1,'SVF::MutableDiffPTData::clearPropaPts()'],['../classSVF_1_1PersistentDiffPTData.html#aa00e0bfaf2d46f2aa83a37c7c9514edb',1,'SVF::PersistentDiffPTData::clearPropaPts()'],['../classSVF_1_1Andersen.html#a839ed248cf5ff8359217e2029f389d8a',1,'SVF::Andersen::clearPropaPts()']]],
|
|
51
|
-
['clearpts',['clearPts',['../classSVF_1_1PTData.html#a03c783b9a1faac0aee3e22361df594ce',1,'SVF::PTData::clearPts()'],['../classSVF_1_1VersionedPTData.html#a164436121f658ce0967a88bb84ecf220',1,'SVF::VersionedPTData::clearPts()'],['../classSVF_1_1MutablePTData.html#a5ca2c5a8908d003b7ec2c17f949ae6aa',1,'SVF::MutablePTData::clearPts()'],['../classSVF_1_1MutableDiffPTData.html#a65028f1634a18f6adbd4cfdb526d1d20',1,'SVF::MutableDiffPTData::clearPts()'],['../classSVF_1_1MutableDFPTData.html#ae0495fcba25d4baffda9f85254591ae1',1,'SVF::MutableDFPTData::clearPts()'],['../classSVF_1_1MutableVersionedPTData.html#ab20b71c9e2f31439c95071c375bf89e0',1,'SVF::MutableVersionedPTData::clearPts(const Key &k, const Data &element) override'],['../classSVF_1_1MutableVersionedPTData.html#a21e823484199946541b8b79d736b2601',1,'SVF::MutableVersionedPTData::clearPts(const VersionedKey &vk, const Data &element) override'],['../classSVF_1_1PersistentPTData.html#a10221452ea6ffed4ae51a9c6f9dc1e93',1,'SVF::PersistentPTData::clearPts()'],['../classSVF_1_1PersistentDiffPTData.html#ab01a663b665d629c15f3531f18b5abc2',1,'SVF::PersistentDiffPTData::clearPts()'],['../classSVF_1_1PersistentDFPTData.html#af64c6a2c0a1b2044fac56a69e9db7cff',1,'SVF::PersistentDFPTData::clearPts()'],['../classSVF_1_1PersistentVersionedPTData.html#a9f5bb9d2020973660268c4e5ac98cb61',1,'SVF::PersistentVersionedPTData::clearPts(const Key &k, const Data &element) override'],['../classSVF_1_1PersistentVersionedPTData.html#afe724603022a8fed7469f9ecd633febc',1,'SVF::PersistentVersionedPTData::clearPts(const VersionedKey &vk, const Data &element) override'],['../
|
|
51
|
+
['clearpts',['clearPts',['../classSVF_1_1PTData.html#a03c783b9a1faac0aee3e22361df594ce',1,'SVF::PTData::clearPts()'],['../classSVF_1_1VersionedPTData.html#a164436121f658ce0967a88bb84ecf220',1,'SVF::VersionedPTData::clearPts()'],['../classSVF_1_1MutablePTData.html#a5ca2c5a8908d003b7ec2c17f949ae6aa',1,'SVF::MutablePTData::clearPts()'],['../classSVF_1_1MutableDiffPTData.html#a65028f1634a18f6adbd4cfdb526d1d20',1,'SVF::MutableDiffPTData::clearPts()'],['../classSVF_1_1MutableDFPTData.html#ae0495fcba25d4baffda9f85254591ae1',1,'SVF::MutableDFPTData::clearPts()'],['../classSVF_1_1MutableVersionedPTData.html#ab20b71c9e2f31439c95071c375bf89e0',1,'SVF::MutableVersionedPTData::clearPts(const Key &k, const Data &element) override'],['../classSVF_1_1MutableVersionedPTData.html#a21e823484199946541b8b79d736b2601',1,'SVF::MutableVersionedPTData::clearPts(const VersionedKey &vk, const Data &element) override'],['../classSVF_1_1PersistentPTData.html#a10221452ea6ffed4ae51a9c6f9dc1e93',1,'SVF::PersistentPTData::clearPts()'],['../classSVF_1_1PersistentDiffPTData.html#ab01a663b665d629c15f3531f18b5abc2',1,'SVF::PersistentDiffPTData::clearPts()'],['../classSVF_1_1PersistentDFPTData.html#af64c6a2c0a1b2044fac56a69e9db7cff',1,'SVF::PersistentDFPTData::clearPts()'],['../classSVF_1_1PersistentVersionedPTData.html#a9f5bb9d2020973660268c4e5ac98cb61',1,'SVF::PersistentVersionedPTData::clearPts(const Key &k, const Data &element) override'],['../classSVF_1_1PersistentVersionedPTData.html#afe724603022a8fed7469f9ecd633febc',1,'SVF::PersistentVersionedPTData::clearPts(const VersionedKey &vk, const Data &element) override'],['../classSVF_1_1BVDataPTAImpl.html#a4909696c946cf6aba12542ec51766b64',1,'SVF::BVDataPTAImpl::clearPts()'],['../classSVF_1_1CondPTAImpl.html#adfae199dfbe05c9c20052e0fc204e6de',1,'SVF::CondPTAImpl::clearPts()']]],
|
|
52
52
|
['clearrevpts',['clearRevPts',['../classSVF_1_1MutablePTData.html#a80cb0bdab4aa64d81e3d61405066a0da',1,'SVF::MutablePTData::clearRevPts()'],['../classSVF_1_1PersistentPTData.html#a2a83492ac0b641c67489a770aadc4ad0',1,'SVF::PersistentPTData::clearRevPts()']]],
|
|
53
53
|
['clearsinglerevpts',['clearSingleRevPts',['../classSVF_1_1MutablePTData.html#a5756fb30b7bd405c04defb49a7d688f7',1,'SVF::MutablePTData::clearSingleRevPts()'],['../classSVF_1_1PersistentPTData.html#a46ab9d8365d9f9db9d84f5b8bcd3309c',1,'SVF::PersistentPTData::clearSingleRevPts()']]],
|
|
54
54
|
['clearstat',['clearStat',['../classSVF_1_1FlowSensitiveStat.html#ab4c205136b22a13b54ceb48135730d23',1,'SVF::FlowSensitiveStat::clearStat()'],['../classSVF_1_1VersionedFlowSensitiveStat.html#a6664f28eab3052988ab9e89766373981',1,'SVF::VersionedFlowSensitiveStat::clearStat()']]],
|
|
@@ -45,7 +45,6 @@ var searchData=
|
|
|
45
45
|
['getbasenode',['getBaseNode',['../classSVF_1_1GepObjVar.html#a4c5e346db61f7e04c15bf8527d8eff3c',1,'SVF::GepObjVar']]],
|
|
46
46
|
['getbaseobj',['getBaseObj',['../classSVF_1_1SVFIR.html#af76a55c3b8255a81a566bdce35ffc749',1,'SVF::SVFIR']]],
|
|
47
47
|
['getbaseobjvar',['getBaseObjVar',['../classSVF_1_1ConstraintGraph.html#a6e8c46641da751fe3369c9d5407ce415',1,'SVF::ConstraintGraph::getBaseObjVar()'],['../classSVF_1_1PointerAnalysis.html#a9f1c599cb9f6e2ae83e29bb84ef6831c',1,'SVF::PointerAnalysis::getBaseObjVar()'],['../classSVF_1_1SVFIR.html#a77a6bb9335aa12d29825af1b5ea07e08',1,'SVF::SVFIR::getBaseObjVar()']]],
|
|
48
|
-
['getbaseptr',['getBasePtr',['../MHP_8cpp.html#a04cfa4119d5964972799ae716951babe',1,'MHP.cpp']]],
|
|
49
48
|
['getbasetypeandflattenedfields',['getBaseTypeAndFlattenedFields',['../classSVF_1_1SVFIRBuilder.html#a4cb5ac4a19002023683c4ee47aabb802',1,'SVF::SVFIRBuilder']]],
|
|
50
49
|
['getbasevalueforextarg',['getBaseValueForExtArg',['../classSVF_1_1SVFIRBuilder.html#a892ab8cad098e9e9d8425e7f05e35c59',1,'SVF::SVFIRBuilder']]],
|
|
51
50
|
['getbasevalvar',['getBaseValVar',['../classSVF_1_1SVFIR.html#a5298f34143ec3a2e6bb74ebad668cbbc',1,'SVF::SVFIR']]],
|
|
@@ -542,7 +541,6 @@ var searchData=
|
|
|
542
541
|
['getrhsvarid',['getRHSVarID',['../classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d',1,'SVF::AssignStmt']]],
|
|
543
542
|
['getsccdetector',['getSCCDetector',['../classSVF_1_1WPASolver.html#a37ca8a99b8f83fba796293e6e13b0953',1,'SVF::WPASolver']]],
|
|
544
543
|
['getsccrep',['getSCCRep',['../classSVF_1_1SVFGStat.html#a947dcd586a9ccf8b60243153769aaf31',1,'SVF::SVFGStat']]],
|
|
545
|
-
['getscevminusexpr',['getSCEVMinusExpr',['../MHP_8cpp.html#ae713d8413cfbe62885fc3fa8e38c3492',1,'MHP.cpp']]],
|
|
546
544
|
['getse',['getSE',['../classSVF_1_1ForkJoinAnalysis.html#ad3db3e7a2ebe7646675aab16103691e7',1,'SVF::ForkJoinAnalysis::getSE()'],['../classSVF_1_1MTA.html#a7cb2fd230ed5839b59f650cc87de192e',1,'SVF::MTA::getSE()'],['../classSVF_1_1TCT.html#ac66b3a193240c17c3f06437442b2d8bf',1,'SVF::TCT::getSE()']]],
|
|
547
545
|
['getshortest',['getShortest',['../cuddInt_8c.html#a048492e5cad979aad3c0540ff82a4824',1,'cuddInt.c']]],
|
|
548
546
|
['getsiblingthread',['getSiblingThread',['../classSVF_1_1TCT.html#a60e63f6ddfe78c4cf4fd3a70875b727f',1,'SVF::TCT']]],
|
|
@@ -21,9 +21,9 @@ var searchData=
|
|
|
21
21
|
['performmhppairstat',['performMHPPairStat',['../classSVF_1_1MTAStat.html#a6464eb27715b598bab0217258860a04b',1,'SVF::MTAStat']]],
|
|
22
22
|
['performremovingmhpedges',['performRemovingMHPEdges',['../classSVF_1_1MTASVFGBuilder.html#a26b6750de23395a89767288b2eabb1ef',1,'SVF::MTASVFGBuilder']]],
|
|
23
23
|
['performsccstat',['performSCCStat',['../classSVF_1_1SVFGStat.html#a87d5e8ec0e13416cff36a18644a5b94f',1,'SVF::SVFGStat']]],
|
|
24
|
-
['performstat',['performStat',['../classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3',1,'SVF::DDAClient::performStat()'],['../classSVF_1_1FunptrDDAClient.html#acb63480cc42ceec325d3380aa617670d',1,'SVF::FunptrDDAClient::performStat()'],['../classSVF_1_1AliasDDAClient.html#a66e5ae6a814c752615b63c6496b9e916',1,'SVF::AliasDDAClient::performStat()'],['../classSVF_1_1DDAStat.html#
|
|
24
|
+
['performstat',['performStat',['../classSVF_1_1DDAClient.html#aedd25e487775d37d4f6dcc8a5565c2a3',1,'SVF::DDAClient::performStat()'],['../classSVF_1_1FunptrDDAClient.html#acb63480cc42ceec325d3380aa617670d',1,'SVF::FunptrDDAClient::performStat()'],['../classSVF_1_1AliasDDAClient.html#a66e5ae6a814c752615b63c6496b9e916',1,'SVF::AliasDDAClient::performStat()'],['../classSVF_1_1DDAStat.html#a6055573ae1844cfc559ff81b3b9c325c',1,'SVF::DDAStat::performStat()'],['../classSVF_1_1ICFGStat.html#aabe0779dc44ddc4e06300ea912cca39f',1,'SVF::ICFGStat::performStat()'],['../classSVF_1_1SVFG.html#adc9fbb4553472b238d6c3bb5062279cb',1,'SVF::SVFG::performStat()'],['../classSVF_1_1MemSSAStat.html#a8b4b9466a676d2391c71d38e8be16bc9',1,'SVF::MemSSAStat::performStat()'],['../classSVF_1_1SVFGStat.html#a037600bfff11659542f8595d8700dec4',1,'SVF::SVFGStat::performStat()'],['../classSVF_1_1PTAStat.html#acfed70588cf921694db35990ec3c7497',1,'SVF::PTAStat::performStat()'],['../classSVF_1_1MemSSA.html#a89c40c8fad70f3aead6531261e5a3cc3',1,'SVF::MemSSA::performStat()'],['../classSVF_1_1AndersenStat.html#a66fee1c0ee5781152a2d489f8857ad43',1,'SVF::AndersenStat::performStat()'],['../classSVF_1_1FlowSensitiveStat.html#a059047d05e9873a624e333162a460571',1,'SVF::FlowSensitiveStat::performStat()'],['../classSVF_1_1VersionedFlowSensitiveStat.html#af202623692135ad746aed1be995c55fb',1,'SVF::VersionedFlowSensitiveStat::performStat()']]],
|
|
25
25
|
['performstatforifds',['performStatforIFDS',['../classSVF_1_1ICFGStat.html#a17d9638aa5f4b9aac194862400a209da',1,'SVF::ICFGStat']]],
|
|
26
|
-
['performstatperquery',['performStatPerQuery',['../classSVF_1_1DDAStat.html#
|
|
26
|
+
['performstatperquery',['performStatPerQuery',['../classSVF_1_1DDAStat.html#a11dd60d124a8d3433312589ede4e7b11',1,'SVF::DDAStat::performStatPerQuery()'],['../classSVF_1_1PTAStat.html#adef061d4454a1b1fb46efa4013d9a956',1,'SVF::PTAStat::performStatPerQuery()']]],
|
|
27
27
|
['performtctstat',['performTCTStat',['../classSVF_1_1MTAStat.html#a12f6bd291b206c18001f5d4775251481',1,'SVF::MTAStat']]],
|
|
28
28
|
['performthreadcallgraphstat',['performThreadCallGraphStat',['../classSVF_1_1MTAStat.html#a19c9c1cba3a2cf665f7a05570e316e2e',1,'SVF::MTAStat']]],
|
|
29
29
|
['persistentdfptdata',['PersistentDFPTData',['../classSVF_1_1PersistentDFPTData.html#a85e0aec789ea945bd4cfa9e29189d1b4',1,'SVF::PersistentDFPTData']]],
|
|
@@ -37,7 +37,7 @@ var searchData=
|
|
|
37
37
|
['plainmap',['plainMap',['../classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b',1,'SVF::FlowSensitive']]],
|
|
38
38
|
['pmx',['PMX',['../cuddInt_8c.html#a6e6108316d27c8e3b393f65362e5e37b',1,'cuddInt.c']]],
|
|
39
39
|
['pointeranalysis',['PointerAnalysis',['../classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f',1,'SVF::PointerAnalysis']]],
|
|
40
|
-
['pointsto',['
|
|
40
|
+
['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)']]],
|
|
41
41
|
['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)']]],
|
|
42
42
|
['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()']]],
|
|
43
43
|
['popen',['popen',['../util_8h.html#a7a377e01cff8d8243569ddc8bfef959b',1,'util.h']]],
|
|
@@ -66,8 +66,8 @@ var searchData=
|
|
|
66
66
|
['printpts',['printPts',['../svf-ex_8cpp.html#ae004a620ad67220b6dd8212a2ad625a9',1,'svf-ex.cpp']]],
|
|
67
67
|
['printquerypts',['printQueryPTS',['../classSVF_1_1DDAPass.html#afc700bd3abb5d9199621741b9bd04f0f',1,'SVF::DDAPass']]],
|
|
68
68
|
['printresults',['printResults',['../classSVF_1_1PCG.html#ab8a16eb34da91f2b7cd5a456653b1da0',1,'SVF::PCG']]],
|
|
69
|
-
['printstat',['printStat',['../classSVF_1_1DDAStat.html#
|
|
70
|
-
['printstatperquery',['printStatPerQuery',['../classSVF_1_1DDAStat.html#
|
|
69
|
+
['printstat',['printStat',['../classSVF_1_1DDAStat.html#ae6fd32471e0b9bf51233a36676658b49',1,'SVF::DDAStat::printStat()'],['../classSVF_1_1ICFGStat.html#a2058c584a93cb6c90f165207dbdb01d6',1,'SVF::ICFGStat::printStat()'],['../classSVF_1_1MemSSAStat.html#ad5fbe23c3374e5b3a45ac5fa4900441a',1,'SVF::MemSSAStat::printStat()'],['../classSVF_1_1SVFGStat.html#a2e0adcfbe233523212e1ffbf5b01ba88',1,'SVF::SVFGStat::printStat()'],['../classSVF_1_1PointerAnalysis.html#a4880571f57542afc50da506dfe273183',1,'SVF::PointerAnalysis::printStat()'],['../classSVF_1_1PTAStat.html#aa5f455bfa79743b8e263431593d29bbf',1,'SVF::PTAStat::printStat()'],['../classSVF_1_1AndersenBase.html#a566830d0c7a1f5cd967bb8f2ab168f8d',1,'SVF::AndersenBase::printStat()']]],
|
|
70
|
+
['printstatperquery',['printStatPerQuery',['../classSVF_1_1DDAStat.html#ae695696e5cd06eb27635887f0de30eff',1,'SVF::DDAStat::printStatPerQuery()'],['../classSVF_1_1PTAStat.html#a7ce0630cfe41448bec002f03a176175d',1,'SVF::PTAStat::printStatPerQuery()']]],
|
|
71
71
|
['printstats',['printStats',['../classSVF_1_1PersistentPointsToCache.html#a7d101df4e73b8fbf9ec0df25190417b5',1,'SVF::PersistentPointsToCache::printStats()'],['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ac10cbda6a84ce890c9946a5ff35800b7',1,'SVF::NodeIDAllocator::Clusterer::printStats()']]],
|
|
72
72
|
['printtdfuns',['printTDFuns',['../classSVF_1_1PCG.html#af8af0a2a2159261bf05abe226c43006e',1,'SVF::PCG']]],
|
|
73
73
|
['processaddr',['processAddr',['../classSVF_1_1Andersen.html#aca095e135edb5d27efe76bb7ee71184c',1,'SVF::Andersen::processAddr()'],['../classSVF_1_1AndersenSCD.html#a52704e25a1e3b30ddf8676811f4e1584',1,'SVF::AndersenSCD::processAddr()'],['../classSVF_1_1FlowSensitive.html#abb37c5e4e6fa4742e8dbcf397aea086e',1,'SVF::FlowSensitive::processAddr()'],['../classSVF_1_1FlowSensitiveTBHC.html#abce5580e93cba1e591a0bac4e9070816',1,'SVF::FlowSensitiveTBHC::processAddr()']]],
|
|
@@ -85,7 +85,7 @@ var searchData=
|
|
|
85
85
|
['processfunentry',['processFunEntry',['../classSVF_1_1ICFGBuilder.html#a52e6426f0a1af479159f6fbac6d5b8f4',1,'SVF::ICFGBuilder']]],
|
|
86
86
|
['processfunexit',['processFunExit',['../classSVF_1_1ICFGBuilder.html#a21ecc610b7ac35f4e64b2a4a45688359',1,'SVF::ICFGBuilder']]],
|
|
87
87
|
['processgep',['processGep',['../classSVF_1_1Andersen.html#aa697d4a6fe09dd6e50abb09228b3567f',1,'SVF::Andersen::processGep()'],['../classSVF_1_1FlowSensitive.html#ae017c39ac471727d06868e0eacafd791',1,'SVF::FlowSensitive::processGep()'],['../classSVF_1_1FlowSensitiveTBHC.html#abf96f7329d8c50dcd75da048548d2c85',1,'SVF::FlowSensitiveTBHC::processGep()']]],
|
|
88
|
-
['processgeppts',['processGepPts',['../classSVF_1_1ContextDDA.html#aefd2b50015aa98fa88a508e3ed1d402a',1,'SVF::ContextDDA::processGepPts()'],['../classSVF_1_1DDAVFSolver.html#ab10a34efa1acb6125ea32cf7a8cf919f',1,'SVF::DDAVFSolver::processGepPts()'],['../classSVF_1_1FlowDDA.html#ac48be374351dad54ee2418dde841cf24',1,'SVF::FlowDDA::processGepPts()'],['../classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e',1,'SVF::Andersen::processGepPts()'],['../classSVF_1_1AndersenSFR.html#
|
|
88
|
+
['processgeppts',['processGepPts',['../classSVF_1_1ContextDDA.html#aefd2b50015aa98fa88a508e3ed1d402a',1,'SVF::ContextDDA::processGepPts()'],['../classSVF_1_1DDAVFSolver.html#ab10a34efa1acb6125ea32cf7a8cf919f',1,'SVF::DDAVFSolver::processGepPts()'],['../classSVF_1_1FlowDDA.html#ac48be374351dad54ee2418dde841cf24',1,'SVF::FlowDDA::processGepPts()'],['../classSVF_1_1Andersen.html#ac6b1efcaadfed48c226701ecf6bac55e',1,'SVF::Andersen::processGepPts()'],['../classSVF_1_1AndersenSFR.html#a654abe596f1f6f33e2373503af1f5038',1,'SVF::AndersenSFR::processGepPts()']]],
|
|
89
89
|
['processglobalvarnode',['processGlobalVarNode',['../classSVF_1_1IRAnnotator.html#ac0aa0266a7284a46ad62211fb595d663',1,'SVF::IRAnnotator']]],
|
|
90
90
|
['processgraph',['processGraph',['../classSVF_1_1SVFGStat.html#a3c016e166b8e84eb3b98bc3717cba5d8',1,'SVF::SVFGStat']]],
|
|
91
91
|
['processinlineasmnode',['processInlineAsmNode',['../classSVF_1_1IRAnnotator.html#ad7bc258f3a6201d06f80b3c4422536b2',1,'SVF::IRAnnotator']]],
|
|
@@ -33,7 +33,7 @@ var searchData=
|
|
|
33
33
|
['repnodes',['repNodes',['../classSVF_1_1SCCDetection.html#a2b9605126ebb2abb1e16b3ccf99cf04b',1,'SVF::SCCDetection']]],
|
|
34
34
|
['res',['res',['../classSVF_1_1CmpVFGNode.html#a9a358028cf15ba49b410e0c2a1fafe7c',1,'SVF::CmpVFGNode::res()'],['../classSVF_1_1BinaryOPVFGNode.html#a01ca492acb9b769eb6e1fe2137dff47d',1,'SVF::BinaryOPVFGNode::res()'],['../classSVF_1_1UnaryOPVFGNode.html#a4403fd618b01a26c7c1e8c5da2319db6',1,'SVF::UnaryOPVFGNode::res()'],['../classSVF_1_1PHIVFGNode.html#a513b2636967a86902f4243dc0d2e0e3f',1,'SVF::PHIVFGNode::res()']]],
|
|
35
35
|
['result',['result',['../cuddInt_8c.html#a8b2e13c78efca330f06b6ddcd7464b41',1,'cuddInt.c']]],
|
|
36
|
-
['resver',['resVer',['../
|
|
36
|
+
['resver',['resVer',['../classSVF_1_1MSSADEF.html#a72560a998968ae2dbc6e5aa8a7e9f813',1,'SVF::MSSADEF']]],
|
|
37
37
|
['ret',['ret',['../classSVF_1_1CallICFGNode.html#a6c27c0d796b3d4becdebeba93f4fc785',1,'SVF::CallICFGNode']]],
|
|
38
38
|
['retpe',['retPE',['../classSVF_1_1RetCFGEdge.html#ad4bbb9881dff7b715c7a70b92baf376c',1,'SVF::RetCFGEdge']]],
|
|
39
39
|
['retpes',['retPEs',['../classSVF_1_1FormalRetVFGNode.html#a5fa2fc654385d0fab018053e89565157',1,'SVF::FormalRetVFGNode']]],
|
|
@@ -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',['
|
|
30
|
-
['timeofinsertingphi',['
|
|
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_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',['
|
|
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()']]],
|
|
@@ -25,16 +25,16 @@ var searchData=
|
|
|
25
25
|
['maximumcxtlen',['maximumCxtLen',['../classSVF_1_1ContextCond.html#a3280db7a2b93612fb693a7c1117acfdd',1,'SVF::ContextCond']]],
|
|
26
26
|
['maximumpath',['maximumPath',['../classSVF_1_1ContextCond.html#a7d89351906ef4dff9adb1196f45bc9be',1,'SVF::ContextCond']]],
|
|
27
27
|
['maximumpathlen',['maximumPathLen',['../classSVF_1_1ContextCond.html#aa61b4de81e440448daaf0c5be53aebf3',1,'SVF::ContextCond']]],
|
|
28
|
-
['maxindegree',['maxInDegree',['../classSVF_1_1SVFGStat.html#
|
|
29
|
-
['maxindindegree',['maxIndInDegree',['../classSVF_1_1SVFGStat.html#
|
|
30
|
-
['maxindoutdegree',['maxIndOutDegree',['../classSVF_1_1SVFGStat.html#
|
|
28
|
+
['maxindegree',['maxInDegree',['../classSVF_1_1SVFGStat.html#a536b591b21756519262873462001f421',1,'SVF::SVFGStat']]],
|
|
29
|
+
['maxindindegree',['maxIndInDegree',['../classSVF_1_1SVFGStat.html#a2f1bb17038de877fd1ccffdea3f3cde3',1,'SVF::SVFGStat']]],
|
|
30
|
+
['maxindoutdegree',['maxIndOutDegree',['../classSVF_1_1SVFGStat.html#ac7cb2228bd31e8ebdf33ae2bfd399683',1,'SVF::SVFGStat']]],
|
|
31
31
|
['maxkeys',['maxKeys',['../structDdSubtable.html#a2997673187c40bc7d7977a2581581420',1,'DdSubtable']]],
|
|
32
32
|
['maxlive',['maxLive',['../structDdManager.html#a62605c3fe58ecb0c644e90f36c609aa7',1,'DdManager']]],
|
|
33
33
|
['maxmem',['maxmem',['../structDdManager.html#aca692386284b334539799b3753e0e7b9',1,'DdManager']]],
|
|
34
34
|
['maxmemhard',['maxmemhard',['../structDdManager.html#afef6fd32d5c1fd1f16f5f1c37de8be6b',1,'DdManager']]],
|
|
35
35
|
['maxnumofnodesinscc',['MaxNumOfNodesInSCC',['../classSVF_1_1PTAStat.html#ab754f7768ffcd6f232b8cdf0fef6fc4e',1,'SVF::PTAStat']]],
|
|
36
36
|
['maxoffsetlimit',['maxOffsetLimit',['../classSVF_1_1ObjTypeInfo.html#a5ff63eb0654acd152f7d6c18618ee94a',1,'SVF::ObjTypeInfo']]],
|
|
37
|
-
['maxoutdegree',['maxOutDegree',['../classSVF_1_1SVFGStat.html#
|
|
37
|
+
['maxoutdegree',['maxOutDegree',['../classSVF_1_1SVFGStat.html#a6694ace7ee1b24b0c5ce42e06e4db2cf',1,'SVF::SVFGStat']]],
|
|
38
38
|
['maxpathlen',['MaxPathLen',['../classSVF_1_1Options.html#a32ef95b3bd06b50337b3129b74ffb45c',1,'SVF::Options']]],
|
|
39
39
|
['maxpointstosetsize',['MaxPointsToSetSize',['../classSVF_1_1PTAStat.html#af2b45aab2eee96a1cabba3025e4375a2',1,'SVF::PTAStat::MaxPointsToSetSize()'],['../classSVF_1_1AndersenBase.html#abd73e930450b7c605f478672bdf9bdae',1,'SVF::AndersenBase::MaxPointsToSetSize()']]],
|
|
40
40
|
['maxreorderings',['maxReorderings',['../structDdManager.html#a61170edf6d08bb1c4bacab68823a825d',1,'DdManager']]],
|
|
@@ -104,7 +104,7 @@ var searchData=
|
|
|
104
104
|
['numofmhpld',['numOfMHPLd',['../classSVF_1_1MTAAnnotator.html#a29e0123620ab072fddc45331c6aa46e8',1,'SVF::MTAAnnotator']]],
|
|
105
105
|
['numofmhpqueries',['numOfMHPQueries',['../classSVF_1_1MHP.html#ab8bd382e0c70b0feb2a291ecc4043106',1,'SVF::MHP']]],
|
|
106
106
|
['numofmhpst',['numOfMHPSt',['../classSVF_1_1MTAAnnotator.html#a3a53e90b4f361d1298983bc89795b3d2',1,'SVF::MTAAnnotator']]],
|
|
107
|
-
['numofmssaphi',['
|
|
107
|
+
['numofmssaphi',['numOfMSSAPhi',['../classSVF_1_1SVFGStat.html#a9fc87025af3b7e54442e78f46ebe0360',1,'SVF::SVFGStat::numOfMSSAPhi()'],['../classSVF_1_1MemSSAStat.html#a4b598cb1d06c4c0963787036862b1c3d',1,'SVF::MemSSAStat::NumOfMSSAPhi()']]],
|
|
108
108
|
['numofnewsvfgedges',['numOfNewSVFGEdges',['../classSVF_1_1MTASVFGBuilder.html#a019a4597074fdad6e51d936ed4ead0d9',1,'SVF::MTASVFGBuilder']]],
|
|
109
109
|
['numofnodes',['numOfNodes',['../classSVF_1_1ICFGStat.html#a8e71a19c266aacd7acb1fee6bb339788',1,'SVF::ICFGStat::numOfNodes()'],['../classSVF_1_1SVFGStat.html#ab499c24856a990dd4adb366107eb3302',1,'SVF::SVFGStat::numOfNodes()']]],
|
|
110
110
|
['numofnodesincycles',['NumOfNodesInCycles',['../classSVF_1_1PTAStat.html#aea3e95097b3b9d326bef0d36f17e51a5',1,'SVF::PTAStat']]],
|
|
@@ -112,7 +112,7 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
112
112
|
|
|
113
113
|
<p>Write value flow graph into dot file for debugging </p>
|
|
114
114
|
|
|
115
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
115
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00599">599</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
116
116
|
</div><h2 class="groupheader">Member Typedef Documentation</h2>
|
|
117
117
|
<a id="a73a500d1bdff303590f9dc8786e1f8c0"></a>
|
|
118
118
|
<h2 class="memtitle"><span class="permalink"><a href="#a73a500d1bdff303590f9dc8786e1f8c0">◆ </a></span>ChildIteratorType</h2>
|
|
@@ -126,7 +126,7 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
126
126
|
</table>
|
|
127
127
|
</div><div class="memdoc">
|
|
128
128
|
|
|
129
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
129
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00603">603</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
130
130
|
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
@@ -142,7 +142,7 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
142
142
|
</table>
|
|
143
143
|
</div><div class="memdoc">
|
|
144
144
|
|
|
145
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
145
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00602">602</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
146
146
|
|
|
147
147
|
</div>
|
|
148
148
|
</div>
|
|
@@ -171,8 +171,8 @@ struct llvm::DOTGraphTraits< TCT * ></h3>
|
|
|
171
171
|
</table>
|
|
172
172
|
</div><div class="memdoc">
|
|
173
173
|
|
|
174
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
175
|
-
<div class="fragment"><div class="line"><a name="
|
|
174
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00604">604</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
175
|
+
<div class="fragment"><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  :</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  DefaultDOTGraphTraits(isSimple)</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  {</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  }</div></div><!-- fragment -->
|
|
176
176
|
</div>
|
|
177
177
|
</div>
|
|
178
178
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
@@ -219,9 +219,9 @@ template<class EdgeIter > </div>
|
|
|
219
219
|
</div><div class="memdoc">
|
|
220
220
|
<p>black edge for direct call while two functions contain indirect calls will be label with red color </p>
|
|
221
221
|
|
|
222
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
223
|
-
<div class="fragment"><div class="line"><a name="
|
|
224
|
-
<div class="ttc" id="classSVF_1_1TCT_html_a7b40580939dc63f501a32571806c07bc"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b40580939dc63f501a32571806c07bc">SVF::TCT::getGraphEdge</a></div><div class="ttdeci">TCTEdge * getGraphEdge(TCTNode *src, TCTNode *dst, TCTEdge::CEDGEK kind)</div><div class="ttdoc">Get call graph edge via nodes. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#
|
|
222
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00635">635</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
223
|
+
<div class="fragment"><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  {</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> </div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  <a class="code" href="classSVF_1_1TCTEdge.html">TCTEdge</a>* edge = csThreadTree-><a class="code" href="classSVF_1_1TCT.html#a7b40580939dc63f501a32571806c07bc">getGraphEdge</a>(node, *EI, TCTEdge::ThreadCreateEdge);</div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(edge && <span class="stringliteral">"No edge found!!"</span>);</div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=black"</span>;</div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  }</div><div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
|
|
224
|
+
<div class="ttc" id="classSVF_1_1TCT_html_a7b40580939dc63f501a32571806c07bc"><div class="ttname"><a href="classSVF_1_1TCT.html#a7b40580939dc63f501a32571806c07bc">SVF::TCT::getGraphEdge</a></div><div class="ttdeci">TCTEdge * getGraphEdge(TCTNode *src, TCTNode *dst, TCTEdge::CEDGEK kind)</div><div class="ttdoc">Get call graph edge via nodes. </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8cpp_source.html#l00582">TCT.cpp:582</a></div></div>
|
|
225
225
|
<div class="ttc" id="classSVF_1_1TCTEdge_html"><div class="ttname"><a href="classSVF_1_1TCTEdge.html">SVF::TCTEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00030">TCT.h:30</a></div></div>
|
|
226
226
|
</div><!-- fragment -->
|
|
227
227
|
</div>
|
|
@@ -252,8 +252,8 @@ template<class EdgeIter > </div>
|
|
|
252
252
|
|
|
253
253
|
<p>Return name of the graph. </p>
|
|
254
254
|
|
|
255
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
256
|
-
<div class="fragment"><div class="line"><a name="
|
|
255
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00610">610</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
256
|
+
<div class="fragment"><div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  {</div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">return</span> <span class="stringliteral">"Thread Create Tree"</span>;</div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  }</div></div><!-- fragment -->
|
|
257
257
|
</div>
|
|
258
258
|
</div>
|
|
259
259
|
<a id="a2b3151a123d6c22dc5d6fa81b3ea4a83"></a>
|
|
@@ -290,8 +290,8 @@ template<class EdgeIter > </div>
|
|
|
290
290
|
</table>
|
|
291
291
|
</div><div class="memdoc">
|
|
292
292
|
|
|
293
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
294
|
-
<div class="fragment"><div class="line"><a name="
|
|
293
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00620">620</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
294
|
+
<div class="fragment"><div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  {</div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  std::string attr;</div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">if</span> (node-><a class="code" href="classSVF_1_1TCTNode.html#a4541cd85dcde2ce789ea411ebb1d89c7">isInloop</a>())</div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  {</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  attr.append(<span class="stringliteral">" style=filled fillcolor=red"</span>);</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  }</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (node-><a class="code" href="classSVF_1_1TCTNode.html#a42dde4c3714cc5605f7c0e76cfd4a74c">isIncycle</a>())</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  {</div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  attr.append(<span class="stringliteral">" style=filled fillcolor=yellow"</span>);</div><div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  }</div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">return</span> attr;</div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  }</div><div class="ttc" id="classSVF_1_1TCTNode_html_a4541cd85dcde2ce789ea411ebb1d89c7"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a4541cd85dcde2ce789ea411ebb1d89c7">SVF::TCTNode::isInloop</a></div><div class="ttdeci">bool isInloop() const</div><div class="ttdoc">inloop, incycle attributes </div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00089">TCT.h:89</a></div></div>
|
|
295
295
|
<div class="ttc" id="classSVF_1_1TCTNode_html_a42dde4c3714cc5605f7c0e76cfd4a74c"><div class="ttname"><a href="classSVF_1_1TCTNode.html#a42dde4c3714cc5605f7c0e76cfd4a74c">SVF::TCTNode::isIncycle</a></div><div class="ttdeci">bool isIncycle() const</div><div class="ttdef"><b>Definition:</b> <a href="TCT_8h_source.html#l00093">TCT.h:93</a></div></div>
|
|
296
296
|
</div><!-- fragment -->
|
|
297
297
|
</div>
|
|
@@ -332,8 +332,8 @@ template<class EdgeIter > </div>
|
|
|
332
332
|
|
|
333
333
|
<p>Return function name;. </p>
|
|
334
334
|
|
|
335
|
-
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#
|
|
336
|
-
<div class="fragment"><div class="line"><a name="
|
|
335
|
+
<p class="definition">Definition at line <a class="el" href="TCT_8cpp_source.html#l00615">615</a> of file <a class="el" href="TCT_8cpp_source.html">TCT.cpp</a>.</p>
|
|
336
|
+
<div class="fragment"><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  {</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <span class="keywordflow">return</span> std::to_string(node-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>());</div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  }</div><div class="ttc" id="classSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID. </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00165">GenericGraph.h:165</a></div></div>
|
|
337
337
|
</div><!-- fragment -->
|
|
338
338
|
</div>
|
|
339
339
|
</div>
|
|
@@ -82,7 +82,7 @@ Public Member Functions</h2></td></tr>
|
|
|
82
82
|
struct std::hash< SVF::SVFGNodeLockSpan ></h3>
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#
|
|
85
|
+
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#l00225">225</a> of file <a class="el" href="FSMPTA_8h_source.html">FSMPTA.h</a>.</p>
|
|
86
86
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
87
87
|
<a id="a7854984f902d9a42c6d4e095de8464a7"></a>
|
|
88
88
|
<h2 class="memtitle"><span class="permalink"><a href="#a7854984f902d9a42c6d4e095de8464a7">◆ </a></span>operator()()</h2>
|
|
@@ -108,8 +108,8 @@ struct std::hash< SVF::SVFGNodeLockSpan ></h3>
|
|
|
108
108
|
</table>
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
|
-
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#
|
|
112
|
-
<div class="fragment"><div class="line"><a name="
|
|
111
|
+
<p class="definition">Definition at line <a class="el" href="FSMPTA_8h_source.html#l00226">226</a> of file <a class="el" href="FSMPTA_8h_source.html">FSMPTA.h</a>.</p>
|
|
112
|
+
<div class="fragment"><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  std::hash<SVF::StmtSVFGNode* >h;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="classSVF_1_1StmtVFGNode.html">SVF::StmtSVFGNode</a>* node = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1StmtVFGNode.html">SVF::StmtSVFGNode</a>* <span class="keyword">></span> (cs.<a class="code" href="classSVF_1_1SVFGNodeLockSpan.html#ac6b8a2fd39afa60cdb8379c0377eb50f">getSVFGNode</a>());</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">return</span> h(node);</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  }</div><div class="ttc" id="classSVF_1_1SVFGNodeLockSpan_html_ac6b8a2fd39afa60cdb8379c0377eb50f"><div class="ttname"><a href="classSVF_1_1SVFGNodeLockSpan.html#ac6b8a2fd39afa60cdb8379c0377eb50f">SVF::SVFGNodeLockSpan::getSVFGNode</a></div><div class="ttdeci">const StmtSVFGNode * getSVFGNode() const</div><div class="ttdef"><b>Definition:</b> <a href="FSMPTA_8h_source.html#l00049">FSMPTA.h:49</a></div></div>
|
|
113
113
|
<div class="ttc" id="classSVF_1_1StmtVFGNode_html"><div class="ttname"><a href="classSVF_1_1StmtVFGNode.html">SVF::StmtVFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="VFGNode_8h_source.html#l00113">VFGNode.h:113</a></div></div>
|
|
114
114
|
</div><!-- fragment -->
|
|
115
115
|
</div>
|
|
@@ -209,7 +209,7 @@ Functions</h2></td></tr>
|
|
|
209
209
|
<p>Collect all successor nodes on ICFG traverseOnICFG(icfg, value); </p>
|
|
210
210
|
|
|
211
211
|
<p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00145">145</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
|
|
212
|
-
<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  std::vector<std::string> moduleNameVec;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="stringliteral">"Whole Program Points-to Analysis\n"</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">"ir_annotator"</span>)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  LLVMModuleSet::getLLVMModuleSet()->preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()->buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  svfModule-><a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(svfModule);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-><a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div><div class="line"><a name="
|
|
212
|
+
<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span> </div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordtype">int</span> arg_num = 0;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordtype">char</span> **arg_value = <span class="keyword">new</span> <span class="keywordtype">char</span>*[argc];</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  std::vector<std::string> moduleNameVec;</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVFUtil::processArguments</a>(argc, argv, arg_num, arg_value, moduleNameVec);</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  cl::ParseCommandLineOptions(arg_num, arg_value,</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="stringliteral">"Whole Program Points-to Analysis\n"</span>);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">if</span> (Options::WriteAnder == <span class="stringliteral">"ir_annotator"</span>)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  LLVMModuleSet::getLLVMModuleSet()->preProcessBCs(moduleNameVec);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="classSVF_1_1SVFModule.html">SVFModule</a>* svfModule = LLVMModuleSet::getLLVMModuleSet()->buildSVFModule(moduleNameVec);</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  svfModule-><a class="code" href="classSVF_1_1SVFModule.html#aa03ab5272652290f30870c6e2d053d98">buildSymbolTableInfo</a>();</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> </div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="classSVF_1_1SVFIRBuilder.html">SVFIRBuilder</a> builder;</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = builder.<a class="code" href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">build</a>(svfModule);</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1Andersen.html">Andersen</a>* ander = AndersenWaveDiff::createAndersenWaveDiff(pag);</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="classSVF_1_1PTACallGraph.html">PTACallGraph</a>* callgraph = ander-><a class="code" href="classSVF_1_1PointerAnalysis.html#a7c9b7e5fe37ae31ba84d167945ca57df">getPTACallGraph</a>();</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classSVF_1_1ICFG.html">ICFG</a>* icfg = pag-><a class="code" href="classSVF_1_1SVFIR.html#aa1943d53e75aef9b014953143c6894da">getICFG</a>();</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  icfg-><a class="code" href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">dump</a>(<span class="stringliteral">"icfg"</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classSVF_1_1VFG.html">VFG</a>* vfg = <span class="keyword">new</span> <a class="code" href="classSVF_1_1VFG.html">VFG</a>(callgraph);</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="classSVF_1_1SVFGBuilder.html">SVFGBuilder</a> svfBuilder(<span class="keyword">true</span>);</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <a class="code" href="classSVF_1_1SVFG.html">SVFG</a>* svfg = svfBuilder.buildFullSVFG(ander);</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> </div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="comment">// clean up memory</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">delete</span> vfg;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keyword">delete</span> svfg;</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  AndersenWaveDiff::releaseAndersenWaveDiff();</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  SVFIR::releaseSVFIR();</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  LLVMModuleSet::getLLVMModuleSet()->dumpModulesToFile(<span class="stringliteral">".svf.bc"</span>);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a>();</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  llvm::llvm_shutdown();</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div><div class="ttc" id="classSVF_1_1VFG_html"><div class="ttname"><a href="classSVF_1_1VFG.html">SVF::VFG</a></div><div class="ttdef"><b>Definition:</b> <a href="VFG_8h_source.html#l00050">VFG.h:50</a></div></div>
|
|
213
213
|
<div class="ttc" id="classSVF_1_1SVFIRBuilder_html_aa6d56f9580f76fd09d25ce6cf7541e98"><div class="ttname"><a href="classSVF_1_1SVFIRBuilder.html#aa6d56f9580f76fd09d25ce6cf7541e98">SVF::SVFIRBuilder::build</a></div><div class="ttdeci">virtual SVFIR * build(SVFModule *svfModule)</div><div class="ttdoc">Start building SVFIR here. </div><div class="ttdef"><b>Definition:</b> <a href="SVFIRBuilder_8cpp_source.html#l00048">SVFIRBuilder.cpp:48</a></div></div>
|
|
214
214
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a62ca9a79ce7b6960e3fc42d8b183bd50"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a62ca9a79ce7b6960e3fc42d8b183bd50">SVF::SVFUtil::processArguments</a></div><div class="ttdeci">void processArguments(int argc, char **argv, int &arg_num, char **arg_value, std::vector< std::string > &moduleNameVec)</div><div class="ttdoc">Parse argument for multi-module analysis. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00387">LLVMUtil.cpp:387</a></div></div>
|
|
215
215
|
<div class="ttc" id="classSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00041">SVFModule.h:41</a></div></div>
|
|
@@ -218,6 +218,7 @@ Functions</h2></td></tr>
|
|
|
218
218
|
<div class="ttc" id="classSVF_1_1LLVMModuleSet_html_a2f8e91c075d90be66412a079fe73e936"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a></div><div class="ttdeci">static void releaseLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00076">LLVMModule.h:76</a></div></div>
|
|
219
219
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html">SVF::PTACallGraph</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00218">PTACallGraph.h:218</a></div></div>
|
|
220
220
|
<div class="ttc" id="classSVF_1_1ICFG_html"><div class="ttname"><a href="classSVF_1_1ICFG.html">SVF::ICFG</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00046">ICFG.h:46</a></div></div>
|
|
221
|
+
<div class="ttc" id="classSVF_1_1ICFG_html_a999956500bbd605326531480546db9ba"><div class="ttname"><a href="classSVF_1_1ICFG.html#a999956500bbd605326531480546db9ba">SVF::ICFG::dump</a></div><div class="ttdeci">void dump(const std::string &file, bool simple=false)</div><div class="ttdoc">Dump graph into dot file. </div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8cpp_source.html#l00410">ICFG.cpp:410</a></div></div>
|
|
221
222
|
<div class="ttc" id="classSVF_1_1SVFG_html"><div class="ttname"><a href="classSVF_1_1SVFG.html">SVF::SVFG</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00065">SVFG.h:65</a></div></div>
|
|
222
223
|
<div class="ttc" id="classSVF_1_1SVFGBuilder_html"><div class="ttname"><a href="classSVF_1_1SVFGBuilder.html">SVF::SVFGBuilder</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFGBuilder_8h_source.html#l00059">SVFGBuilder.h:59</a></div></div>
|
|
223
224
|
<div class="ttc" id="classSVF_1_1Andersen_html"><div class="ttname"><a href="classSVF_1_1Andersen.html">SVF::Andersen</a></div><div class="ttdef"><b>Definition:</b> <a href="Andersen_8h_source.html#l00149">Andersen.h:149</a></div></div>
|
|
@@ -300,7 +301,7 @@ Functions</h2></td></tr>
|
|
|
300
301
|
<p>Traverse along VFG </p>
|
|
301
302
|
|
|
302
303
|
<p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00080">80</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
|
|
303
|
-
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* iNode = icfg-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(inst);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const ICFGNode*></a> worklist;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const ICFGNode*></a> visited;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(iNode);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">ICFGNode::const_iterator</a> it =
|
|
304
|
+
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* iNode = icfg-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(inst);</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const ICFGNode*></a> worklist;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const ICFGNode*></a> visited;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(iNode);</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1ICFGNode.html#ac16c5a3227a44d3b9f7c3209156d9df2">ICFGNode::const_iterator</a> it = vNode-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  vNode-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  {</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classSVF_1_1ICFGEdge.html">ICFGEdge</a>* edge = *it;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* succNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  {</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  visited.insert(succNode);</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(succNode);</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  }</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> }</div><div class="ttc" id="classSVF_1_1ICFGEdge_html"><div class="ttname"><a href="classSVF_1_1ICFGEdge.html">SVF::ICFGEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGEdge_8h_source.html#l00044">ICFGEdge.h:44</a></div></div>
|
|
304
305
|
<div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
|
|
305
306
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
306
307
|
<div class="ttc" id="classSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
@@ -346,7 +347,7 @@ Functions</h2></td></tr>
|
|
|
346
347
|
<p>can only query VFGNode involving top-level pointers (starting with % or @ in LLVM IR) PAGNode* pNode = vfg->getLHSTopLevPtr(node); Value* val = pNode->getValue(); </p>
|
|
347
348
|
|
|
348
349
|
<p class="definition">Definition at line <a class="el" href="svf-ex_8cpp_source.html#l00108">108</a> of file <a class="el" href="svf-ex_8cpp_source.html">svf-ex.cpp</a>.</p>
|
|
349
|
-
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = SVFIR::getPAG();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pNode = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(val));</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = vfg-><a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pNode);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const VFGNode*></a> worklist;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const VFGNode*></a> visited;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(vNode);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">VFGNode::const_iterator</a> it = vNode-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  vNode-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classSVF_1_1VFGEdge.html">VFGEdge</a>* edge = *it;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* succNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  visited.insert(succNode);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(succNode);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const VFGNode*>::const_iterator</a> it = visited.begin(), eit = visited.end(); it!=eit; ++it)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="
|
|
350
|
+
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a>* pag = SVFIR::getPAG();</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> </div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="code" href="classSVF_1_1SVFVar.html">PAGNode</a>* pNode = pag-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(pag-><a class="code" href="classSVF_1_1IRGraph.html#abffddd41cc308b9b3bd5ad4a7f8f1624">getValueNode</a>(val));</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = vfg-><a class="code" href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">getDefSVFGNode</a>(pNode);</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="classSVF_1_1FIFOWorkList.html">FIFOWorkList<const VFGNode*></a> worklist;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const VFGNode*></a> visited;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(vNode);</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">empty</a>())</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  {</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* vNode = worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6">pop</a>();</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1VFGNode.html#a3c558955f60c237c558d8faafed781e8">VFGNode::const_iterator</a> it = vNode-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit =</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  vNode-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit; ++it)</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="classSVF_1_1VFGEdge.html">VFGEdge</a>* edge = *it;</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <a class="code" href="classSVF_1_1VFGNode.html">VFGNode</a>* succNode = edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>();</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">if</span> (visited.find(succNode) == visited.end())</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  visited.insert(succNode);</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  worklist.<a class="code" href="classSVF_1_1FIFOWorkList.html#ad4c6a48b60c870d63049fe7272cc7eb8">push</a>(succNode);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keywordflow">for</span>(<a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const VFGNode*>::const_iterator</a> it = visited.begin(), eit = visited.end(); it!=eit; ++it)</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="comment">// const VFGNode* node = *it;</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"></span> }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> }</div><div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00202">GenericGraph.h:202</a></div></div>
|
|
350
351
|
<div class="ttc" id="classSVF_1_1SVFG_html_a8e7a945f4266e8dc7dcfff2ad6494bfb"><div class="ttname"><a href="classSVF_1_1SVFG.html#a8e7a945f4266e8dc7dcfff2ad6494bfb">SVF::SVFG::getDefSVFGNode</a></div><div class="ttdeci">const SVFGNode * getDefSVFGNode(const PAGNode *pagNode) const</div><div class="ttdoc">Given a pagNode, return its definition site. </div><div class="ttdef"><b>Definition:</b> <a href="SVFG_8h_source.html#l00171">SVFG.h:171</a></div></div>
|
|
351
352
|
<div class="ttc" id="classSVF_1_1FIFOWorkList_html_a7056704c224dfb4b57287fe90c004aa8"><div class="ttname"><a href="classSVF_1_1FIFOWorkList.html#a7056704c224dfb4b57287fe90c004aa8">SVF::FIFOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00146">WorkList.h:146</a></div></div>
|
|
352
353
|
<div class="ttc" id="classSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00046">SVFVariables.h:46</a></div></div>
|