svf-tools 1.0.798 → 1.0.800
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/AccessPath_8cpp_source.html +145 -144
- package/SVF-doxygen/html/AccessPath_8h_source.html +6 -6
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +4 -4
- package/SVF-doxygen/html/CFLAlias_8h_source.html +3 -3
- package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +4 -4
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/FlowDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +5 -5
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +177 -167
- package/SVF-doxygen/html/LLVMModule_8h_source.html +3 -3
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +138 -135
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/MHP_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/MTA_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +7 -7
- package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PCG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +4 -4
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +6 -6
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +5 -5
- package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8cpp_source.html +7 -7
- package/SVF-doxygen/html/SVFType_8h.html +23 -23
- package/SVF-doxygen/html/SVFType_8h_source.html +340 -332
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +2 -2
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +3 -3
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
- package/SVF-doxygen/html/TCT_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/VFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/WPAPass_8cpp_source.html +4 -4
- package/SVF-doxygen/html/WPAPass_8h_source.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +131 -130
- package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1CFLBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAClient.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1DDAPass.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +172 -162
- package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MHP.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1MTA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MemSSAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1PCG.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +27 -27
- package/SVF-doxygen/html/classSVF_1_1SVFFunction.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +18 -18
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFPointerType-members.html +18 -17
- package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +49 -16
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1TCT.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1VFG.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1WPAPass.html +3 -3
- package/SVF-doxygen/html/functions_func_s.html +23 -20
- package/SVF-doxygen/html/functions_l.html +5 -5
- package/SVF-doxygen/html/functions_n.html +3 -3
- package/SVF-doxygen/html/functions_o.html +10 -10
- package/SVF-doxygen/html/functions_p.html +9 -5
- package/SVF-doxygen/html/functions_r.html +5 -5
- package/SVF-doxygen/html/functions_s.html +19 -18
- package/SVF-doxygen/html/functions_t.html +3 -3
- package/SVF-doxygen/html/functions_v.html +3 -3
- package/SVF-doxygen/html/functions_w.html +1 -1
- package/SVF-doxygen/html/namespaceSVF.html +23 -23
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +42 -39
- package/SVF-doxygen/html/search/all_10.js +3 -3
- package/SVF-doxygen/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/search/all_12.js +396 -395
- package/SVF-doxygen/html/search/all_13.js +191 -191
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/search/all_c.js +4 -4
- package/SVF-doxygen/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/search/all_f.js +4 -4
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +80 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +21 -21
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +55 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +12 -12
- package/SVF-doxygen/html/search/functions_1.js +359 -359
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +138 -138
- package/SVF-doxygen/html/search/functions_12.js +277 -276
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +86 -86
- package/SVF-doxygen/html/search/functions_3.js +257 -257
- package/SVF-doxygen/html/search/functions_4.js +75 -75
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +59 -59
- package/SVF-doxygen/html/search/functions_7.js +851 -851
- package/SVF-doxygen/html/search/functions_8.js +146 -146
- package/SVF-doxygen/html/search/functions_9.js +428 -428
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +26 -26
- package/SVF-doxygen/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +61 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +55 -55
- package/SVF-doxygen/html/search/typedefs_7.js +42 -42
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +37 -37
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/structSVF_1_1Hash_3_01NodePair_01_4.html +11 -11
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +11 -11
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +7 -7
- package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +14 -14
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
- package/package.json +1 -1
- package/svf/include/SVFIR/SVFType.h +9 -2
- package/svf/lib/MemoryModel/AccessPath.cpp +5 -4
- package/svf/lib/SVFIR/SVFFileSystem.cpp +1 -1
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +7 -4
- package/svf-llvm/lib/LLVMModule.cpp +11 -2
|
@@ -181,7 +181,7 @@ $(function() {
|
|
|
181
181
|
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870"> 119</a></span> <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* pty)</div>
|
|
182
182
|
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> {</div>
|
|
183
183
|
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor">#if (LLVM_VERSION_MAJOR < 14)</span></div>
|
|
184
|
-
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> pty->
|
|
184
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">return</span> pty->getPointerElementType();</div>
|
|
185
185
|
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor">#else</span></div>
|
|
186
186
|
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  assert(!pty->isOpaque() && <span class="stringliteral">"Opaque Pointer is used, please recompile the source adding '-Xclang -no-opaque-pointers'"</span>);</div>
|
|
187
187
|
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">return</span> pty->getNonOpaquePointerElementType();</div>
|
|
@@ -409,141 +409,144 @@ $(function() {
|
|
|
409
409
|
<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92"> 384</a></span> <span class="keyword">inline</span> <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92">SVFType2ByteSize</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
410
410
|
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> {</div>
|
|
411
411
|
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">llvm::Type</a>* llvm_rhs = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">getLLVMType</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>);</div>
|
|
412
|
-
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <
|
|
413
|
-
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <
|
|
414
|
-
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="
|
|
415
|
-
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span> 
|
|
416
|
-
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> 
|
|
417
|
-
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span> 
|
|
418
|
-
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span> 
|
|
419
|
-
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> 
|
|
420
|
-
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> 
|
|
421
|
-
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> 
|
|
422
|
-
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> 
|
|
423
|
-
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> 
|
|
424
|
-
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> 
|
|
425
|
-
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> 
|
|
426
|
-
<div class="line"><a name="
|
|
427
|
-
<div class="line"><a name="
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> 
|
|
430
|
-
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> 
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> 
|
|
435
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> 
|
|
436
|
-
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  </div>
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span> 
|
|
441
|
-
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> 
|
|
442
|
-
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> 
|
|
443
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> 
|
|
444
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> 
|
|
445
|
-
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> 
|
|
446
|
-
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> 
|
|
447
|
-
<div class="line"><a name="
|
|
412
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">llvm::PointerType</a>* llvm_rhs_ptr = SVFUtil::dyn_cast<PointerType>(llvm_rhs);</div>
|
|
413
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  assert(llvm_rhs_ptr && <span class="stringliteral">"not a pointer type?"</span>);</div>
|
|
414
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *ptrElementType = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(llvm_rhs_ptr);</div>
|
|
415
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> llvm_rhs_size = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a09683d4d88a50fa621809c734465f94d">LLVMUtil::getTypeSizeInBytes</a>(ptrElementType);</div>
|
|
416
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> llvm_elem_size = -1;</div>
|
|
417
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">if</span> (ptrElementType->isArrayTy() && llvm_rhs_size > 0)</div>
|
|
418
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  {</div>
|
|
419
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordtype">size_t</span> array_len = ptrElementType->getArrayNumElements();</div>
|
|
420
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  llvm_elem_size = llvm_rhs_size / array_len;</div>
|
|
421
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  }</div>
|
|
422
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="keywordflow">else</span></div>
|
|
423
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  {</div>
|
|
424
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  llvm_elem_size =llvm_rhs_size;</div>
|
|
425
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  }</div>
|
|
426
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keywordflow">return</span> llvm_elem_size;</div>
|
|
427
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> }</div>
|
|
428
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div>
|
|
429
|
+
<div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a63222955897ba34e921b9cfd8a2a3619"> 405</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a63222955897ba34e921b9cfd8a2a3619">getFunction</a>(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& <a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>)</div>
|
|
430
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> {</div>
|
|
431
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">getSVFFunction</a>(<a class="code" href="cJSON_8h.html#a25d22ecc7e656d2c59332072684e8766">name</a>);</div>
|
|
432
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> }</div>
|
|
433
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  </div>
|
|
434
|
+
<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be"> 411</a></span> <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be">isConstDataOrAggData</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val)</div>
|
|
435
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> {</div>
|
|
436
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a5c8cbc986cccb9d84f87aae162df3737">SVFUtil::isa</a><<a class="code" href="namespaceSVF.html#a7332f8059ea95472dcc231de884a5768">ConstantData</a>, <a class="code" href="namespaceSVF.html#a7cbe1c6567039e72958fd70e423d3597">ConstantAggregate</a>,</div>
|
|
437
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="namespaceSVF.html#a773900ea3c75022657aac1abf59fa51b">MetadataAsValue</a>, <a class="code" href="namespaceSVF.html#a956458a8554bf734db1194f320fd4b4c">BlockAddress</a>>(val);</div>
|
|
438
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> }</div>
|
|
439
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  </div>
|
|
440
|
+
<div class="line"><a name="l00418"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a"> 418</a></span> <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a">getGlobalRep</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val)</div>
|
|
441
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> {</div>
|
|
442
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">GlobalVariable</a>* gvar = SVFUtil::dyn_cast<GlobalVariable>(val))</div>
|
|
443
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  {</div>
|
|
444
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()->hasGlobalRep(gvar))</div>
|
|
445
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  val = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a757bf149437cce22163c764ea9993e12">getGlobalRep</a>(gvar);</div>
|
|
446
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  }</div>
|
|
447
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">return</span> val;</div>
|
|
448
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
|
|
448
449
|
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  </div>
|
|
449
|
-
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">isConstantObjSym</a>(<span class="keyword">const</span> <a class="code" href="
|
|
450
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">isConstantObjSym</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* val);</div>
|
|
450
451
|
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  </div>
|
|
451
|
-
<div class="line"><a name="
|
|
452
|
-
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abc9c437b7da5cfe3d988dadfcbd0635f">viewCFG</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun);</div>
|
|
452
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad8ee8de153df3f1bbdebb67185a2731c">isConstantObjSym</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val);</div>
|
|
453
453
|
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  </div>
|
|
454
|
-
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment">// Dump Control Flow Graph of llvm function,
|
|
455
|
-
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#
|
|
454
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="comment">// Dump Control Flow Graph of llvm function, with instructions</span></div>
|
|
455
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abc9c437b7da5cfe3d988dadfcbd0635f">viewCFG</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun);</div>
|
|
456
456
|
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  </div>
|
|
457
|
-
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment"
|
|
458
|
-
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="
|
|
459
|
-
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> 
|
|
460
|
-
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment"
|
|
461
|
-
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment">
|
|
462
|
-
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment">
|
|
463
|
-
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> *
|
|
464
|
-
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment">
|
|
465
|
-
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> * A
|
|
466
|
-
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment">
|
|
467
|
-
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> *
|
|
468
|
-
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment">
|
|
469
|
-
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment">
|
|
470
|
-
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment">
|
|
471
|
-
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment">
|
|
472
|
-
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> *
|
|
457
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> <span class="comment">// Dump Control Flow Graph of llvm function, without instructions</span></div>
|
|
458
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a2abbe4ed46b2031a981d93b3ba9d3fbd">viewCFGOnly</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun);</div>
|
|
459
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  </div>
|
|
460
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> <span class="comment">/*</span></div>
|
|
461
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="comment"> * Get the vtable struct of a class.</span></div>
|
|
462
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment"> *</span></div>
|
|
463
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> * Given the class:</span></div>
|
|
464
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> *</span></div>
|
|
465
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> * class A {</span></div>
|
|
466
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> * virtual ~A();</span></div>
|
|
467
|
+
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> * };</span></div>
|
|
468
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment"> * A::~A() = default;</span></div>
|
|
469
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"> *</span></div>
|
|
470
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> * The corresponding vtable @_ZTV1A is of type:</span></div>
|
|
471
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment"> *</span></div>
|
|
472
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> * { [4 x i8*] }</span></div>
|
|
473
473
|
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"> *</span></div>
|
|
474
|
-
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"> *
|
|
475
|
-
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment">
|
|
476
|
-
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment">
|
|
477
|
-
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment">
|
|
478
|
-
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="
|
|
479
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> 
|
|
480
|
-
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="
|
|
481
|
-
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="
|
|
482
|
-
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> 
|
|
483
|
-
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#
|
|
484
|
-
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#
|
|
485
|
-
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#
|
|
486
|
-
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="
|
|
487
|
-
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> 
|
|
488
|
-
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="
|
|
489
|
-
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="
|
|
490
|
-
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> 
|
|
491
|
-
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment"
|
|
492
|
-
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> * }</span></div>
|
|
493
|
-
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">
|
|
494
|
-
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment">
|
|
495
|
-
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> *
|
|
496
|
-
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment">
|
|
497
|
-
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment">
|
|
498
|
-
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment"> *
|
|
499
|
-
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> *
|
|
500
|
-
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"> *
|
|
501
|
-
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> *
|
|
502
|
-
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> *
|
|
503
|
-
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> *
|
|
504
|
-
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> *
|
|
505
|
-
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> *
|
|
506
|
-
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> *
|
|
507
|
-
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> *
|
|
508
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment">
|
|
509
|
-
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="
|
|
510
|
-
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="
|
|
511
|
-
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="
|
|
512
|
-
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <a class="code" href="namespaceSVF.html#
|
|
513
|
-
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <a class="code" href="
|
|
514
|
-
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <a class="code" href="
|
|
515
|
-
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <a class="code" href="
|
|
516
|
-
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <
|
|
517
|
-
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> 
|
|
518
|
-
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="
|
|
519
|
-
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="
|
|
520
|
-
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> 
|
|
521
|
-
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment"
|
|
522
|
-
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> *
|
|
523
|
-
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> *
|
|
524
|
-
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> *
|
|
525
|
-
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> *
|
|
526
|
-
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment">
|
|
527
|
-
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="
|
|
528
|
-
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> 
|
|
529
|
-
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> 
|
|
530
|
-
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="
|
|
531
|
-
<div class="line"><a name="l00511"></a><span class="lineno"
|
|
532
|
-
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> 
|
|
533
|
-
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> 
|
|
534
|
-
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> 
|
|
535
|
-
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> 
|
|
536
|
-
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> 
|
|
537
|
-
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> 
|
|
538
|
-
<div class="line"><a name="
|
|
539
|
-
<div class="line"><a name="
|
|
540
|
-
<div class="line"><a name="
|
|
541
|
-
<div class="line"><a name="
|
|
542
|
-
<div class="line"><a name="
|
|
543
|
-
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  </div>
|
|
544
|
-
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> 
|
|
545
|
-
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  </div>
|
|
546
|
-
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> 
|
|
474
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"> * If the program has been compiled with AddressSanitizer,</span></div>
|
|
475
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"> * the vtable will have redzones and appear as:</span></div>
|
|
476
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment"> *</span></div>
|
|
477
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment"> * { { [4 x i8*] }, [32 x i8] }</span></div>
|
|
478
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> *</span></div>
|
|
479
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment"> * See https://github.com/SVF-tools/SVF/issues/1114 for more.</span></div>
|
|
480
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment"> */</span></div>
|
|
481
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">ConstantStruct</a> *<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a4f803756f0a73e8564d9544ce27be1c9">getVtblStruct</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">GlobalValue</a> *vtbl);</div>
|
|
482
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  </div>
|
|
483
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a08fbef6fe3e2af96a49f79ce23accb01">isValVtbl</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val);</div>
|
|
484
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a45da980cb7c085942bb8e6010db9d84f">isLoadVtblInst</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>* loadInst);</div>
|
|
485
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ab1b4c565ae6be788b934defc21a5cfaf">isVirtualCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
486
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a6dd1590b82d2bd86766886bd21bc2b72">isConstructor</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
487
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a206973624fcc58e6044c884dba23a754">isDestructor</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
488
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a47bbc0527ced570d576ccc2f9df409cb">isCPPThunkFunction</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
489
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#aab1cb59036d181e20a477bf1eebd81ff">getThunkTarget</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>);</div>
|
|
490
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  </div>
|
|
491
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> <span class="comment">/*</span></div>
|
|
492
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> <span class="comment"> * VtableA = {&A::foo}</span></div>
|
|
493
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment"> * A::A(this){</span></div>
|
|
494
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> * *this = &VtableA;</span></div>
|
|
495
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> * }</span></div>
|
|
496
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> *</span></div>
|
|
497
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> *</span></div>
|
|
498
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment"> * A* p = new A;</span></div>
|
|
499
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> * cs: p->foo(...)</span></div>
|
|
500
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"> * ==></span></div>
|
|
501
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> * vtptr = *p;</span></div>
|
|
502
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> * vfn = &vtptr[i]</span></div>
|
|
503
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> * %funp = *vfn</span></div>
|
|
504
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> * call %funp(p,...)</span></div>
|
|
505
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> * getConstructorThisPtr(A) return "this" pointer</span></div>
|
|
506
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> * getVCallThisPtr(cs) return p (this pointer)</span></div>
|
|
507
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> * getVCallVtblPtr(cs) return vtptr</span></div>
|
|
508
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> * getVCallIdx(cs) return i</span></div>
|
|
509
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> * getClassNameFromVtblObj(VtableA) return</span></div>
|
|
510
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> * getClassNameFromType(type of p) return type A</span></div>
|
|
511
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> */</span></div>
|
|
512
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#addcfb0135655706a86f6cc628475fccf">getConstructorThisPtr</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun);</div>
|
|
513
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a68e7bad8eb537039559d8ddc851032e0">getVCallThisPtr</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
514
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a3a23aa54459a068e16c96e5b5eb72f77">getVCallVtblPtr</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
515
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a718c8ec79f36cef5df2f4530541f2770">getVCallIdx</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
516
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a416bcb6da0650f546cb7d83e6be850b6">getClassNameFromType</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ty);</div>
|
|
517
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#aa841a295ec803b6a1f2bd248f63f863f">getClassNameOfThisPtr</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
518
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a41e64f3318e2bf368eebe9a104ef6ad9">getFunNameOfVCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
519
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a898e9c2ed163b618f2e86bc251131d8b">VCallInCtorOrDtor</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
520
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  </div>
|
|
521
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="comment">/*</span></div>
|
|
522
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> <span class="comment"> * A(A* this){</span></div>
|
|
523
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment"> * store this this.addr;</span></div>
|
|
524
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> * tmp = load this.addr;</span></div>
|
|
525
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> * this1 = bitcast(tmp);</span></div>
|
|
526
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment"> * B(this1);</span></div>
|
|
527
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> * }</span></div>
|
|
528
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> * this and this1 are the same thisPtr in the constructor</span></div>
|
|
529
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> */</span></div>
|
|
530
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a8873eb1cce9496f9699eab22c4a6d3ce">isSameThisPtrInConstructor</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* thisPtr1,</div>
|
|
531
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* thisPtr2);</div>
|
|
532
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  </div>
|
|
533
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
|
534
|
+
<div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a7b8b93fec1dc8c63c0a5837a85b99129"> 514</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a7b8b93fec1dc8c63c0a5837a85b99129">llvmToString</a>(<span class="keyword">const</span> T& val)</div>
|
|
535
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> {</div>
|
|
536
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
537
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  llvm::raw_string_ostream(str) << val;</div>
|
|
538
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keywordflow">return</span> str;</div>
|
|
539
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> }</div>
|
|
540
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  </div>
|
|
541
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a9001722dd27bf487351725c3d7b65f2f">getSuccBBandCondValPairVec</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a412280b134578905248ce0122c5db7c9">SwitchInst</a> &switchInst, <a class="code" href="namespaceSVF.html#a8de26e1810ea0c3b1e8ad62f1c8a864d">SuccBBAndCondValPairVec</a> &vec);</div>
|
|
542
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  </div>
|
|
543
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a33e8378ae1a911169394e545a4ba2220">getCaseValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a412280b134578905248ce0122c5db7c9">SwitchInst</a> &switchInst, <a class="code" href="namespaceSVF.html#a255efa5be786996cbdd0c1f3d98b8400">SuccBBAndCondValPair</a> &succBB2CondVal);</div>
|
|
544
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  </div>
|
|
545
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> } <span class="comment">// End namespace LLVMUtil</span></div>
|
|
546
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  </div>
|
|
547
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> } <span class="comment">// End namespace SVF</span></div>
|
|
548
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  </div>
|
|
549
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_SVF_FE_LLVMUTIL_H_ */</span><span class="preprocessor"></span></div>
|
|
547
550
|
</div><!-- fragment --></div><!-- contents -->
|
|
548
551
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8e4add30bd0ce00d3f2aa2e31c64fef8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8e4add30bd0ce00d3f2aa2e31c64fef8">SVF::LLVMUtil::getSourceLoc</a></div><div class="ttdeci">const std::string getSourceLoc(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00667">LLVMUtil.cpp:667</a></div></div>
|
|
549
552
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a38ce45ae5f017c90115ce444b44d478c"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a38ce45ae5f017c90115ce444b44d478c">SVF::LLVMUtil::stripAllCasts</a></div><div class="ttdeci">const Value * stripAllCasts(const Value *val)</div><div class="ttdoc">Strip off the all casts.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00251">LLVMUtil.cpp:251</a></div></div>
|
|
@@ -590,7 +593,7 @@ $(function() {
|
|
|
590
593
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_af983b0e1fbd371d8672e8f03f63084fc"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af983b0e1fbd371d8672e8f03f63084fc">SVF::LLVMUtil::isCastConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isCastConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00261">LLVMUtil.h:261</a></div></div>
|
|
591
594
|
<div class="ttc" id="anamespaceSVF_html_a956458a8554bf734db1194f320fd4b4c"><div class="ttname"><a href="namespaceSVF.html#a956458a8554bf734db1194f320fd4b4c">SVF::BlockAddress</a></div><div class="ttdeci">llvm::BlockAddress BlockAddress</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00089">BasicTypes.h:89</a></div></div>
|
|
592
595
|
<div class="ttc" id="anamespaceSVF_html_a09f5fa3bc44bf53612a085e3a611cc4e"><div class="ttname"><a href="namespaceSVF.html#a09f5fa3bc44bf53612a085e3a611cc4e">SVF::GlobalVariable</a></div><div class="ttdeci">llvm::GlobalVariable GlobalVariable</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
|
|
593
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a63222955897ba34e921b9cfd8a2a3619"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a63222955897ba34e921b9cfd8a2a3619">SVF::LLVMUtil::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction(const std::string &name)</div><div class="ttdoc">Get the corresponding Function based on its name.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
596
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a63222955897ba34e921b9cfd8a2a3619"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a63222955897ba34e921b9cfd8a2a3619">SVF::LLVMUtil::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction(const std::string &name)</div><div class="ttdoc">Get the corresponding Function based on its name.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00405">LLVMUtil.h:405</a></div></div>
|
|
594
597
|
<div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
595
598
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a837d19c740902c419206287bdb21273b"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a837d19c740902c419206287bdb21273b">SVF::LLVMUtil::getUniqueUseViaCastInst</a></div><div class="ttdeci">const Value * getUniqueUseViaCastInst(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00337">LLVMUtil.cpp:337</a></div></div>
|
|
596
599
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_addcfb0135655706a86f6cc628475fccf"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#addcfb0135655706a86f6cc628475fccf">SVF::LLVMUtil::getConstructorThisPtr</a></div><div class="ttdeci">const Argument * getConstructorThisPtr(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01039">LLVMUtil.cpp:1039</a></div></div>
|
|
@@ -607,7 +610,7 @@ $(function() {
|
|
|
607
610
|
<div class="ttc" id="anamespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00085">BasicTypes.h:85</a></div></div>
|
|
608
611
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a3a23aa54459a068e16c96e5b5eb72f77"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a3a23aa54459a068e16c96e5b5eb72f77">SVF::LLVMUtil::getVCallVtblPtr</a></div><div class="ttdeci">const Value * getVCallVtblPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01118">LLVMUtil.cpp:1118</a></div></div>
|
|
609
612
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a946a2b51b848c45c6c52f03581ee05b8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a946a2b51b848c45c6c52f03581ee05b8">SVF::LLVMUtil::isTruncConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isTruncConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00281">LLVMUtil.h:281</a></div></div>
|
|
610
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8a77403306e97ab4cb31a56d38bba5be"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be">SVF::LLVMUtil::isConstDataOrAggData</a></div><div class="ttdeci">bool isConstDataOrAggData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
613
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8a77403306e97ab4cb31a56d38bba5be"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be">SVF::LLVMUtil::isConstDataOrAggData</a></div><div class="ttdeci">bool isConstDataOrAggData(const Value *val)</div><div class="ttdoc">Return true if the value refers to constant data, e.g., i32 0.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00411">LLVMUtil.h:411</a></div></div>
|
|
611
614
|
<div class="ttc" id="anamespaceSVF_html_a2bf58575ac7d068e0f1a4cf953b9e6cb"><div class="ttname"><a href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">SVF::StructType</a></div><div class="ttdeci">llvm::StructType StructType</div><div class="ttdoc">LLVM types.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00092">BasicTypes.h:92</a></div></div>
|
|
612
615
|
<div class="ttc" id="anamespaceSVF_html_a2b28f48dde0a9a91d251e654ce1f9477"><div class="ttname"><a href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF::ConstantStruct</a></div><div class="ttdeci">llvm::ConstantStruct ConstantStruct</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00104">BasicTypes.h:104</a></div></div>
|
|
613
616
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
@@ -620,7 +623,7 @@ $(function() {
|
|
|
620
623
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a151fd7fb2b2ebe72af7c417defbb4f4d"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a151fd7fb2b2ebe72af7c417defbb4f4d">SVF::LLVMUtil::getDataLayout</a></div><div class="ttdeci">static DataLayout * getDataLayout(Module *mod)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00329">LLVMUtil.h:329</a></div></div>
|
|
621
624
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_adfa4a4e6d13004d14137d9168bd32463"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#adfa4a4e6d13004d14137d9168bd32463">SVF::LLVMUtil::isInt2PtrConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isInt2PtrConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00241">LLVMUtil.h:241</a></div></div>
|
|
622
625
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2834d135a2385efff783e6e22d2eff1f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2834d135a2385efff783e6e22d2eff1f">SVF::LLVMUtil::isPtr2IntConstantExpr</a></div><div class="ttdeci">const ConstantExpr * isPtr2IntConstantExpr(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00251">LLVMUtil.h:251</a></div></div>
|
|
623
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9e0c786488dfdc4605d4cbcf9943c85a"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a">SVF::LLVMUtil::getGlobalRep</a></div><div class="ttdeci">const Value * getGlobalRep(const Value *val)</div><div class="ttdoc">find the unique defined global across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
626
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9e0c786488dfdc4605d4cbcf9943c85a"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a">SVF::LLVMUtil::getGlobalRep</a></div><div class="ttdeci">const Value * getGlobalRep(const Value *val)</div><div class="ttdoc">find the unique defined global across multiple modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00418">LLVMUtil.h:418</a></div></div>
|
|
624
627
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a0095d23a9c9d5d62ec4a23c56824b5f0"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a0095d23a9c9d5d62ec4a23c56824b5f0">SVF::LLVMUtil::getLLVMCallSite</a></div><div class="ttdeci">const CallBase * getLLVMCallSite(const Value *value)</div><div class="ttdoc">Return LLVM callsite given a value.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00068">LLVMUtil.h:68</a></div></div>
|
|
625
628
|
<div class="ttc" id="anamespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
|
|
626
629
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ab1b4c565ae6be788b934defc21a5cfaf"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ab1b4c565ae6be788b934defc21a5cfaf">SVF::LLVMUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00930">LLVMUtil.cpp:930</a></div></div>
|
|
@@ -647,7 +650,7 @@ $(function() {
|
|
|
647
650
|
<div class="ttc" id="anamespaceSVF_html_a911dbaab38cb42deb9c195c7f687853d"><div class="ttname"><a href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">SVF::ConstantExpr</a></div><div class="ttdeci">llvm::ConstantExpr ConstantExpr</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00118">BasicTypes.h:118</a></div></div>
|
|
648
651
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2abbe4ed46b2031a981d93b3ba9d3fbd"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2abbe4ed46b2031a981d93b3ba9d3fbd">SVF::LLVMUtil::viewCFGOnly</a></div><div class="ttdeci">void viewCFGOnly(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00240">LLVMUtil.cpp:240</a></div></div>
|
|
649
652
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a4c94a6c02fb89c1a1604c87414956acd"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4c94a6c02fb89c1a1604c87414956acd">SVF::LLVMUtil::getPrevInsts</a></div><div class="ttdeci">void getPrevInsts(const Instruction *curInst, std::vector< const SVFInstruction * > &instList)</div><div class="ttdoc">Get the previous instructions following control flow.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00304">LLVMUtil.cpp:304</a></div></div>
|
|
650
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a7b8b93fec1dc8c63c0a5837a85b99129"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a7b8b93fec1dc8c63c0a5837a85b99129">SVF::LLVMUtil::llvmToString</a></div><div class="ttdeci">std::string llvmToString(const T &val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
653
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a7b8b93fec1dc8c63c0a5837a85b99129"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a7b8b93fec1dc8c63c0a5837a85b99129">SVF::LLVMUtil::llvmToString</a></div><div class="ttdeci">std::string llvmToString(const T &val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00514">LLVMUtil.h:514</a></div></div>
|
|
651
654
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a45da980cb7c085942bb8e6010db9d84f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a45da980cb7c085942bb8e6010db9d84f">SVF::LLVMUtil::isLoadVtblInst</a></div><div class="ttdeci">bool isLoadVtblInst(const LoadInst *loadInst)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00899">LLVMUtil.cpp:899</a></div></div>
|
|
652
655
|
<div class="ttc" id="aSVFFileSystem_8cpp_html_ab25baccb41e3b67ef0bfdaa1336c9649"><div class="ttname"><a href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a></div><div class="ttdeci">#define F(f)</div></div>
|
|
653
656
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a6c5f2f951463494af2e7b0d3267f2772"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a6c5f2f951463494af2e7b0d3267f2772">SVF::LLVMUtil::getRefTypeOfHeapAllocOrStatic</a></div><div class="ttdeci">const PointerType * getRefTypeOfHeapAllocOrStatic(const CallBase *cs)</div><div class="ttdoc">Get the reference type of heap/static object from an allocation site.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00131">LLVMUtil.h:131</a></div></div>
|