svf-tools 1.0.768 → 1.0.769
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/AccessPath_8cpp_source.html +163 -130
- package/SVF-doxygen/html/html/AccessPath_8h_source.html +47 -45
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +2 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +146 -126
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +55 -55
- package/SVF-doxygen/html/html/SVFIR2ConsExeState_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +830 -748
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +138 -127
- package/SVF-doxygen/html/html/SVFIR2Relation_8cpp_source.html +33 -33
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +806 -799
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/VFG_8h_source.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1AccessPath-members.html +27 -26
- package/SVF-doxygen/html/html/classSVF_1_1AccessPath.html +179 -124
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +97 -97
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +96 -95
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +54 -19
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +49 -49
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState-members.html +45 -42
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +961 -779
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +15 -15
- package/SVF-doxygen/html/html/functions_a.html +14 -11
- package/SVF-doxygen/html/html/functions_c.html +24 -21
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +9 -6
- package/SVF-doxygen/html/html/functions_func_c.html +19 -16
- package/SVF-doxygen/html/html/functions_func_g.html +24 -15
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +24 -15
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_l.html +5 -5
- package/SVF-doxygen/html/html/functions_o.html +7 -7
- package/SVF-doxygen/html/html/functions_p.html +12 -12
- package/SVF-doxygen/html/html/functions_r.html +4 -2
- package/SVF-doxygen/html/html/functions_s.html +18 -18
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +9 -9
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +78 -31
- package/SVF-doxygen/html/html/namespacemembers_func_s.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -0
- package/SVF-doxygen/html/html/search/all_1.js +459 -458
- package/SVF-doxygen/html/html/search/all_10.js +323 -323
- package/SVF-doxygen/html/html/search/all_11.js +212 -212
- package/SVF-doxygen/html/html/search/all_12.js +537 -536
- package/SVF-doxygen/html/html/search/all_13.js +188 -188
- package/SVF-doxygen/html/html/search/all_14.js +66 -66
- package/SVF-doxygen/html/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/html/search/all_16.js +60 -60
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +10 -10
- package/SVF-doxygen/html/html/search/all_1a.js +169 -169
- package/SVF-doxygen/html/html/search/all_2.js +159 -159
- package/SVF-doxygen/html/html/search/all_3.js +627 -626
- package/SVF-doxygen/html/html/search/all_4.js +226 -226
- package/SVF-doxygen/html/html/search/all_5.js +117 -117
- package/SVF-doxygen/html/html/search/all_6.js +224 -224
- package/SVF-doxygen/html/html/search/all_7.js +1002 -999
- package/SVF-doxygen/html/html/search/all_8.js +191 -191
- package/SVF-doxygen/html/html/search/all_9.js +605 -605
- package/SVF-doxygen/html/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/html/search/all_c.js +114 -114
- package/SVF-doxygen/html/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/html/search/all_e.js +205 -205
- package/SVF-doxygen/html/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/html/search/classes_2.js +76 -76
- package/SVF-doxygen/html/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/html/search/defines_e.js +6 -6
- package/SVF-doxygen/html/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/html/search/files_2.js +49 -49
- package/SVF-doxygen/html/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/html/search/functions_0.js +6 -6
- package/SVF-doxygen/html/html/search/functions_1.js +349 -348
- package/SVF-doxygen/html/html/search/functions_10.js +139 -139
- package/SVF-doxygen/html/html/search/functions_11.js +126 -126
- package/SVF-doxygen/html/html/search/functions_12.js +274 -273
- package/SVF-doxygen/html/html/search/functions_13.js +56 -56
- package/SVF-doxygen/html/html/search/functions_14.js +38 -38
- package/SVF-doxygen/html/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/html/search/functions_16.js +29 -29
- package/SVF-doxygen/html/html/search/functions_17.js +2 -2
- package/SVF-doxygen/html/html/search/functions_18.js +169 -169
- package/SVF-doxygen/html/html/search/functions_2.js +82 -82
- package/SVF-doxygen/html/html/search/functions_3.js +252 -251
- package/SVF-doxygen/html/html/search/functions_4.js +71 -71
- package/SVF-doxygen/html/html/search/functions_5.js +51 -51
- package/SVF-doxygen/html/html/search/functions_6.js +58 -58
- package/SVF-doxygen/html/html/search/functions_7.js +822 -819
- package/SVF-doxygen/html/html/search/functions_8.js +143 -143
- package/SVF-doxygen/html/html/search/functions_9.js +425 -425
- package/SVF-doxygen/html/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/html/search/functions_c.js +24 -24
- package/SVF-doxygen/html/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/html/search/functions_e.js +34 -34
- package/SVF-doxygen/html/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -1
- package/SVF-doxygen/html/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
- package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
- package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
- package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
- package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/html/search/variables_0.js +147 -147
- package/SVF-doxygen/html/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +34 -34
- package/SVF-doxygen/html/html/search/variables_3.js +141 -141
- package/SVF-doxygen/html/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/html/search/variables_5.js +38 -38
- package/SVF-doxygen/html/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
- package/package.json +1 -1
- package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +14 -0
- package/svf/include/MemoryModel/AccessPath.h +6 -0
- package/svf/include/SVFIR/SVFStatements.h +10 -0
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +154 -75
- package/svf/lib/MemoryModel/AccessPath.cpp +39 -0
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +17 -0
|
@@ -403,129 +403,146 @@ $(function() {
|
|
|
403
403
|
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> std::vector<std::string> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a8cd4d6410017b9e5f47f2f88450b78d8">getFunAnnotations</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun);</div>
|
|
404
404
|
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a523a8c3f9bfaea178733822ac598d552">removeFunAnnotations</a>(std::vector<Function*>& removedFuncList);</div>
|
|
405
405
|
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  </div>
|
|
406
|
-
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#
|
|
406
|
+
<div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92"> 380</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>
|
|
407
407
|
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> {</div>
|
|
408
|
-
<div class="line"><a name="
|
|
409
|
-
<div class="line"><a name="
|
|
410
|
-
<div class="line"><a name="
|
|
411
|
-
<div class="line"><a name="
|
|
412
|
-
<div class="line"><a name="
|
|
413
|
-
<div class="line"><a name="
|
|
414
|
-
<div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="
|
|
418
|
-
<div class="line"><a name="
|
|
419
|
-
<div class="line"><a name="
|
|
420
|
-
<div class="line"><a name="
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="
|
|
423
|
-
<div class="line"><a name="
|
|
424
|
-
<div class="line"><a name="
|
|
425
|
-
<div class="line"><a name="
|
|
426
|
-
<div class="line"><a name="
|
|
427
|
-
<div class="line"><a name="
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="
|
|
435
|
-
<div class="line"><a name="
|
|
436
|
-
<div class="line"><a name="
|
|
408
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</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>
|
|
409
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</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>(llvm_rhs->getPointerElementType());</div>
|
|
410
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> llvm_elem_size = -1;</div>
|
|
411
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">if</span> (llvm_rhs->getPointerElementType()->isArrayTy() && llvm_rhs_size > 0)</div>
|
|
412
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  {</div>
|
|
413
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="keywordtype">size_t</span> array_len = llvm_rhs->getPointerElementType()->getArrayNumElements();</div>
|
|
414
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  llvm_elem_size = llvm_rhs_size / array_len;</div>
|
|
415
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  }</div>
|
|
416
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">else</span></div>
|
|
417
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  {</div>
|
|
418
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  llvm_elem_size =llvm_rhs_size;</div>
|
|
419
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  }</div>
|
|
420
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <span class="keywordflow">return</span> llvm_elem_size;</div>
|
|
421
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> }</div>
|
|
422
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  </div>
|
|
423
|
+
<div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a74ed17168bf5946cfb3f17495ec6db99"> 397</a></span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a74ed17168bf5946cfb3f17495ec6db99">removeUnusedFuncsAndAnnotations</a>(std::vector<Function*> removedFuncList)</div>
|
|
424
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> {</div>
|
|
425
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a523a8c3f9bfaea178733822ac598d552">LLVMUtil::removeFunAnnotations</a>(removedFuncList);</div>
|
|
426
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* func : removedFuncList)</div>
|
|
427
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  func->eraseFromParent();</div>
|
|
428
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> }</div>
|
|
429
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  </div>
|
|
430
|
+
<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a63222955897ba34e921b9cfd8a2a3619"> 407</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>
|
|
431
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> {</div>
|
|
432
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</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>
|
|
433
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> }</div>
|
|
434
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  </div>
|
|
435
|
+
<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a8a77403306e97ab4cb31a56d38bba5be"> 413</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>
|
|
436
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> {</div>
|
|
437
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</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>
|
|
438
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="namespaceSVF.html#a773900ea3c75022657aac1abf59fa51b">MetadataAsValue</a>, <a class="code" href="namespaceSVF.html#a956458a8554bf734db1194f320fd4b4c">BlockAddress</a>>(val);</div>
|
|
439
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div>
|
|
437
440
|
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  </div>
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="
|
|
445
|
-
<div class="line"><a name="
|
|
446
|
-
<div class="line"><a name="
|
|
447
|
-
<div class="line"><a name="
|
|
448
|
-
<div class="line"><a name="
|
|
449
|
-
<div class="line"><a name="
|
|
450
|
-
<div class="line"><a name="
|
|
451
|
-
<div class="line"><a name="
|
|
452
|
-
<div class="line"><a name="
|
|
453
|
-
<div class="line"><a name="
|
|
454
|
-
<div class="line"><a name="
|
|
455
|
-
<div class="line"><a name="
|
|
456
|
-
<div class="line"><a name="
|
|
457
|
-
<div class="line"><a name="
|
|
458
|
-
<div class="line"><a name="
|
|
459
|
-
<div class="line"><a name="
|
|
460
|
-
<div class="line"><a name="
|
|
461
|
-
<div class="line"><a name="
|
|
462
|
-
<div class="line"><a name="
|
|
463
|
-
<div class="line"><a name="
|
|
464
|
-
<div class="line"><a name="
|
|
465
|
-
<div class="line"><a name="
|
|
466
|
-
<div class="line"><a name="
|
|
467
|
-
<div class="line"><a name="
|
|
468
|
-
<div class="line"><a name="
|
|
469
|
-
<div class="line"><a name="
|
|
470
|
-
<div class="line"><a name="
|
|
471
|
-
<div class="line"><a name="
|
|
472
|
-
<div class="line"><a name="
|
|
473
|
-
<div class="line"><a name="
|
|
474
|
-
<div class="line"><a name="
|
|
475
|
-
<div class="line"><a name="
|
|
476
|
-
<div class="line"><a name="
|
|
477
|
-
<div class="line"><a name="
|
|
478
|
-
<div class="line"><a name="
|
|
479
|
-
<div class="line"><a name="
|
|
480
|
-
<div class="line"><a name="
|
|
481
|
-
<div class="line"><a name="
|
|
482
|
-
<div class="line"><a name="
|
|
483
|
-
<div class="line"><a name="
|
|
484
|
-
<div class="line"><a name="
|
|
485
|
-
<div class="line"><a name="
|
|
486
|
-
<div class="line"><a name="
|
|
487
|
-
<div class="line"><a name="
|
|
488
|
-
<div class="line"><a name="
|
|
489
|
-
<div class="line"><a name="
|
|
490
|
-
<div class="line"><a name="
|
|
491
|
-
<div class="line"><a name="
|
|
492
|
-
<div class="line"><a name="
|
|
493
|
-
<div class="line"><a name="
|
|
494
|
-
<div class="line"><a name="
|
|
495
|
-
<div class="line"><a name="
|
|
496
|
-
<div class="line"><a name="
|
|
497
|
-
<div class="line"><a name="
|
|
498
|
-
<div class="line"><a name="
|
|
499
|
-
<div class="line"><a name="
|
|
500
|
-
<div class="line"><a name="
|
|
501
|
-
<div class="line"><a name="
|
|
502
|
-
<div class="line"><a name="
|
|
503
|
-
<div class="line"><a name="
|
|
504
|
-
<div class="line"><a name="
|
|
505
|
-
<div class="line"><a name="
|
|
506
|
-
<div class="line"><a name="
|
|
507
|
-
<div class="line"><a name="
|
|
508
|
-
<div class="line"><a name="
|
|
509
|
-
<div class="line"><a name="
|
|
510
|
-
<div class="line"><a name="
|
|
511
|
-
<div class="line"><a name="
|
|
512
|
-
<div class="line"><a name="
|
|
513
|
-
<div class="line"><a name="
|
|
514
|
-
<div class="line"><a name="
|
|
515
|
-
<div class="line"><a name="
|
|
516
|
-
<div class="line"><a name="
|
|
517
|
-
<div class="line"><a name="
|
|
518
|
-
<div class="line"><a name="
|
|
519
|
-
<div class="line"><a name="
|
|
520
|
-
<div class="line"><a name="
|
|
521
|
-
<div class="line"><a name="
|
|
522
|
-
<div class="line"><a name="
|
|
523
|
-
<div class="line"><a name="
|
|
524
|
-
<div class="line"><a name="
|
|
525
|
-
<div class="line"><a name="
|
|
526
|
-
<div class="line"><a name="
|
|
527
|
-
<div class="line"><a name="
|
|
528
|
-
<div class="line"><a name="
|
|
441
|
+
<div class="line"><a name="l00420"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a9e0c786488dfdc4605d4cbcf9943c85a"> 420</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>
|
|
442
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> {</div>
|
|
443
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</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>
|
|
444
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  {</div>
|
|
445
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()->hasGlobalRep(gvar))</div>
|
|
446
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</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>
|
|
447
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  }</div>
|
|
448
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">return</span> val;</div>
|
|
449
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> }</div>
|
|
450
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  </div>
|
|
451
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</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>
|
|
452
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  </div>
|
|
453
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</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>
|
|
454
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  </div>
|
|
455
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> <span class="comment">// Dump Control Flow Graph of llvm function, with instructions</span></div>
|
|
456
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</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>
|
|
457
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  </div>
|
|
458
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> <span class="comment">// Dump Control Flow Graph of llvm function, without instructions</span></div>
|
|
459
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</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>
|
|
460
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  </div>
|
|
461
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span> <span class="comment">/*</span></div>
|
|
462
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="comment"> * Get the vtable struct of a class.</span></div>
|
|
463
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span> <span class="comment"> *</span></div>
|
|
464
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> <span class="comment"> * Given the class:</span></div>
|
|
465
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> <span class="comment"> *</span></div>
|
|
466
|
+
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span> <span class="comment"> * class A {</span></div>
|
|
467
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> <span class="comment"> * virtual ~A();</span></div>
|
|
468
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> <span class="comment"> * };</span></div>
|
|
469
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> <span class="comment"> * A::~A() = default;</span></div>
|
|
470
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> <span class="comment"> *</span></div>
|
|
471
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> <span class="comment"> * The corresponding vtable @_ZTV1A is of type:</span></div>
|
|
472
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="comment"> *</span></div>
|
|
473
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="comment"> * { [4 x i8*] }</span></div>
|
|
474
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="comment"> *</span></div>
|
|
475
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <span class="comment"> * If the program has been compiled with AddressSanitizer,</span></div>
|
|
476
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <span class="comment"> * the vtable will have redzones and appear as:</span></div>
|
|
477
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> <span class="comment"> *</span></div>
|
|
478
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> <span class="comment"> * { { [4 x i8*] }, [32 x i8] }</span></div>
|
|
479
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> <span class="comment"> *</span></div>
|
|
480
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> <span class="comment"> * See https://github.com/SVF-tools/SVF/issues/1114 for more.</span></div>
|
|
481
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> <span class="comment"> */</span></div>
|
|
482
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</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>
|
|
483
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  </div>
|
|
484
|
+
<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#a08fbef6fe3e2af96a49f79ce23accb01">isValVtbl</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val);</div>
|
|
485
|
+
<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#a45da980cb7c085942bb8e6010db9d84f">isLoadVtblInst</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>* loadInst);</div>
|
|
486
|
+
<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#ab1b4c565ae6be788b934defc21a5cfaf">isVirtualCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs);</div>
|
|
487
|
+
<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#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>
|
|
488
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</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>
|
|
489
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</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>
|
|
490
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</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>
|
|
491
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  </div>
|
|
492
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="comment">/*</span></div>
|
|
493
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="comment"> * VtableA = {&A::foo}</span></div>
|
|
494
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> <span class="comment"> * A::A(this){</span></div>
|
|
495
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="comment"> * *this = &VtableA;</span></div>
|
|
496
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="comment"> * }</span></div>
|
|
497
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="comment"> *</span></div>
|
|
498
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> *</span></div>
|
|
499
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"> * A* p = new A;</span></div>
|
|
500
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> * cs: p->foo(...)</span></div>
|
|
501
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> * ==></span></div>
|
|
502
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> * vtptr = *p;</span></div>
|
|
503
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> * vfn = &vtptr[i]</span></div>
|
|
504
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> * %funp = *vfn</span></div>
|
|
505
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> * call %funp(p,...)</span></div>
|
|
506
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> * getConstructorThisPtr(A) return "this" pointer</span></div>
|
|
507
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> * getVCallThisPtr(cs) return p (this pointer)</span></div>
|
|
508
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> * getVCallVtblPtr(cs) return vtptr</span></div>
|
|
509
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> * getVCallIdx(cs) return i</span></div>
|
|
510
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> * getClassNameFromVtblObj(VtableA) return</span></div>
|
|
511
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> * getClassNameFromType(type of p) return type A</span></div>
|
|
512
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> */</span></div>
|
|
513
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</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>
|
|
514
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</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>
|
|
515
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</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>
|
|
516
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</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>
|
|
517
|
+
<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#a416bcb6da0650f546cb7d83e6be850b6">getClassNameFromType</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ty);</div>
|
|
518
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</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>
|
|
519
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</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>
|
|
520
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</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>
|
|
521
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  </div>
|
|
522
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span> <span class="comment">/*</span></div>
|
|
523
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> <span class="comment"> * A(A* this){</span></div>
|
|
524
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="comment"> * store this this.addr;</span></div>
|
|
525
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> <span class="comment"> * tmp = load this.addr;</span></div>
|
|
526
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> <span class="comment"> * this1 = bitcast(tmp);</span></div>
|
|
527
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> <span class="comment"> * B(this1);</span></div>
|
|
528
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="comment"> * }</span></div>
|
|
529
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <span class="comment"> * this and this1 are the same thisPtr in the constructor</span></div>
|
|
530
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <span class="comment"> */</span></div>
|
|
531
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</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>
|
|
532
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* thisPtr2);</div>
|
|
533
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  </div>
|
|
534
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span> <span class="keyword">template</span><<span class="keyword">typename</span> T></div>
|
|
535
|
+
<div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a7b8b93fec1dc8c63c0a5837a85b99129"> 516</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>
|
|
536
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> {</div>
|
|
537
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
538
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  llvm::raw_string_ostream(str) << val;</div>
|
|
539
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">return</span> str;</div>
|
|
540
|
+
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div>
|
|
541
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> } <span class="comment">// End namespace LLVMUtil</span></div>
|
|
542
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  </div>
|
|
543
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> } <span class="comment">// End namespace SVF</span></div>
|
|
544
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  </div>
|
|
545
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor">#endif </span><span class="comment">/* INCLUDE_SVF_FE_LLVMUTIL_H_ */</span><span class="preprocessor"></span></div>
|
|
529
546
|
</div><!-- fragment --></div><!-- contents -->
|
|
530
547
|
<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#l00592">LLVMUtil.cpp:592</a></div></div>
|
|
531
548
|
<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#l00253">LLVMUtil.cpp:253</a></div></div>
|
|
@@ -566,7 +583,7 @@ $(function() {
|
|
|
566
583
|
<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>
|
|
567
584
|
<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>
|
|
568
585
|
<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>
|
|
569
|
-
<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#
|
|
586
|
+
<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#l00407">LLVMUtil.h:407</a></div></div>
|
|
570
587
|
<div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
571
588
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ae62938f722543d6d7fc201b685be1abf"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00497">SVFUtil.h:497</a></div></div>
|
|
572
589
|
<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#l00339">LLVMUtil.cpp:339</a></div></div>
|
|
@@ -578,12 +595,13 @@ $(function() {
|
|
|
578
595
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a07c785d931cef3c61e3dab4c615770be"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a07c785d931cef3c61e3dab4c615770be">SVF::LLVMUtil::isPtrInUncalledFunction</a></div><div class="ttdeci">bool isPtrInUncalledFunction(const Value *value)</div><div class="ttdoc">Return true if this is value in a dead function (function without any caller)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00177">LLVMUtil.cpp:177</a></div></div>
|
|
579
596
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ac9d6aff1a5e778e45c51b4f3b6d787e0"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ac9d6aff1a5e778e45c51b4f3b6d787e0">SVF::LLVMUtil::isProgEntryFunction</a></div><div class="ttdeci">bool isProgEntryFunction(const Function *fun)</div><div class="ttdoc">Check whether a function is an entry function (i.e., main)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00102">LLVMUtil.h:102</a></div></div>
|
|
580
597
|
<div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
598
|
+
<div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00242">SVFType.h:242</a></div></div>
|
|
581
599
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aedfa6e9216c6c788c26aef1967689b76"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00439">SVFUtil.h:439</a></div></div>
|
|
582
600
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a76b0d0ac69c170838cfc8ee26f4518a0"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a76b0d0ac69c170838cfc8ee26f4518a0">SVF::LLVMUtil::getProgFunction</a></div><div class="ttdeci">const Function * getProgFunction(const std::string &funName)</div><div class="ttdoc">Get program entry function from module.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00088">LLVMUtil.h:88</a></div></div>
|
|
583
601
|
<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>
|
|
584
602
|
<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#l01043">LLVMUtil.cpp:1043</a></div></div>
|
|
585
603
|
<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>
|
|
586
|
-
<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#
|
|
604
|
+
<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#l00413">LLVMUtil.h:413</a></div></div>
|
|
587
605
|
<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>
|
|
588
606
|
<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>
|
|
589
607
|
<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#l00270">SVFValue.h:270</a></div></div>
|
|
@@ -596,7 +614,7 @@ $(function() {
|
|
|
596
614
|
<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>
|
|
597
615
|
<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>
|
|
598
616
|
<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>
|
|
599
|
-
<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#
|
|
617
|
+
<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#l00420">LLVMUtil.h:420</a></div></div>
|
|
600
618
|
<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>
|
|
601
619
|
<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>
|
|
602
620
|
<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#l00855">LLVMUtil.cpp:855</a></div></div>
|
|
@@ -604,10 +622,12 @@ $(function() {
|
|
|
604
622
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a428bd75b33fab60988d8758090712f29"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a428bd75b33fab60988d8758090712f29">SVF::LLVMUtil::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction(const Value *val)</div><div class="ttdoc">Return true if the argument in a function does not have a caller.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00201">LLVMUtil.h:201</a></div></div>
|
|
605
623
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a73215bac62f1340a58f6c7f2ba9b0e7b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVF::SVFUtil::getHeapAllocHoldingArgPosition</a></div><div class="ttdeci">int getHeapAllocHoldingArgPosition(const SVFFunction *fun)</div><div class="ttdoc">Get the position of argument that holds an allocated heap object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00340">SVFUtil.h:340</a></div></div>
|
|
606
624
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a5c8cbc986cccb9d84f87aae162df3737"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a5c8cbc986cccb9d84f87aae162df3737">SVF::SVFUtil::isa</a></div><div class="ttdeci">LLVM_NODISCARD bool isa(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00241">Casting.h:241</a></div></div>
|
|
607
|
-
<div class="ttc" id="
|
|
625
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a610a7777a48132caadec167c8109f044"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">SVF::LLVMModuleSet::getLLVMType</a></div><div class="ttdeci">const Type * getLLVMType(const SVFType *T) const</div><div class="ttdoc">Get LLVM Type.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01168">LLVMModule.cpp:1168</a></div></div>
|
|
626
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a74ed17168bf5946cfb3f17495ec6db99"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a74ed17168bf5946cfb3f17495ec6db99">SVF::LLVMUtil::removeUnusedFuncsAndAnnotations</a></div><div class="ttdeci">void removeUnusedFuncsAndAnnotations(std::vector< Function * > removedFuncList)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00397">LLVMUtil.h:397</a></div></div>
|
|
608
627
|
<div class="ttc" id="aLLVMModule_8h_html"><div class="ttname"><a href="LLVMModule_8h.html">LLVMModule.h</a></div></div>
|
|
609
628
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aa841a295ec803b6a1f2bd248f63f863f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aa841a295ec803b6a1f2bd248f63f863f">SVF::LLVMUtil::getClassNameOfThisPtr</a></div><div class="ttdeci">std::string getClassNameOfThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01096">LLVMUtil.cpp:1096</a></div></div>
|
|
610
629
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a5cbde00eef789f682df972ae71b44449"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a5cbde00eef789f682df972ae71b44449">SVF::LLVMUtil::ArgInDeadFunction</a></div><div class="ttdeci">bool ArgInDeadFunction(const Value *val)</div><div class="ttdoc">whether this is an argument in dead function</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00172">LLVMUtil.h:172</a></div></div>
|
|
630
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a276a85b292038a197a525e08e9252c92"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a276a85b292038a197a525e08e9252c92">SVF::LLVMUtil::SVFType2ByteSize</a></div><div class="ttdeci">u32_t SVFType2ByteSize(const SVFType *type)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00380">LLVMUtil.h:380</a></div></div>
|
|
611
631
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a3d34fcdfc98add848a34fd5259c11eb2"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a3d34fcdfc98add848a34fd5259c11eb2">SVF::LLVMUtil::getDefFunForMultipleModule</a></div><div class="ttdeci">const Function * getDefFunForMultipleModule(const Function *fun)</div><div class="ttdoc">Get the definition of a function across multiple modules.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00057">LLVMUtil.h:57</a></div></div>
|
|
612
632
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a47bbc0527ced570d576ccc2f9df409cb"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a47bbc0527ced570d576ccc2f9df409cb">SVF::LLVMUtil::isCPPThunkFunction</a></div><div class="ttdeci">bool isCPPThunkFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00886">LLVMUtil.cpp:886</a></div></div>
|
|
613
633
|
<div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01075">SVFValue.h:1075</a></div></div>
|
|
@@ -621,7 +641,7 @@ $(function() {
|
|
|
621
641
|
<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>
|
|
622
642
|
<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#l00242">LLVMUtil.cpp:242</a></div></div>
|
|
623
643
|
<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#l00306">LLVMUtil.cpp:306</a></div></div>
|
|
624
|
-
<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#
|
|
644
|
+
<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#l00516">LLVMUtil.h:516</a></div></div>
|
|
625
645
|
<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#l00824">LLVMUtil.cpp:824</a></div></div>
|
|
626
646
|
<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>
|
|
627
647
|
<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>
|
|
@@ -265,8 +265,8 @@ $(function() {
|
|
|
265
265
|
<div class="ttc" id="anamespaceSVF_html_a5c4820681ef340339ddded756eb82ae1"><div class="ttname"><a href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">SVF::APOffset</a></div><div class="ttdeci">s64_t APOffset</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00061">SVFType.h:61</a></div></div>
|
|
266
266
|
<div class="ttc" id="aPAGBuilderFromFile_8h_html"><div class="ttname"><a href="PAGBuilderFromFile_8h.html">PAGBuilderFromFile.h</a></div></div>
|
|
267
267
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
|
|
268
|
-
<div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
269
|
-
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
268
|
+
<div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00604">SVFStatements.h:604</a></div></div>
|
|
269
|
+
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00544">SVFStatements.h:544</a></div></div>
|
|
270
270
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
271
271
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html"><div class="ttname"><a href="classSVF_1_1AccessPath.html">SVF::AccessPath</a></div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00052">AccessPath.h:52</a></div></div>
|
|
272
272
|
<div class="ttc" id="aPAGBuilderFromFile_8cpp_html_a1af3947dbaf1ad4364bc4818f70ead40"><div class="ttname"><a href="PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40">gepNodeNumIndex</a></div><div class="ttdeci">static u32_t gepNodeNumIndex</div><div class="ttdef"><b>Definition:</b> <a href="PAGBuilderFromFile_8cpp_source.html#l00038">PAGBuilderFromFile.cpp:38</a></div></div>
|