svf-tools 1.0.403 → 1.0.406
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/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHG_8h_source.html +5 -6
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/html/Conditions_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ConsG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +6 -6
- 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/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +16 -16
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -3
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +39 -40
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +16 -16
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +88 -88
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +118 -120
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8h_source.html +1 -1
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CSC-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFG-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +87 -87
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo-members.html +13 -10
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +190 -92
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +84 -84
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StInfo-members.html +10 -13
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +40 -137
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +92 -93
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo-members.html +35 -36
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +183 -212
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +6 -6
- package/SVF-doxygen/html/html/functions_b.html +1 -1
- package/SVF-doxygen/html/html/functions_e.html +3 -0
- package/SVF-doxygen/html/html/functions_f.html +2 -2
- package/SVF-doxygen/html/html/functions_func.html +6 -6
- package/SVF-doxygen/html/html/functions_func_f.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +16 -16
- package/SVF-doxygen/html/html/functions_func_i.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +5 -5
- package/SVF-doxygen/html/html/functions_func_v.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +16 -16
- package/SVF-doxygen/html/html/functions_i.html +1 -1
- package/SVF-doxygen/html/html/functions_l.html +1 -1
- package/SVF-doxygen/html/html/functions_m.html +1 -5
- package/SVF-doxygen/html/html/functions_n.html +1 -1
- package/SVF-doxygen/html/html/functions_o.html +9 -9
- package/SVF-doxygen/html/html/functions_p.html +10 -10
- package/SVF-doxygen/html/html/functions_s.html +15 -17
- package/SVF-doxygen/html/html/functions_t.html +7 -7
- package/SVF-doxygen/html/html/functions_type_n.html +1 -1
- package/SVF-doxygen/html/html/functions_type_s.html +1 -1
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_vars_b.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_e.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_m.html +0 -4
- package/SVF-doxygen/html/html/functions_vars_v.html +2 -2
- package/SVF-doxygen/html/html/functions_w.html +9 -5
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -2
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +2 -2
- package/SVF-doxygen/html/html/search/all_1.js +4 -4
- package/SVF-doxygen/html/html/search/all_10.js +7 -7
- package/SVF-doxygen/html/html/search/all_13.js +12 -12
- package/SVF-doxygen/html/html/search/all_14.js +6 -6
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +5 -5
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_5.js +1 -0
- package/SVF-doxygen/html/html/search/all_6.js +2 -2
- package/SVF-doxygen/html/html/search/all_7.js +6 -6
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_d.js +2 -2
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_10.js +3 -3
- package/SVF-doxygen/html/html/search/functions_13.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +6 -6
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_a.js +1 -1
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_14.js +3 -3
- package/SVF-doxygen/html/html/search/variables_15.js +1 -1
- package/SVF-doxygen/html/html/search/variables_16.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +1 -1
- package/SVF-doxygen/html/html/search/variables_5.js +1 -0
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +2 -2
- package/include/Graphs/CHG.h +6 -6
- package/include/Graphs/ConsGEdge.h +1 -1
- package/include/Graphs/ICFG.h +1 -1
- package/include/Graphs/ICFGEdge.h +3 -3
- package/include/MemoryModel/LocationSet.h +5 -5
- package/include/MemoryModel/PAGBuilderFromFile.h +1 -1
- package/include/MemoryModel/SVFIR.h +1 -1
- package/include/MemoryModel/SVFStatements.h +4 -4
- package/include/MemoryModel/SVFVariables.h +2 -2
- package/include/MemoryModel/SymbolTableInfo.h +16 -15
- package/include/SVF-FE/SVFIRBuilder.h +2 -2
- package/include/Util/IRAnnotator.h +2 -2
- package/include/WPA/AndersenSFR.h +1 -1
- package/include/WPA/CSC.h +1 -1
- package/lib/Graphs/ICFG.cpp +1 -1
- package/lib/MTA/MHP.cpp +2 -2
- package/lib/MemoryModel/LocationSet.cpp +3 -3
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +2 -2
- package/lib/MemoryModel/SVFIR.cpp +2 -2
- package/lib/MemoryModel/SymbolTableInfo.cpp +6 -7
- package/lib/SVF-FE/CPPUtil.cpp +4 -4
- package/lib/SVF-FE/ICFGBuilder.cpp +1 -1
- package/lib/SVF-FE/LLVMUtil.cpp +1 -1
- package/lib/SVF-FE/SVFIRBuilder.cpp +17 -10
- package/lib/SVF-FE/SymbolTableBuilder.cpp +3 -4
- package/lib/Util/Conditions.cpp +1 -1
- package/lib/Util/ExtAPI.cpp +13 -0
- package/lib/Util/TypeBasedHeapCloning.cpp +1 -1
- package/lib/WPA/AndersenSFR.cpp +6 -6
- package/lib/WPA/CSC.cpp +5 -5
- package/lib/WPA/TypeAnalysis.cpp +3 -3
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var searchData=
|
|
2
2
|
[
|
|
3
3
|
['fc_5fisnan',['fc_isnan',['../fastcluster_8cpp.html#a8abcd9d66492e761592578e82ce2cba0',1,'fastcluster.cpp']]],
|
|
4
|
-
['fieldexpand',['fieldExpand',['../classSVF_1_1AndersenSFR.html#
|
|
4
|
+
['fieldexpand',['fieldExpand',['../classSVF_1_1AndersenSFR.html#aa768e5cd0a762d17e2ec2baaad0486bf',1,'SVF::AndersenSFR']]],
|
|
5
5
|
['fifoworklist',['FIFOWorkList',['../classSVF_1_1FIFOWorkList.html#a1d3ab8bea4d8f94b935d1bef3cf0c4ac',1,'SVF::FIFOWorkList']]],
|
|
6
6
|
['filechecker',['FileChecker',['../classSVF_1_1FileChecker.html#a283b5e46aba5e964f0a54abc33fcb7b6',1,'SVF::FileChecker::FileChecker()'],['../saber_8cpp.html#ae054770c30aa9b9ef72d5bc84084b472',1,'FILECHECKER(): saber.cpp']]],
|
|
7
7
|
['filoworklist',['FILOWorkList',['../classSVF_1_1FILOWorkList.html#ab447c6c1a59cd81982626d25d00d57de',1,'SVF::FILOWorkList']]],
|
|
@@ -134,7 +134,7 @@ var searchData=
|
|
|
134
134
|
['getcondpointsto',['getCondPointsTo',['../classSVF_1_1CondPTAImpl.html#a454a998ef5a866f2a6f270e3283c6ebd',1,'SVF::CondPTAImpl']]],
|
|
135
135
|
['getcondvar',['getCondVar',['../classSVF_1_1CxtStmtDPItem.html#ab1098f5093419b62ea27a20933059270',1,'SVF::CxtStmtDPItem::getCondVar()'],['../classSVF_1_1PathStmtDPItem.html#a4058ed62b866451b5ced665619ddcf56',1,'SVF::PathStmtDPItem::getCondVar()']]],
|
|
136
136
|
['getconservativecpts',['getConservativeCPts',['../classSVF_1_1ContextDDA.html#a32ce0085cb99f92f63b54df0f2ea2523',1,'SVF::ContextDDA::getConservativeCPts()'],['../classSVF_1_1DDAVFSolver.html#a38f5a6b666b2a427d55f1217f9c5595f',1,'SVF::DDAVFSolver::getConservativeCPts()'],['../classSVF_1_1FlowDDA.html#a086e428c83c2c3ed7fdfbbfd17abdf78',1,'SVF::FlowDDA::getConservativeCPts()']]],
|
|
137
|
-
['getconstantfieldidx',['getConstantFieldIdx',['../classSVF_1_1NormalGepCGEdge.html#
|
|
137
|
+
['getconstantfieldidx',['getConstantFieldIdx',['../classSVF_1_1NormalGepCGEdge.html#a0c67a58a8ef22a07a1f45968ae0dfe4f',1,'SVF::NormalGepCGEdge::getConstantFieldIdx()'],['../classSVF_1_1GepStmt.html#a959a9c95d25f90fd7acc8e6e36056b56',1,'SVF::GepStmt::getConstantFieldIdx()'],['../classSVF_1_1GepValVar.html#a0e5084d3fc54a70ace07075f846395ef',1,'SVF::GepValVar::getConstantFieldIdx()'],['../classSVF_1_1GepObjVar.html#aaf2ab86c43e4f33183289f9bdead36c1',1,'SVF::GepObjVar::getConstantFieldIdx()'],['../classSVF_1_1DCHEdge.html#a500ccfa8f8327ab792844698423d8578',1,'SVF::DCHEdge::getConstantFieldIdx()']]],
|
|
138
138
|
['getconstantnode',['getConstantNode',['../classSVF_1_1IRGraph.html#ac5da3a0cbe040a45d719b6f6a23aed91',1,'SVF::IRGraph']]],
|
|
139
139
|
['getconstantobj',['getConstantObj',['../classSVF_1_1IRGraph.html#aceae1e4e49a1d2e63ef3d71a7e5ef3eb',1,'SVF::IRGraph::getConstantObj()'],['../classSVF_1_1SymbolTableInfo.html#a661eb9ff1839c3af942517808414202b',1,'SVF::SymbolTableInfo::getConstantObj()']]],
|
|
140
140
|
['getconstraintgraph',['getConstraintGraph',['../classSVF_1_1AndersenBase.html#aaec5125db063f8c1e7431ac7fe7a70f2',1,'SVF::AndersenBase']]],
|
|
@@ -232,7 +232,7 @@ var searchData=
|
|
|
232
232
|
['getfilename',['getFileName',['../classSVF_1_1PAGBuilderFromFile.html#aaaa1e516e5eeceece371a9178142c3ff',1,'SVF::PAGBuilderFromFile']]],
|
|
233
233
|
['getfilterset',['getFilterSet',['../classSVF_1_1TypeBasedHeapCloning.html#ae520e0551e63223a908f92a6b9667356',1,'SVF::TypeBasedHeapCloning']]],
|
|
234
234
|
['getfiobjvar',['getFIObjVar',['../classSVF_1_1ConstraintGraph.html#a7c8a29ad1d270fca745f233bb4800731',1,'SVF::ConstraintGraph::getFIObjVar()'],['../classSVF_1_1PointerAnalysis.html#a68b05bc02c5473c1e0d39ac4f4454bac',1,'SVF::PointerAnalysis::getFIObjVar()'],['../classSVF_1_1SVFIR.html#a2878e202045b7f2c817185e8bf95d354',1,'SVF::SVFIR::getFIObjVar(const MemObj *obj) const'],['../classSVF_1_1SVFIR.html#ac9f860028c8cbd364720888084701628',1,'SVF::SVFIR::getFIObjVar(NodeID id) const']]],
|
|
235
|
-
['getflattenedelemidx',['getFlattenedElemIdx',['../classSVF_1_1SymbolTableInfo.html#
|
|
235
|
+
['getflattenedelemidx',['getFlattenedElemIdx',['../classSVF_1_1SymbolTableInfo.html#a8fc42c2b02317621d6aeb3c5f52d3ee8',1,'SVF::SymbolTableInfo']]],
|
|
236
236
|
['getflattenedelemidxvec',['getFlattenedElemIdxVec',['../classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb',1,'SVF::StInfo']]],
|
|
237
237
|
['getflattenedfieldidxvec',['getFlattenedFieldIdxVec',['../classSVF_1_1StInfo.html#aaf05447c20c9f90eea64ab6e88d6ab05',1,'SVF::StInfo']]],
|
|
238
238
|
['getflattenelementtypes',['getFlattenElementTypes',['../classSVF_1_1StInfo.html#ae46e3a2f3eb02e9facf3e317faaf337d',1,'SVF::StInfo']]],
|
|
@@ -372,7 +372,6 @@ var searchData=
|
|
|
372
372
|
['getmaxbinomial',['getMaxBinomial',['../cuddInt_8c.html#a8d6e0a9b3d8a765f0f3cf2be553345a6',1,'cuddInt.c']]],
|
|
373
373
|
['getmaxbudget',['getMaxBudget',['../classSVF_1_1DPItem.html#af9d8f95249190e164131dc19b6db1b67',1,'SVF::DPItem']]],
|
|
374
374
|
['getmaxcxtsize',['getMaxCxtSize',['../classSVF_1_1TCT.html#a49f0672760c29b9be7b6f99a4c82ab7e',1,'SVF::TCT']]],
|
|
375
|
-
['getmaxfieldlimit',['getMaxFieldLimit',['../classSVF_1_1StInfo.html#ad6e599717952f8ccc2771cd72254b6b2',1,'SVF::StInfo']]],
|
|
376
375
|
['getmaxfieldoffsetlimit',['getMaxFieldOffsetLimit',['../classSVF_1_1MemObj.html#a51be7ad70bc2c6a4230bd2f6b86bdc88',1,'SVF::MemObj::getMaxFieldOffsetLimit()'],['../classSVF_1_1ObjTypeInfo.html#a81bc3d785062c7e527ecf8e564cd52a4',1,'SVF::ObjTypeInfo::getMaxFieldOffsetLimit()']]],
|
|
377
376
|
['getmaxpathlen',['getMaxPathLen',['../classSVF_1_1ContextCond.html#a935415951bfc6f5089663980bf8e324d',1,'SVF::ContextCond']]],
|
|
378
377
|
['getmaxstructsize',['getMaxStructSize',['../classSVF_1_1SymbolTableInfo.html#abc7e567209010286a68634c700d76cca',1,'SVF::SymbolTableInfo']]],
|
|
@@ -423,6 +422,7 @@ var searchData=
|
|
|
423
422
|
['getnumfields',['getNumFields',['../classSVF_1_1DCHGraph.html#a0788694fbff155949fc4f4d6487c223e',1,'SVF::DCHGraph']]],
|
|
424
423
|
['getnumobjects',['getNumObjects',['../classSVF_1_1NodeIDAllocator.html#ad63e43c65cb7d7cac7824f5cede5ec89',1,'SVF::NodeIDAllocator']]],
|
|
425
424
|
['getnumofcxtlocks',['getNumOfCxtLocks',['../classSVF_1_1LockAnalysis.html#a3df63f936d488166109d73bdcf0437d5',1,'SVF::LockAnalysis']]],
|
|
425
|
+
['getnumofelements',['getNumOfElements',['../classSVF_1_1ObjTypeInfo.html#a357e0965ff2a6d5468c87809fcdb2eb9',1,'SVF::ObjTypeInfo']]],
|
|
426
426
|
['getnumofflattenelements',['getNumOfFlattenElements',['../classSVF_1_1SymbolTableInfo.html#aec579894eed558ea89740b68360187aa',1,'SVF::SymbolTableInfo::getNumOfFlattenElements()'],['../classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762',1,'SVF::StInfo::getNumOfFlattenElements()']]],
|
|
427
427
|
['getnumofflattenfields',['getNumOfFlattenFields',['../classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0',1,'SVF::StInfo']]],
|
|
428
428
|
['getnumofforksite',['getNumOfForksite',['../classSVF_1_1ThreadCallGraph.html#aa847760765aae18bcb93b260a881441b',1,'SVF::ThreadCallGraph']]],
|
|
@@ -582,7 +582,7 @@ var searchData=
|
|
|
582
582
|
['getsubnodes',['getSubNodes',['../classSVF_1_1Steensgaard.html#a95ed4be99e201058cb6d994250d2629f',1,'SVF::Steensgaard']]],
|
|
583
583
|
['getsubs',['getSubs',['../classSVF_1_1ConstraintGraph.html#ade6a90ed5e0a9e8615bafec54d9d1d73',1,'SVF::ConstraintGraph']]],
|
|
584
584
|
['getsuccessor',['getSuccessor',['../classSVF_1_1BranchVFGNode.html#ae611eb1d27846c15b7301017e1864a30',1,'SVF::BranchVFGNode::getSuccessor()'],['../classSVF_1_1BranchStmt.html#a7d9a6ebb2d95942c453864b5327b1ae8',1,'SVF::BranchStmt::getSuccessor()']]],
|
|
585
|
-
['getsuccessorcondvalue',['getSuccessorCondValue',['../classSVF_1_1IntraCFGEdge.html#
|
|
585
|
+
['getsuccessorcondvalue',['getSuccessorCondValue',['../classSVF_1_1IntraCFGEdge.html#af7320c95bdc66e37153a79b9e38cfdb4',1,'SVF::IntraCFGEdge::getSuccessorCondValue()'],['../classSVF_1_1BranchStmt.html#a0881e8decb0bfe2066995d9d729d1aad',1,'SVF::BranchStmt::getSuccessorCondValue()']]],
|
|
586
586
|
['getsuccessors',['getSuccessors',['../classSVF_1_1BranchVFGNode.html#a2ef5951de4760d28adb9d82b22067360',1,'SVF::BranchVFGNode::getSuccessors()'],['../classSVF_1_1BranchStmt.html#a93040c884df211ac62d53ceafdd9c4dd',1,'SVF::BranchStmt::getSuccessors()']]],
|
|
587
587
|
['getsuccnodes',['getSuccNodes',['../classSVF_1_1MTASVFGBuilder.html#a7033805052c8fae5cd0104fdd9e345c0',1,'SVF::MTASVFGBuilder::getSuccNodes(const StmtSVFGNode *n)'],['../classSVF_1_1MTASVFGBuilder.html#a8164ae39b494115142767abc29cebd53',1,'SVF::MTASVFGBuilder::getSuccNodes(const StmtSVFGNode *n, NodeID o)']]],
|
|
588
588
|
['getsvffun',['getSVFFun',['../classSVF_1_1PCG.html#ac7dd2bbd4274a5e3a6427f3b674f99ba',1,'SVF::PCG::getSVFFun()'],['../classSVF_1_1TCT.html#a21bcc063a406eb8650df42cf5ced68c9',1,'SVF::TCT::getSVFFun()']]],
|
|
@@ -651,8 +651,8 @@ var searchData=
|
|
|
651
651
|
['getvfnsfromvtbls',['getVFnsFromVtbls',['../classSVF_1_1CommonCHGraph.html#aae511b2ee7c2c7ea7be70c7884e92021',1,'SVF::CommonCHGraph::getVFnsFromVtbls()'],['../classSVF_1_1CHGraph.html#ac5f5646db24455609cd86c421774dd3e',1,'SVF::CHGraph::getVFnsFromVtbls()'],['../classSVF_1_1DCHGraph.html#a6a5d012fda005d45bf3196d1a7d2c6fa',1,'SVF::DCHGraph::getVFnsFromVtbls()']]],
|
|
652
652
|
['getvfnvector',['getVfnVector',['../classSVF_1_1DCHNode.html#a11ad6b4fc518f6307727f6b76f7f6f53',1,'SVF::DCHNode']]],
|
|
653
653
|
['getvfnvectors',['getVfnVectors',['../classSVF_1_1DCHNode.html#a0669b995c4fe72f206154f5cf6889fe8',1,'SVF::DCHNode']]],
|
|
654
|
-
['getvirtualfunctionbasedonid',['getVirtualFunctionBasedonID',['../classSVF_1_1CHGraph.html#
|
|
655
|
-
['getvirtualfunctionid',['getVirtualFunctionID',['../classSVF_1_1CHGraph.html#
|
|
654
|
+
['getvirtualfunctionbasedonid',['getVirtualFunctionBasedonID',['../classSVF_1_1CHGraph.html#a7b678b4362a93e969f11b110b85d35ca',1,'SVF::CHGraph']]],
|
|
655
|
+
['getvirtualfunctionid',['getVirtualFunctionID',['../classSVF_1_1CHGraph.html#a7151563857b7b6bdf8195aa571df7516',1,'SVF::CHGraph']]],
|
|
656
656
|
['getvirtualfunctions',['getVirtualFunctions',['../classSVF_1_1CHNode.html#a1abfdc91ec77cab40d6894f471f0733d',1,'SVF::CHNode']]],
|
|
657
657
|
['getvirtualfunctionvectors',['getVirtualFunctionVectors',['../classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af',1,'SVF::CHNode']]],
|
|
658
658
|
['getvtable',['getVTable',['../classSVF_1_1CHNode.html#a600b63dac83e526c933c141d4e2bcc0c',1,'SVF::CHNode::getVTable()'],['../classSVF_1_1DCHNode.html#a1a75ca91148992166d42d245d6c51988',1,'SVF::DCHNode::getVTable()']]],
|
|
@@ -29,7 +29,7 @@ var searchData=
|
|
|
29
29
|
['indvfedgestart',['indVFEdgeStart',['../classSVF_1_1SVFGStat.html#adcb30427bb220dc122ad22030e10eb21',1,'SVF::SVFGStat']]],
|
|
30
30
|
['inedgebegin',['InEdgeBegin',['../classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7',1,'SVF::GenericNode::InEdgeBegin()'],['../classSVF_1_1GenericNode.html#a7c0ff80b1c0ae8b76fc620f21495ca39',1,'SVF::GenericNode::InEdgeBegin() const']]],
|
|
31
31
|
['inedgeend',['InEdgeEnd',['../classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900',1,'SVF::GenericNode::InEdgeEnd()'],['../classSVF_1_1GenericNode.html#a0118fbeb2b314dcdcb53c56a2a13ab07',1,'SVF::GenericNode::InEdgeEnd() const']]],
|
|
32
|
-
['inferfieldidxfrombyteoffset',['inferFieldIdxFromByteOffset',['../classSVF_1_1SVFIRBuilder.html#
|
|
32
|
+
['inferfieldidxfrombyteoffset',['inferFieldIdxFromByteOffset',['../classSVF_1_1SVFIRBuilder.html#a543276371db0120cabe8f63993a4839c',1,'SVF::SVFIRBuilder']]],
|
|
33
33
|
['inferfromcallgraph',['inferFromCallGraph',['../classSVF_1_1PCG.html#adff1702e1b0a902de7ded742846fe137',1,'SVF::PCG']]],
|
|
34
34
|
['infilter',['inFilter',['../classSVF_1_1LockResultValidator.html#a445dbda778198acac87fbbfa029b0dfb',1,'SVF::LockResultValidator']]],
|
|
35
35
|
['inforwardslice',['inForwardSlice',['../classSVF_1_1SVFGStat.html#adc6a5c3e430bdf942f1462e101ac6917',1,'SVF::SVFGStat::inForwardSlice()'],['../classSVF_1_1ProgSlice.html#a5a4b7f34001cc90f9b60222caee1bde6',1,'SVF::ProgSlice::inForwardSlice()']]],
|
|
@@ -12,7 +12,7 @@ var searchData=
|
|
|
12
12
|
['loadmu',['LoadMU',['../classSVF_1_1LoadMU.html#aaf916feaa76c3eaf96dcff576ef366ca',1,'SVF::LoadMU']]],
|
|
13
13
|
['loadstmt',['LoadStmt',['../classSVF_1_1LoadStmt.html#a4bd939005c7c6a5da4ed3b6be6ef1a22',1,'SVF::LoadStmt::LoadStmt()'],['../classSVF_1_1LoadStmt.html#a2efafa925a30de73735ca73b1632b5f8',1,'SVF::LoadStmt::LoadStmt(const LoadStmt &)'],['../classSVF_1_1LoadStmt.html#a92c5817abfaa1f6fbc9ee911f458dfb2',1,'SVF::LoadStmt::LoadStmt(SVFVar *s, SVFVar *d)']]],
|
|
14
14
|
['loadvfgnode',['LoadVFGNode',['../classSVF_1_1LoadVFGNode.html#aca72f4582e33a2d4ef3a96dd2936f567',1,'SVF::LoadVFGNode::LoadVFGNode()'],['../classSVF_1_1LoadVFGNode.html#afe482a8a05b0efc45ceb4052ea87a039',1,'SVF::LoadVFGNode::LoadVFGNode(const LoadVFGNode &)'],['../classSVF_1_1LoadVFGNode.html#a8ae07c41215e9c7544c45e581c18c29b',1,'SVF::LoadVFGNode::LoadVFGNode(NodeID id, const LoadStmt *edge)']]],
|
|
15
|
-
['locationset',['LocationSet',['../classSVF_1_1LocationSet.html#
|
|
15
|
+
['locationset',['LocationSet',['../classSVF_1_1LocationSet.html#a40cc38cbc1a9433d1d83724767dc41ba',1,'SVF::LocationSet::LocationSet(s32_t o=0)'],['../classSVF_1_1LocationSet.html#a290c7fe38704552fd66ad06e5deeaca9',1,'SVF::LocationSet::LocationSet(const LocationSet &ls)']]],
|
|
16
16
|
['lockanalysis',['LockAnalysis',['../classSVF_1_1LockAnalysis.html#af8aff31058caba691c127b8aef297b43',1,'SVF::LockAnalysis']]],
|
|
17
17
|
['lockresultvalidator',['LockResultValidator',['../classSVF_1_1LockResultValidator.html#acfe0b43eee73c5e02f5744d8993cb529',1,'SVF::LockResultValidator']]]
|
|
18
18
|
];
|
|
@@ -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_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)']]],
|
|
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']]],
|
|
@@ -41,7 +41,7 @@ var searchData=
|
|
|
41
41
|
['structlayout',['StructLayout',['../namespaceSVF.html#a52c8654c221bb53a59f70ea3cb1e5c45',1,'SVF']]],
|
|
42
42
|
['structtype',['StructType',['../namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb',1,'SVF']]],
|
|
43
43
|
['succ_5fconst_5fiterator',['succ_const_iterator',['../namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5',1,'SVF']]],
|
|
44
|
-
['succandcondpairvec',['SuccAndCondPairVec',['../classSVF_1_1BranchStmt.html#
|
|
44
|
+
['succandcondpairvec',['SuccAndCondPairVec',['../classSVF_1_1BranchStmt.html#a6a0e64824777f04be4c169125dd4f666',1,'SVF::BranchStmt']]],
|
|
45
45
|
['super',['super',['../classllvm_1_1generic__bridge__gep__type__iterator.html#aba9aa299a72307833598eca0ade33504',1,'llvm::generic_bridge_gep_type_iterator']]],
|
|
46
46
|
['svfgedge',['SVFGEdge',['../namespaceSVF.html#aa4745cf70b26e17d59752356f0b19dd9',1,'SVF']]],
|
|
47
47
|
['svfgedgek',['SVFGEdgeK',['../classSVF_1_1ICFGEdge.html#a068573fdbd9b99af18f3deeb9b16a38b',1,'SVF::ICFGEdge::SVFGEdgeK()'],['../classSVF_1_1VFGEdge.html#ae77e57aa36ed43fe83efa4c90a84688f',1,'SVF::VFGEdge::SVFGEdgeK()']]],
|
|
@@ -13,7 +13,7 @@ var searchData=
|
|
|
13
13
|
['nodelist',['NodeList',['../namespaceSVF.html#ab80cc7e84367e8c5a6a5a617880890f5',1,'SVF']]],
|
|
14
14
|
['nodelocationset',['NodeLocationSet',['../classSVF_1_1SVFIR.html#a323e459ca43e239ddcdc8d00c6a8db6d',1,'SVF::SVFIR']]],
|
|
15
15
|
['nodelocationsetmap',['NodeLocationSetMap',['../classSVF_1_1SVFIR.html#aa5b08d987b37d35e73de88da10a97bc4',1,'SVF::SVFIR']]],
|
|
16
|
-
['nodeoffset',['NodeOffset',['../classSVF_1_1SVFIR.html#
|
|
16
|
+
['nodeoffset',['NodeOffset',['../classSVF_1_1SVFIR.html#a7e908658e66155313c3fbf5a52612b6a',1,'SVF::SVFIR']]],
|
|
17
17
|
['nodeoffsetmap',['NodeOffsetMap',['../classSVF_1_1SVFIR.html#ae683914bce36e2d387bc0bc97dfcb14d',1,'SVF::SVFIR']]],
|
|
18
18
|
['nodepair',['NodePair',['../namespaceSVF.html#af15e78ec0ab5bf5328d0f8e90c74fe4b',1,'SVF']]],
|
|
19
19
|
['nodepairmap',['NodePairMap',['../namespaceSVF.html#a56a7d652fccf3134748f3cb8e8334b76',1,'SVF']]],
|
|
@@ -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_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()'],['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::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_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()'],['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::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_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()'],['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::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()']]],
|
|
@@ -8,7 +8,7 @@ var searchData=
|
|
|
8
8
|
['uniqueunions',['uniqueUnions',['../classSVF_1_1PersistentPointsToCache.html#aacebdd87b1dd45250391d035b032f9d4',1,'SVF::PersistentPointsToCache']]],
|
|
9
9
|
['univ',['univ',['../structDdManager.html#ab21d56989b9a13502aeb84228de45df0',1,'DdManager']]],
|
|
10
10
|
['unlocksites',['unlocksites',['../classSVF_1_1LockAnalysis.html#aec459af1d1624df55ffc95cd75655780',1,'SVF::LockAnalysis']]],
|
|
11
|
-
['updatecallgraphtime',['
|
|
11
|
+
['updatecallgraphtime',['UpdateCallGraphTime',['../classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894',1,'SVF::PTAStat::UpdateCallGraphTime()'],['../classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07',1,'SVF::FlowSensitive::updateCallGraphTime()']]],
|
|
12
12
|
['updatetime',['updateTime',['../classSVF_1_1FlowSensitive.html#af5a94d14096ae2bbc47b3b3b9f723226',1,'SVF::FlowSensitive']]],
|
|
13
13
|
['usedregs',['usedRegs',['../classSVF_1_1MemSSA.html#acf840b71b67cabe831f01f2d358f27fa',1,'SVF::MemSSA']]],
|
|
14
14
|
['usepcg',['UsePCG',['../classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762',1,'SVF::Options']]],
|
|
@@ -20,14 +20,14 @@ var searchData=
|
|
|
20
20
|
['versionreliance',['versionReliance',['../classSVF_1_1VersionedFlowSensitive.html#a1dc6e3d4931b53e7e426c0f76d06aeb3',1,'SVF::VersionedFlowSensitive']]],
|
|
21
21
|
['vfedgesatindcallsite',['vfEdgesAtIndCallSite',['../classSVF_1_1SVFGBuilder.html#aa9b432dd72f1a39be142c4e2c2d51247',1,'SVF::SVFGBuilder']]],
|
|
22
22
|
['vfgnodes',['VFGNodes',['../classSVF_1_1ICFGNode.html#a57f9be13188a6cd53b30489f791e40d3',1,'SVF::ICFGNode']]],
|
|
23
|
-
['vfid',['vfID',['../classSVF_1_1CHGraph.html#
|
|
23
|
+
['vfid',['vfID',['../classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270',1,'SVF::CHGraph']]],
|
|
24
24
|
['vfnvectors',['vfnVectors',['../classSVF_1_1DCHNode.html#af479bf99a759b5dd68619e24f00bfa10',1,'SVF::DCHNode']]],
|
|
25
25
|
['vfpath',['vfpath',['../classSVF_1_1PathStmtDPItem.html#a33758a06ff628da74639bbdc348882c4',1,'SVF::PathStmtDPItem']]],
|
|
26
26
|
['vfspta',['vfspta',['../classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb',1,'SVF::VersionedFlowSensitive::vfspta()'],['../classSVF_1_1VersionedFlowSensitiveStat.html#a19bde64f7e0ac99a2a6b49e78aa2e70f',1,'SVF::VersionedFlowSensitiveStat::vfspta()']]],
|
|
27
27
|
['vfunprelabel',['vfunPreLabel',['../CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b',1,'CPPUtil.cpp']]],
|
|
28
28
|
['vid',['vid',['../classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab',1,'SVF::MRVer']]],
|
|
29
29
|
['virtualcallsites',['virtualCallSites',['../classSVF_1_1TypeAnalysis.html#aa7fb5d1cd8e42058120758a990ed471d',1,'SVF::TypeAnalysis']]],
|
|
30
|
-
['virtualfunctiontoidmap',['virtualFunctionToIDMap',['../classSVF_1_1CHGraph.html#
|
|
30
|
+
['virtualfunctiontoidmap',['virtualFunctionToIDMap',['../classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0',1,'SVF::CHGraph']]],
|
|
31
31
|
['virtualfunctionvectors',['virtualFunctionVectors',['../classSVF_1_1CHNode.html#a9c81308b3eac1728c122fda39e260a90',1,'SVF::CHNode']]],
|
|
32
32
|
['visitedctps',['visitedCTPs',['../classSVF_1_1LockAnalysis.html#aa9f27774c021f4d65fb6a97627355bd7',1,'SVF::LockAnalysis::visitedCTPs()'],['../classSVF_1_1TCT.html#a402dd078c46efc1d7348d81b45e347f2',1,'SVF::TCT::visitedCTPs()']]],
|
|
33
33
|
['visitedset',['visitedSet',['../classSVF_1_1SrcSnkDDA.html#a2349db6c540e418600e2fdbe2e665628',1,'SVF::SrcSnkDDA']]],
|
|
@@ -20,7 +20,7 @@ var searchData=
|
|
|
20
20
|
['branchcond',['branchCond',['../classSVF_1_1BranchCondExpr.html#a99b54ea1152131f8e0991374043ffced',1,'SVF::BranchCondExpr']]],
|
|
21
21
|
['branchcondmanager',['branchCondManager',['../classSVF_1_1CondManager.html#ac735eb27ed4328f97ced87494683f7f1',1,'SVF::CondManager']]],
|
|
22
22
|
['branchcondtocondexpr',['branchCondToCondExpr',['../classSVF_1_1CondManager.html#afd01891f45e085e990c9dbba5cbf3914',1,'SVF::CondManager']]],
|
|
23
|
-
['branchcondval',['branchCondVal',['../classSVF_1_1IntraCFGEdge.html#
|
|
23
|
+
['branchcondval',['branchCondVal',['../classSVF_1_1IntraCFGEdge.html#aa1c91aad3dec610100b1f2f4b9826d10',1,'SVF::IntraCFGEdge']]],
|
|
24
24
|
['briefconscgdotgraph',['BriefConsCGDotGraph',['../classSVF_1_1Options.html#a82370c2b8c9cd62b5767ceeaeeaa7177',1,'SVF::Options']]],
|
|
25
25
|
['brinst',['brInst',['../classSVF_1_1BranchStmt.html#a33887345c00ffda9ca7dca59d61e184a',1,'SVF::BranchStmt']]],
|
|
26
26
|
['brstmt',['brstmt',['../classSVF_1_1BranchVFGNode.html#ab2c5f49a3ac21d827b37b0e4b61f1a10',1,'SVF::BranchVFGNode']]],
|
|
@@ -14,6 +14,7 @@ var searchData=
|
|
|
14
14
|
['elder',['elder',['../structMtrNode.html#a7c8ed9787ec60487fad7b2fede53df98',1,'MtrNode']]],
|
|
15
15
|
['elements',['elements',['../classSVF_1_1CondStdSet.html#a1caece9a66b6617b89037fd8211f2934',1,'SVF::CondStdSet']]],
|
|
16
16
|
['elemidxvec',['elemIdxVec',['../classSVF_1_1StInfo.html#a807ae5cb4d277c79f8b2c9ecde5f12ea',1,'SVF::StInfo']]],
|
|
17
|
+
['elemnum',['elemNum',['../classSVF_1_1ObjTypeInfo.html#a5fdcd5f3b7550e7bdc30c8c030c6226d',1,'SVF::ObjTypeInfo']]],
|
|
17
18
|
['empty',['empty',['../cuddInt_8c.html#a5beb39637a978181c7c17714ac96672e',1,'cuddInt.c']]],
|
|
18
19
|
['enablealiascheck',['EnableAliasCheck',['../classSVF_1_1Options.html#a4da18281b973b9ffb5068dd53060524c',1,'SVF::Options']]],
|
|
19
20
|
['enablethreadcallgraph',['EnableThreadCallGraph',['../classSVF_1_1Options.html#a153d42a480ef1763ad59fd7258ac3ac5',1,'SVF::Options']]],
|
|
@@ -15,7 +15,7 @@ var searchData=
|
|
|
15
15
|
['fkjntoptascevmap',['fkjnToPTASCEVMap',['../classSVF_1_1ForkJoinAnalysis.html#a4207948054a0f98560922f3f07ada10f',1,'SVF::ForkJoinAnalysis']]],
|
|
16
16
|
['flags',['flags',['../structMove.html#a279868fb9de35a14b9b4a066487a5e68',1,'Move::flags()'],['../structMtrNode.html#a729ce47dfa70a8e041a89d478c6565f5',1,'MtrNode::flags()'],['../classSVF_1_1CHNode.html#a6844c89f715979709dc52d4854373e72',1,'SVF::CHNode::flags()'],['../classSVF_1_1ObjTypeInfo.html#abf6bbcccf73bfcd5b950803d349c4eb1',1,'SVF::ObjTypeInfo::flags()'],['../classSVF_1_1RaceResultValidator_1_1AccessPair.html#aafb0a0cd068e1632f0d643233cad8ad9',1,'SVF::RaceResultValidator::AccessPair::flags()'],['../classSVF_1_1DCHNode.html#a0b2c21429fd28c50965737a0baa2e90b',1,'SVF::DCHNode::flags()']]],
|
|
17
17
|
['flattenelementtypes',['flattenElementTypes',['../classSVF_1_1StInfo.html#a8b24c6a35701a719cd5f1deef62421cd',1,'SVF::StInfo']]],
|
|
18
|
-
['fldidx',['fldIdx',['../classSVF_1_1LocationSet.html#
|
|
18
|
+
['fldidx',['fldIdx',['../classSVF_1_1LocationSet.html#a5c2c1baa17a70b997824002e4c159cbd',1,'SVF::LocationSet']]],
|
|
19
19
|
['fldidx2typemap',['fldIdx2TypeMap',['../classSVF_1_1StInfo.html#a3da859dcf2a5fe7078b1257dd5f1e479',1,'SVF::StInfo']]],
|
|
20
20
|
['fldidxvec',['fldIdxVec',['../classSVF_1_1StInfo.html#a77c94c0ab75b2d5af2132ff8e082cefe',1,'SVF::StInfo']]],
|
|
21
21
|
['flowbudget',['FlowBudget',['../classSVF_1_1Options.html#a53b1a1ec4e5bbd9696ed9b680aa0c3c7',1,'SVF::Options']]],
|
|
@@ -17,7 +17,7 @@ var searchData=
|
|
|
17
17
|
['maxcachehard',['maxCacheHard',['../structDdManager.html#a1b53bee9cf86fc1131c420c2aef7e473',1,'DdManager']]],
|
|
18
18
|
['maxcontextlen',['MaxContextLen',['../classSVF_1_1Options.html#a2e53156bd075d7802d390672f129c6a8',1,'SVF::Options']]],
|
|
19
19
|
['maxcxtsize',['MaxCxtSize',['../classSVF_1_1TCT.html#aaae41663b1d1f4d38b047c50c156defb',1,'SVF::TCT']]],
|
|
20
|
-
['maxfieldlimit',['MaxFieldLimit',['../classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc',1,'SVF::Options
|
|
20
|
+
['maxfieldlimit',['MaxFieldLimit',['../classSVF_1_1Options.html#adfc1a5c6098d3867e29fc65ca9ffa1cc',1,'SVF::Options']]],
|
|
21
21
|
['maxgrowth',['maxGrowth',['../structDdManager.html#a8a6a4238d1bc8a87eabd2c3eabd233d7',1,'DdManager']]],
|
|
22
22
|
['maxgrowthalt',['maxGrowthAlt',['../structDdManager.html#a2926e48e488cec20a61e9b0dc6b91795',1,'DdManager']]],
|
|
23
23
|
['maximumbudget',['maximumBudget',['../classSVF_1_1DPItem.html#a5dbb0e6010b38c5b937ff06cb40cd0ef',1,'SVF::DPItem']]],
|
|
@@ -109,8 +109,8 @@ struct std::hash< SVF::LocationSet ></h3>
|
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
111
|
<p class="definition">Definition at line <a class="el" href="LocationSet_8h_source.html#l00139">139</a> of file <a class="el" href="LocationSet_8h_source.html">LocationSet.h</a>.</p>
|
|
112
|
-
<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="structSVF_1_1Hash.html">SVF::Hash<std::pair<SVF::NodeID, SVF::NodeID></a>> h;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  std::hash<SVF::LocationSet::OffsetValueVec> v;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> h(std::make_pair(ls.<a class="code" href="classSVF_1_1LocationSet.html#
|
|
113
|
-
<div class="ttc" id="
|
|
112
|
+
<div class="fragment"><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="code" href="structSVF_1_1Hash.html">SVF::Hash<std::pair<SVF::NodeID, SVF::NodeID></a>> h;</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  std::hash<SVF::LocationSet::OffsetValueVec> v;</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">return</span> h(std::make_pair(ls.<a class="code" href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">accumulateConstantFieldIdx</a>(), v(ls.<a class="code" href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">getOffsetValueVec</a>())));</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div><div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00052">SVFBasicTypes.h:52</a></div></div>
|
|
113
|
+
<div class="ttc" id="classSVF_1_1LocationSet_html_a63c5c8e03b35e0d0cea94137d309c853"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a63c5c8e03b35e0d0cea94137d309c853">SVF::LocationSet::accumulateConstantFieldIdx</a></div><div class="ttdeci">s32_t accumulateConstantFieldIdx() const</div><div class="ttdoc">Get methods. </div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00090">LocationSet.h:90</a></div></div>
|
|
114
114
|
<div class="ttc" id="classSVF_1_1LocationSet_html_a5a5ca0b81da0b34ab426bc6a28ed346c"><div class="ttname"><a href="classSVF_1_1LocationSet.html#a5a5ca0b81da0b34ab426bc6a28ed346c">SVF::LocationSet::getOffsetValueVec</a></div><div class="ttdeci">const OffsetValueVec & getOffsetValueVec() const</div><div class="ttdef"><b>Definition:</b> <a href="LocationSet_8h_source.html#l00098">LocationSet.h:98</a></div></div>
|
|
115
115
|
</div><!-- fragment -->
|
|
116
116
|
</div>
|
package/include/Graphs/CHG.h
CHANGED
|
@@ -238,18 +238,18 @@ public:
|
|
|
238
238
|
void view();
|
|
239
239
|
void printCH();
|
|
240
240
|
|
|
241
|
-
inline
|
|
241
|
+
inline u32_t getVirtualFunctionID(const SVFFunction* vfn) const
|
|
242
242
|
{
|
|
243
|
-
Map<const SVFFunction*,
|
|
243
|
+
Map<const SVFFunction*, u32_t>::const_iterator it =
|
|
244
244
|
virtualFunctionToIDMap.find(vfn);
|
|
245
245
|
if (it != virtualFunctionToIDMap.end())
|
|
246
246
|
return it->second;
|
|
247
247
|
else
|
|
248
248
|
return -1;
|
|
249
249
|
}
|
|
250
|
-
inline const SVFFunction* getVirtualFunctionBasedonID(
|
|
250
|
+
inline const SVFFunction* getVirtualFunctionBasedonID(u32_t id) const
|
|
251
251
|
{
|
|
252
|
-
Map<const SVFFunction*,
|
|
252
|
+
Map<const SVFFunction*, u32_t>::const_iterator it, eit;
|
|
253
253
|
for (it = virtualFunctionToIDMap.begin(), eit =
|
|
254
254
|
virtualFunctionToIDMap.end(); it != eit; ++it)
|
|
255
255
|
{
|
|
@@ -309,7 +309,7 @@ public:
|
|
|
309
309
|
private:
|
|
310
310
|
SVFModule* svfMod;
|
|
311
311
|
u32_t classNum;
|
|
312
|
-
|
|
312
|
+
u32_t vfID;
|
|
313
313
|
double buildingCHGTime;
|
|
314
314
|
Map<std::string, CHNode *> classNameToNodeMap;
|
|
315
315
|
NameToCHNodesMap classNameToDescendantsMap;
|
|
@@ -318,7 +318,7 @@ private:
|
|
|
318
318
|
NameToCHNodesMap templateNameToInstancesMap;
|
|
319
319
|
CallSiteToCHNodesMap csToClassesMap;
|
|
320
320
|
|
|
321
|
-
Map<const SVFFunction*,
|
|
321
|
+
Map<const SVFFunction*, u32_t> virtualFunctionToIDMap;
|
|
322
322
|
CallSiteToVTableSetMap csToCHAVtblsMap;
|
|
323
323
|
CallSiteToVFunSetMap csToCHAVFnsMap;
|
|
324
324
|
};
|
package/include/Graphs/ICFG.h
CHANGED
|
@@ -128,7 +128,7 @@ protected:
|
|
|
128
128
|
/// Add control-flow edges for top level pointers
|
|
129
129
|
//@{
|
|
130
130
|
ICFGEdge* addIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode);
|
|
131
|
-
ICFGEdge* addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Value* condition,
|
|
131
|
+
ICFGEdge* addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Value* condition, s32_t branchCondVal);
|
|
132
132
|
ICFGEdge* addCallEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruction* cs);
|
|
133
133
|
ICFGEdge* addRetEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruction* cs);
|
|
134
134
|
//@}
|
|
@@ -138,12 +138,12 @@ public:
|
|
|
138
138
|
return conditionVar;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
const
|
|
141
|
+
const s32_t getSuccessorCondValue() const{
|
|
142
142
|
assert(getCondition() && "this is not a conditional branch edge");
|
|
143
143
|
return branchCondVal;
|
|
144
144
|
}
|
|
145
145
|
|
|
146
|
-
void setBranchCondition(const Value* c,
|
|
146
|
+
void setBranchCondition(const Value* c, s32_t bVal){
|
|
147
147
|
conditionVar = c;
|
|
148
148
|
branchCondVal = bVal;
|
|
149
149
|
}
|
|
@@ -156,7 +156,7 @@ private:
|
|
|
156
156
|
/// e.g., Inst1: br %cmp label 0, label 1, Inst2 is label 0 and Inst 3 is label 1;
|
|
157
157
|
/// for edge between Inst1 and Inst 2, the first element is %cmp and second element is 0
|
|
158
158
|
const Value* conditionVar;
|
|
159
|
-
|
|
159
|
+
s32_t branchCondVal;
|
|
160
160
|
};
|
|
161
161
|
|
|
162
162
|
/*!
|
|
@@ -57,7 +57,7 @@ public:
|
|
|
57
57
|
typedef std::vector<std::pair<const Value*, const Type*> > OffsetValueVec;
|
|
58
58
|
|
|
59
59
|
/// Constructor
|
|
60
|
-
LocationSet(
|
|
60
|
+
LocationSet(s32_t o = 0) : fldIdx(o)
|
|
61
61
|
{}
|
|
62
62
|
|
|
63
63
|
/// Copy Constructor
|
|
@@ -87,11 +87,11 @@ public:
|
|
|
87
87
|
|
|
88
88
|
/// Get methods
|
|
89
89
|
//@{
|
|
90
|
-
inline
|
|
90
|
+
inline s32_t accumulateConstantFieldIdx() const
|
|
91
91
|
{
|
|
92
92
|
return fldIdx;
|
|
93
93
|
}
|
|
94
|
-
inline void setFldIdx(
|
|
94
|
+
inline void setFldIdx(s32_t idx)
|
|
95
95
|
{
|
|
96
96
|
fldIdx = idx;
|
|
97
97
|
}
|
|
@@ -102,7 +102,7 @@ public:
|
|
|
102
102
|
//@}
|
|
103
103
|
|
|
104
104
|
/// Return accumulated constant offset given OffsetValueVec
|
|
105
|
-
|
|
105
|
+
s32_t accumulateConstantOffset() const;
|
|
106
106
|
|
|
107
107
|
/// Return element number of a type.
|
|
108
108
|
u32_t getElementNum(const Type* type) const;
|
|
@@ -129,7 +129,7 @@ private:
|
|
|
129
129
|
/// Compute all possible locations according to offset and number-stride pairs.
|
|
130
130
|
NodeBS computeAllLocations() const;
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
s32_t fldIdx; ///< Accumulated Constant Offsets
|
|
133
133
|
OffsetValueVec offsetValues; ///< a vector of actual offset in the form of Values
|
|
134
134
|
};
|
|
135
135
|
|
|
@@ -63,7 +63,7 @@ public:
|
|
|
63
63
|
typedef Map<const SVFFunction*,SVFStmtSet> FunToPAGEdgeSetMap;
|
|
64
64
|
typedef Map<const ICFGNode*,SVFStmtList> ICFGNode2SVFStmtsMap;
|
|
65
65
|
typedef Map<NodeID, NodeID> NodeToNodeMap;
|
|
66
|
-
typedef std::pair<NodeID,
|
|
66
|
+
typedef std::pair<NodeID, s32_t> NodeOffset;
|
|
67
67
|
typedef std::pair<NodeID, LocationSet> NodeLocationSet;
|
|
68
68
|
typedef Map<NodeOffset,NodeID> NodeOffsetMap;
|
|
69
69
|
typedef Map<NodeLocationSet,NodeID> NodeLocationSetMap;
|
|
@@ -445,12 +445,12 @@ public:
|
|
|
445
445
|
return getLocationSet().isConstantOffset();
|
|
446
446
|
}
|
|
447
447
|
/// Return accumulated constant offset (when accessing array or struct) if this offset is a constant.
|
|
448
|
-
inline
|
|
448
|
+
inline s32_t accumulateConstantOffset() const
|
|
449
449
|
{
|
|
450
450
|
return getLocationSet().accumulateConstantOffset();
|
|
451
451
|
}
|
|
452
452
|
/// Field index of the gep statement if it access the field of a struct
|
|
453
|
-
inline
|
|
453
|
+
inline s32_t getConstantFieldIdx() const
|
|
454
454
|
{
|
|
455
455
|
assert(isVariantFieldGep()==false && "Can't retrieve the LocationSet if using a variable field index (pointer arithmetic) for struct field access ");
|
|
456
456
|
return getLocationSet().accumulateConstantFieldIdx();
|
|
@@ -921,7 +921,7 @@ public:
|
|
|
921
921
|
class BranchStmt: public SVFStmt
|
|
922
922
|
{
|
|
923
923
|
public:
|
|
924
|
-
typedef std::vector<std::pair<const ICFGNode*,
|
|
924
|
+
typedef std::vector<std::pair<const ICFGNode*, s32_t> > SuccAndCondPairVec;
|
|
925
925
|
private:
|
|
926
926
|
BranchStmt(); ///< place holder
|
|
927
927
|
BranchStmt(const BranchStmt &); ///< place holder
|
|
@@ -987,7 +987,7 @@ public:
|
|
|
987
987
|
const ICFGNode* getSuccessor (u32_t i) const{
|
|
988
988
|
return successors.at(i).first;
|
|
989
989
|
}
|
|
990
|
-
|
|
990
|
+
s32_t getSuccessorCondValue (u32_t i) const{
|
|
991
991
|
return successors.at(i).second;
|
|
992
992
|
}
|
|
993
993
|
//@}
|
|
@@ -413,7 +413,7 @@ public:
|
|
|
413
413
|
}
|
|
414
414
|
|
|
415
415
|
/// offset of the base value variable
|
|
416
|
-
inline
|
|
416
|
+
inline s32_t getConstantFieldIdx() const
|
|
417
417
|
{
|
|
418
418
|
return ls.accumulateConstantFieldIdx();
|
|
419
419
|
}
|
|
@@ -483,7 +483,7 @@ public:
|
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
/// offset of the mem object
|
|
486
|
-
inline
|
|
486
|
+
inline s32_t getConstantFieldIdx() const
|
|
487
487
|
{
|
|
488
488
|
return ls.accumulateConstantFieldIdx();
|
|
489
489
|
}
|
|
@@ -98,9 +98,6 @@ private:
|
|
|
98
98
|
/// Module
|
|
99
99
|
SVFModule* mod;
|
|
100
100
|
|
|
101
|
-
/// Max field limit
|
|
102
|
-
static u32_t maxFieldLimit;
|
|
103
|
-
|
|
104
101
|
/// Clean up memory
|
|
105
102
|
void destroy();
|
|
106
103
|
|
|
@@ -350,7 +347,7 @@ public:
|
|
|
350
347
|
/// Number of flattenned elements of an array or struct
|
|
351
348
|
u32_t getNumOfFlattenElements(const Type *T);
|
|
352
349
|
/// Flatterned element idx of an array or struct by considering stride
|
|
353
|
-
u32_t getFlattenedElemIdx(const Type *T,
|
|
350
|
+
u32_t getFlattenedElemIdx(const Type *T, u32_t origId);
|
|
354
351
|
|
|
355
352
|
/// struct A { int id; int salary; }; struct B { char name[20]; struct A a;} B b;
|
|
356
353
|
/// OriginalElemType of b with field_idx 1 : Struct A
|
|
@@ -513,7 +510,6 @@ private:
|
|
|
513
510
|
/// Type vector of fields
|
|
514
511
|
std::vector<const Type*> flattenElementTypes;
|
|
515
512
|
/// Max field limit
|
|
516
|
-
static u32_t maxFieldLimit;
|
|
517
513
|
|
|
518
514
|
StInfo(); ///< place holder
|
|
519
515
|
StInfo(const StInfo& st); ///< place holder
|
|
@@ -529,16 +525,6 @@ public:
|
|
|
529
525
|
{
|
|
530
526
|
}
|
|
531
527
|
|
|
532
|
-
static inline void setMaxFieldLimit(u32_t limit)
|
|
533
|
-
{
|
|
534
|
-
maxFieldLimit = limit;
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
static inline u32_t getMaxFieldLimit()
|
|
538
|
-
{
|
|
539
|
-
return maxFieldLimit;
|
|
540
|
-
}
|
|
541
|
-
|
|
542
528
|
/// struct A { int id; int salary; }; struct B { char name[20]; struct A a;} B b;
|
|
543
529
|
/// OriginalFieldType of b with field_idx 1 : Struct A
|
|
544
530
|
/// FlatternedFieldType of b with field_idx 1 : int
|
|
@@ -620,6 +606,8 @@ private:
|
|
|
620
606
|
/// maximum number of field object can be created
|
|
621
607
|
/// minimum number is 0 (field insensitive analysis)
|
|
622
608
|
u32_t maxOffsetLimit;
|
|
609
|
+
/// Size of the object or number of elements
|
|
610
|
+
u32_t elemNum;
|
|
623
611
|
|
|
624
612
|
void resetTypeForHeapStaticObj(const Type* type);
|
|
625
613
|
public:
|
|
@@ -650,6 +638,19 @@ public:
|
|
|
650
638
|
maxOffsetLimit = limit;
|
|
651
639
|
}
|
|
652
640
|
|
|
641
|
+
/// Set the number of elements of this object
|
|
642
|
+
inline void setNumOfElements(u32_t num)
|
|
643
|
+
{
|
|
644
|
+
elemNum = num;
|
|
645
|
+
setMaxFieldOffsetLimit(num);
|
|
646
|
+
}
|
|
647
|
+
|
|
648
|
+
/// Get the number of elements of this object
|
|
649
|
+
inline u32_t getNumOfElements()
|
|
650
|
+
{
|
|
651
|
+
return elemNum;
|
|
652
|
+
}
|
|
653
|
+
|
|
653
654
|
/// Flag for this object type
|
|
654
655
|
//@{
|
|
655
656
|
inline void setFlag(MEMTYPE mask)
|
|
@@ -74,7 +74,7 @@ public:
|
|
|
74
74
|
//@{
|
|
75
75
|
void initialiseNodes();
|
|
76
76
|
void addEdge(NodeID src, NodeID dst, SVFStmt::PEDGEK kind,
|
|
77
|
-
|
|
77
|
+
s32_t offset = 0, Instruction* cs = nullptr);
|
|
78
78
|
// @}
|
|
79
79
|
|
|
80
80
|
/// Sanity check for SVFIR
|
|
@@ -220,7 +220,7 @@ protected:
|
|
|
220
220
|
void processCE(const Value *val);
|
|
221
221
|
|
|
222
222
|
/// Infer field index from byteoffset.
|
|
223
|
-
u32_t inferFieldIdxFromByteOffset(const llvm::GEPOperator* gepOp, DataLayout *dl, LocationSet& ls,
|
|
223
|
+
u32_t inferFieldIdxFromByteOffset(const llvm::GEPOperator* gepOp, DataLayout *dl, LocationSet& ls, s32_t idx);
|
|
224
224
|
|
|
225
225
|
/// Compute offset of a gep instruction or gep constant expression
|
|
226
226
|
bool computeGepOffset(const User *V, LocationSet& ls);
|
|
@@ -85,7 +85,7 @@ private:
|
|
|
85
85
|
{
|
|
86
86
|
std::string label = it->getName().str();
|
|
87
87
|
std::string toErase = "gepnode-";
|
|
88
|
-
SVF::
|
|
88
|
+
SVF::s32_t pos = label.find(toErase);
|
|
89
89
|
if (pos == std::string::npos)
|
|
90
90
|
{
|
|
91
91
|
continue;
|
|
@@ -96,7 +96,7 @@ private:
|
|
|
96
96
|
auto mdNode = it->getOperand(0);
|
|
97
97
|
|
|
98
98
|
SVF::NodeID baseNodeId = std::stoi(llvm::cast<llvm::MDString>(mdNode->getOperand(0))->getString().str());
|
|
99
|
-
SVF::
|
|
99
|
+
SVF::s32_t locationSetOffset = std::stoi(llvm::cast<llvm::MDString>(mdNode->getOperand(1))->getString().str());
|
|
100
100
|
|
|
101
101
|
LocationSet locationSet = LocationSet(locationSetOffset);
|
|
102
102
|
SVF::NodeID gepnodeId = pag->getGepObjVar(baseNodeId, locationSet);
|
|
@@ -149,7 +149,7 @@ public:
|
|
|
149
149
|
protected:
|
|
150
150
|
void initialize();
|
|
151
151
|
void PWCDetect();
|
|
152
|
-
void fieldExpand(NodeSet& initials,
|
|
152
|
+
void fieldExpand(NodeSet& initials, s32_t offset, NodeBS& strides, PointsTo& expandPts);
|
|
153
153
|
bool processGepPts(PointsTo& pts, const GepCGEdge* edge);
|
|
154
154
|
bool mergeSrcToTgt(NodeID nodeId, NodeID newRepId);
|
|
155
155
|
|
package/include/WPA/CSC.h
CHANGED
package/lib/Graphs/ICFG.cpp
CHANGED
|
@@ -352,7 +352,7 @@ ICFGEdge* ICFG::addIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode)
|
|
|
352
352
|
/*!
|
|
353
353
|
* Add conditional intraprocedural edges between two nodes
|
|
354
354
|
*/
|
|
355
|
-
ICFGEdge* ICFG::addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Value* condition,
|
|
355
|
+
ICFGEdge* ICFG::addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Value* condition, s32_t branchCondVal){
|
|
356
356
|
|
|
357
357
|
checkIntraEdgeParents(srcNode, dstNode);
|
|
358
358
|
if(ICFGEdge* edge = hasIntraICFGEdge(srcNode,dstNode, ICFGEdge::IntraCF))
|