svf-tools 1.0.844 → 1.0.845
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/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMUtil_8cpp.html +18 -0
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +187 -170
- package/SVF-doxygen/html/LLVMUtil_8h.html +2 -0
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +40 -38
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/globals_v.html +3 -0
- package/SVF-doxygen/html/globals_vars.html +3 -0
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +167 -130
- package/SVF-doxygen/html/namespacemembers_c.html +3 -0
- package/SVF-doxygen/html/namespacemembers_func_c.html +3 -0
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +224 -224
- package/SVF-doxygen/html/search/all_12.js +552 -552
- package/SVF-doxygen/html/search/all_13.js +190 -190
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +168 -167
- 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 +173 -173
- package/SVF-doxygen/html/search/all_3.js +368 -367
- package/SVF-doxygen/html/search/all_4.js +230 -230
- package/SVF-doxygen/html/search/all_5.js +119 -119
- package/SVF-doxygen/html/search/all_6.js +226 -226
- package/SVF-doxygen/html/search/all_7.js +1046 -1046
- package/SVF-doxygen/html/search/all_8.js +196 -196
- package/SVF-doxygen/html/search/all_9.js +605 -605
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +197 -197
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- 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 +81 -81
- 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 +34 -34
- 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 +20 -20
- 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 +8 -8
- 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 +57 -57
- 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 +13 -13
- package/SVF-doxygen/html/search/functions_1.js +362 -362
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +139 -139
- package/SVF-doxygen/html/search/functions_12.js +288 -288
- 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 +173 -173
- package/SVF-doxygen/html/search/functions_2.js +89 -89
- package/SVF-doxygen/html/search/functions_3.js +261 -260
- package/SVF-doxygen/html/search/functions_4.js +78 -78
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +60 -60
- package/SVF-doxygen/html/search/functions_7.js +855 -855
- package/SVF-doxygen/html/search/functions_8.js +148 -148
- package/SVF-doxygen/html/search/functions_9.js +421 -421
- 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 +25 -25
- package/SVF-doxygen/html/search/functions_d.js +79 -79
- 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 +3 -3
- 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 +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- 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 +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +62 -62
- 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 +33 -33
- 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 +56 -56
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- 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 +14 -14
- 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 +98 -98
- package/SVF-doxygen/html/search/variables_11.js +45 -45
- package/SVF-doxygen/html/search/variables_12.js +90 -90
- package/SVF-doxygen/html/search/variables_13.js +74 -74
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -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 +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +50 -50
- package/SVF-doxygen/html/search/variables_5.js +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- 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 +55 -55
- 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_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
- package/package.json +1 -1
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +1 -0
- package/svf-llvm/lib/LLVMUtil.cpp +16 -1
- package/svf-llvm/lib/SymbolTableBuilder.cpp +3 -3
|
@@ -113,7 +113,7 @@ $(function() {
|
|
|
113
113
|
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  </div>
|
|
114
114
|
<div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="LLVMUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82"> 43</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="LLVMUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a> = <span class="stringliteral">"class."</span>;</div>
|
|
115
115
|
<div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="LLVMUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821"> 44</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="LLVMUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821">structName</a> = <span class="stringliteral">"struct."</span>;</div>
|
|
116
|
-
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> 
|
|
116
|
+
<div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="LLVMUtil_8cpp.html#ac4e4df5c6f24ccd2c0d6e752d7253bfc"> 45</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="LLVMUtil_8cpp.html#ac4e4df5c6f24ccd2c0d6e752d7253bfc">vtableType</a> = <span class="stringliteral">"(...)**"</span>;</div>
|
|
117
117
|
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  </div>
|
|
118
118
|
<div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#aca11801ed6ef6ff8d2a1e85bc0fc5794"> 54</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#aca11801ed6ef6ff8d2a1e85bc0fc5794">LLVMUtil::isObject</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* ref)</div>
|
|
119
119
|
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> {</div>
|
|
@@ -1126,177 +1126,192 @@ $(function() {
|
|
|
1126
1126
|
<div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
1127
1127
|
<div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> }</div>
|
|
1128
1128
|
<div class="line"><a name="l01135"></a><span class="lineno"> 1135</span>  </div>
|
|
1129
|
-
<div class="line"><a name="l01136"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#
|
|
1129
|
+
<div class="line"><a name="l01136"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a2e717591569fd15ef391a2650c7197ba"> 1136</a></span> <span class="keywordtype">bool</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a2e717591569fd15ef391a2650c7197ba">LLVMUtil::classTyHasVTable</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* ty)</div>
|
|
1130
1130
|
<div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> {</div>
|
|
1131
|
-
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <a class="code" href="
|
|
1132
|
-
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> 
|
|
1133
|
-
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> 
|
|
1134
|
-
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> 
|
|
1135
|
-
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> 
|
|
1136
|
-
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> 
|
|
1137
|
-
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> 
|
|
1138
|
-
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> 
|
|
1139
|
-
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> 
|
|
1140
|
-
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> 
|
|
1141
|
-
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> 
|
|
1142
|
-
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> 
|
|
1143
|
-
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> 
|
|
1144
|
-
<div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> 
|
|
1145
|
-
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> 
|
|
1146
|
-
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  </div>
|
|
1147
|
-
<div class="line"><a name="l01154"></a><span class="lineno"
|
|
1148
|
-
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> {</div>
|
|
1149
|
-
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> 
|
|
1150
|
-
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> 
|
|
1151
|
-
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> 
|
|
1152
|
-
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> 
|
|
1153
|
-
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> 
|
|
1154
|
-
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> 
|
|
1155
|
-
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> 
|
|
1156
|
-
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> 
|
|
1157
|
-
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> 
|
|
1158
|
-
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> 
|
|
1159
|
-
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span> 
|
|
1160
|
-
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> 
|
|
1161
|
-
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span> 
|
|
1162
|
-
<div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> 
|
|
1163
|
-
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> 
|
|
1164
|
-
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <
|
|
1165
|
-
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  <span class="keywordflow">if</span> (
|
|
1131
|
+
<div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">getClassNameFromType</a>(ty).empty()==<span class="keyword">false</span>)</div>
|
|
1132
|
+
<div class="line"><a name="l01139"></a><span class="lineno"> 1139</span>  {</div>
|
|
1133
|
+
<div class="line"><a name="l01140"></a><span class="lineno"> 1140</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> it = ty->element_begin(); it!=ty->element_end(); it++)</div>
|
|
1134
|
+
<div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  {</div>
|
|
1135
|
+
<div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ety = *it;</div>
|
|
1136
|
+
<div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> tystr = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a6e8682537cf5bed808df439bd7e1add9">dumpType</a>(ety);</div>
|
|
1137
|
+
<div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  <span class="keywordflow">if</span> (tystr.find(<a class="code" href="LLVMUtil_8cpp.html#ac4e4df5c6f24ccd2c0d6e752d7253bfc">vtableType</a>) != std::string::npos)</div>
|
|
1138
|
+
<div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
|
1139
|
+
<div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  }</div>
|
|
1140
|
+
<div class="line"><a name="l01147"></a><span class="lineno"> 1147</span>  }</div>
|
|
1141
|
+
<div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
1142
|
+
<div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> }</div>
|
|
1143
|
+
<div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  </div>
|
|
1144
|
+
<div class="line"><a name="l01151"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e"> 1151</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">LLVMUtil::getClassNameFromType</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* ty)</div>
|
|
1145
|
+
<div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> {</div>
|
|
1146
|
+
<div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> className = <span class="stringliteral">""</span>;</div>
|
|
1147
|
+
<div class="line"><a name="l01154"></a><span class="lineno"> 1154</span>  <span class="keywordflow">if</span> (!((SVFUtil::cast<StructType>(ty))->isLiteral()))</div>
|
|
1148
|
+
<div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  {</div>
|
|
1149
|
+
<div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> elemTypeName = ty->getStructName().str();</div>
|
|
1150
|
+
<div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  <span class="keywordflow">if</span> (elemTypeName.compare(0, <a class="code" href="LLVMUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>.size(), <a class="code" href="LLVMUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>) == 0)</div>
|
|
1151
|
+
<div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  {</div>
|
|
1152
|
+
<div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  className = elemTypeName.substr(<a class="code" href="LLVMUtil_8cpp.html#a5f8da60b0fcc28445f508f4e42513a82">clsName</a>.size());</div>
|
|
1153
|
+
<div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  }</div>
|
|
1154
|
+
<div class="line"><a name="l01161"></a><span class="lineno"> 1161</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (elemTypeName.compare(0, <a class="code" href="LLVMUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821">structName</a>.size(), <a class="code" href="LLVMUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821">structName</a>) == 0)</div>
|
|
1155
|
+
<div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  {</div>
|
|
1156
|
+
<div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  className = elemTypeName.substr(<a class="code" href="LLVMUtil_8cpp.html#a61c158146c07e77234eb4a2f9b940821">structName</a>.size());</div>
|
|
1157
|
+
<div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  }</div>
|
|
1158
|
+
<div class="line"><a name="l01165"></a><span class="lineno"> 1165</span>  }</div>
|
|
1159
|
+
<div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="keywordflow">return</span> className;</div>
|
|
1160
|
+
<div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> }</div>
|
|
1161
|
+
<div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  </div>
|
|
1162
|
+
<div class="line"><a name="l01169"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#aa841a295ec803b6a1f2bd248f63f863f"> 1169</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#aa841a295ec803b6a1f2bd248f63f863f">LLVMUtil::getClassNameOfThisPtr</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* inst)</div>
|
|
1163
|
+
<div class="line"><a name="l01170"></a><span class="lineno"> 1170</span> {</div>
|
|
1164
|
+
<div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> thisPtrClassName = <span class="stringliteral">""</span>;</div>
|
|
1165
|
+
<div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">MDNode</a>* N = inst->getMetadata(<span class="stringliteral">"VCallPtrType"</span>))</div>
|
|
1166
1166
|
<div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  {</div>
|
|
1167
|
-
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="
|
|
1168
|
-
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> 
|
|
1169
|
-
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span> 
|
|
1170
|
-
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span> 
|
|
1171
|
-
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span> 
|
|
1172
|
-
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span> 
|
|
1173
|
-
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  </div>
|
|
1174
|
-
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> 
|
|
1175
|
-
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span> 
|
|
1176
|
-
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  </div>
|
|
1177
|
-
<div class="line"><a name="l01184"></a><span class="lineno"
|
|
1178
|
-
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> 
|
|
1179
|
-
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <
|
|
1180
|
-
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  <span class="keywordflow">if</span> (
|
|
1167
|
+
<div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a28eec26ec8edaa5e96aecfeb01f6c0d4">MDString</a>* mdstr = SVFUtil::cast<MDString>(N->getOperand(0).get());</div>
|
|
1168
|
+
<div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  thisPtrClassName = mdstr->getString().str();</div>
|
|
1169
|
+
<div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  }</div>
|
|
1170
|
+
<div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  <span class="keywordflow">if</span> (thisPtrClassName.size() == 0)</div>
|
|
1171
|
+
<div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  {</div>
|
|
1172
|
+
<div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* thisPtr = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a68e7bad8eb537039559d8ddc851032e0">LLVMUtil::getVCallThisPtr</a>(inst);</div>
|
|
1173
|
+
<div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* ptrTy = SVFUtil::dyn_cast<PointerType>(thisPtr->getType()))</div>
|
|
1174
|
+
<div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  <span class="comment">// TODO: getPtrElementType need type inference</span></div>
|
|
1175
|
+
<div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* st = SVFUtil::dyn_cast<StructType>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(ptrTy)))</div>
|
|
1176
|
+
<div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  thisPtrClassName = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">getClassNameFromType</a>(st);</div>
|
|
1177
|
+
<div class="line"><a name="l01184"></a><span class="lineno"> 1184</span>  }</div>
|
|
1178
|
+
<div class="line"><a name="l01185"></a><span class="lineno"> 1185</span>  </div>
|
|
1179
|
+
<div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="keywordtype">size_t</span> found = thisPtrClassName.find_last_not_of(<span class="stringliteral">"0123456789"</span>);</div>
|
|
1180
|
+
<div class="line"><a name="l01187"></a><span class="lineno"> 1187</span>  <span class="keywordflow">if</span> (found != std::string::npos)</div>
|
|
1181
1181
|
<div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  {</div>
|
|
1182
|
-
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="
|
|
1183
|
-
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> 
|
|
1184
|
-
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span> 
|
|
1185
|
-
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span> 
|
|
1186
|
-
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> }</div>
|
|
1187
|
-
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span> 
|
|
1188
|
-
<div class="line"><a name="l01195"></a><span class="lineno"
|
|
1189
|
-
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> 
|
|
1190
|
-
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> 
|
|
1191
|
-
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span> 
|
|
1192
|
-
<div class="line"><a name="l01199"></a><span class="lineno"> 1199</span> 
|
|
1193
|
-
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> 
|
|
1194
|
-
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  <
|
|
1195
|
-
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span> 
|
|
1196
|
-
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span> 
|
|
1197
|
-
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span> 
|
|
1198
|
-
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> 
|
|
1199
|
-
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> 
|
|
1200
|
-
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span> 
|
|
1201
|
-
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> 
|
|
1202
|
-
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span> 
|
|
1203
|
-
<div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> 
|
|
1204
|
-
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> 
|
|
1205
|
-
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> 
|
|
1206
|
-
<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span> 
|
|
1207
|
-
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span> 
|
|
1208
|
-
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="
|
|
1209
|
-
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span> 
|
|
1210
|
-
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> 
|
|
1211
|
-
<div class="line"><a name="l01218"></a><span class="lineno"
|
|
1212
|
-
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> 
|
|
1213
|
-
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  <
|
|
1214
|
-
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span> 
|
|
1215
|
-
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> 
|
|
1216
|
-
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span> 
|
|
1217
|
-
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span> 
|
|
1218
|
-
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span> 
|
|
1219
|
-
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> 
|
|
1220
|
-
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span> 
|
|
1221
|
-
<div class="line"><a name="l01228"></a><span class="lineno"
|
|
1222
|
-
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> 
|
|
1223
|
-
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  <span class="
|
|
1224
|
-
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> 
|
|
1225
|
-
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span> 
|
|
1226
|
-
<div class="line"><a name="l01233"></a><span class="lineno"> 1233</span> 
|
|
1227
|
-
<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> 
|
|
1228
|
-
<div class="line"><a name="
|
|
1229
|
-
<div class="line"><a name="
|
|
1230
|
-
<div class="line"><a name="
|
|
1231
|
-
<div class="line"><a name="
|
|
1232
|
-
<div class="line"><a name="
|
|
1233
|
-
<div class="line"><a name="
|
|
1234
|
-
<div class="line"><a name="
|
|
1235
|
-
<div class="line"><a name="
|
|
1236
|
-
<div class="line"><a name="
|
|
1237
|
-
<div class="line"><a name="
|
|
1238
|
-
<div class="line"><a name="
|
|
1239
|
-
<div class="line"><a name="
|
|
1240
|
-
<div class="line"><a name="
|
|
1241
|
-
<div class="line"><a name="
|
|
1242
|
-
<div class="line"><a name="
|
|
1243
|
-
<div class="line"><a name="
|
|
1244
|
-
<div class="line"><a name="
|
|
1245
|
-
<div class="line"><a name="
|
|
1246
|
-
<div class="line"><a name="
|
|
1247
|
-
<div class="line"><a name="
|
|
1248
|
-
<div class="line"><a name="
|
|
1249
|
-
<div class="line"><a name="
|
|
1250
|
-
<div class="line"><a name="
|
|
1251
|
-
<div class="line"><a name="
|
|
1252
|
-
<div class="line"><a name="
|
|
1253
|
-
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> 
|
|
1254
|
-
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> 
|
|
1255
|
-
<div class="line"><a name="l01266"></a><span class="lineno"
|
|
1256
|
-
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> 
|
|
1257
|
-
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> 
|
|
1258
|
-
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> 
|
|
1259
|
-
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> 
|
|
1260
|
-
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> 
|
|
1261
|
-
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  <
|
|
1262
|
-
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> 
|
|
1263
|
-
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  <span class="keywordflow">
|
|
1264
|
-
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> 
|
|
1265
|
-
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  </div>
|
|
1266
|
-
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> 
|
|
1267
|
-
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> 
|
|
1268
|
-
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> 
|
|
1182
|
+
<div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="keywordflow">if</span> (found != thisPtrClassName.size() - 1 &&</div>
|
|
1183
|
+
<div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>  thisPtrClassName[found] == <span class="charliteral">'.'</span>)</div>
|
|
1184
|
+
<div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  {</div>
|
|
1185
|
+
<div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="keywordflow">return</span> thisPtrClassName.substr(0, found);</div>
|
|
1186
|
+
<div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  }</div>
|
|
1187
|
+
<div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  }</div>
|
|
1188
|
+
<div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  </div>
|
|
1189
|
+
<div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  <span class="keywordflow">return</span> thisPtrClassName;</div>
|
|
1190
|
+
<div class="line"><a name="l01197"></a><span class="lineno"> 1197</span> }</div>
|
|
1191
|
+
<div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  </div>
|
|
1192
|
+
<div class="line"><a name="l01199"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a41e64f3318e2bf368eebe9a104ef6ad9"> 1199</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a41e64f3318e2bf368eebe9a104ef6ad9">LLVMUtil::getFunNameOfVCallSite</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* inst)</div>
|
|
1193
|
+
<div class="line"><a name="l01200"></a><span class="lineno"> 1200</span> {</div>
|
|
1194
|
+
<div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> funName;</div>
|
|
1195
|
+
<div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">MDNode</a>* N = inst->getMetadata(<span class="stringliteral">"VCallFunName"</span>))</div>
|
|
1196
|
+
<div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  {</div>
|
|
1197
|
+
<div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a28eec26ec8edaa5e96aecfeb01f6c0d4">MDString</a>* mdstr = SVFUtil::cast<MDString>(N->getOperand(0).get());</div>
|
|
1198
|
+
<div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  funName = mdstr->getString().str();</div>
|
|
1199
|
+
<div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  }</div>
|
|
1200
|
+
<div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <span class="keywordflow">return</span> funName;</div>
|
|
1201
|
+
<div class="line"><a name="l01208"></a><span class="lineno"> 1208</span> }</div>
|
|
1202
|
+
<div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  </div>
|
|
1203
|
+
<div class="line"><a name="l01210"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a718c8ec79f36cef5df2f4530541f2770"> 1210</a></span> <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a718c8ec79f36cef5df2f4530541f2770">LLVMUtil::getVCallIdx</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* cs)</div>
|
|
1204
|
+
<div class="line"><a name="l01211"></a><span class="lineno"> 1211</span> {</div>
|
|
1205
|
+
<div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">LoadInst</a>* vfuncloadinst =</div>
|
|
1206
|
+
<div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  SVFUtil::dyn_cast<LoadInst>(cs->getCalledOperand());</div>
|
|
1207
|
+
<div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  assert(vfuncloadinst != <span class="keyword">nullptr</span>);</div>
|
|
1208
|
+
<div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* vfuncptr = vfuncloadinst->getPointerOperand();</div>
|
|
1209
|
+
<div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#ac4e93e1fec646ff222940a663843921b">GetElementPtrInst</a>* vfuncptrgepinst =</div>
|
|
1210
|
+
<div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>  SVFUtil::dyn_cast<GetElementPtrInst>(vfuncptr);</div>
|
|
1211
|
+
<div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  User::const_op_iterator oi = vfuncptrgepinst->idx_begin();</div>
|
|
1212
|
+
<div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>* idx = SVFUtil::dyn_cast<ConstantInt>(oi->get());</div>
|
|
1213
|
+
<div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> idx_value;</div>
|
|
1214
|
+
<div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>  <span class="keywordflow">if</span> (idx == <span class="keyword">nullptr</span>)</div>
|
|
1215
|
+
<div class="line"><a name="l01222"></a><span class="lineno"> 1222</span>  {</div>
|
|
1216
|
+
<div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"vcall gep idx not constantint\n"</span>;</div>
|
|
1217
|
+
<div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>  idx_value = 0;</div>
|
|
1218
|
+
<div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  }</div>
|
|
1219
|
+
<div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  <span class="keywordflow">else</span></div>
|
|
1220
|
+
<div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>  {</div>
|
|
1221
|
+
<div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>  idx_value = (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>)idx->getSExtValue();</div>
|
|
1222
|
+
<div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  }</div>
|
|
1223
|
+
<div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  <span class="keywordflow">return</span> idx_value;</div>
|
|
1224
|
+
<div class="line"><a name="l01231"></a><span class="lineno"> 1231</span> }</div>
|
|
1225
|
+
<div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  </div>
|
|
1226
|
+
<div class="line"><a name="l01233"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a9001722dd27bf487351725c3d7b65f2f"> 1233</a></span> <span class="keywordtype">void</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a9001722dd27bf487351725c3d7b65f2f">LLVMUtil::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>
|
|
1227
|
+
<div class="line"><a name="l01234"></a><span class="lineno"> 1234</span> {</div>
|
|
1228
|
+
<div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  <span class="comment">// get default successor basic block and default case value (nullptr)</span></div>
|
|
1229
|
+
<div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>  vec.push_back({switchInst.getDefaultDest(), <span class="keyword">nullptr</span>});</div>
|
|
1230
|
+
<div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  </div>
|
|
1231
|
+
<div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>  <span class="comment">// get normal case value and it's successor basic block</span></div>
|
|
1232
|
+
<div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span>& cs : switchInst.cases())</div>
|
|
1233
|
+
<div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  vec.push_back({cs.getCaseSuccessor(), cs.getCaseValue()});</div>
|
|
1234
|
+
<div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> }</div>
|
|
1235
|
+
<div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>  </div>
|
|
1236
|
+
<div class="line"><a name="l01243"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a33e8378ae1a911169394e545a4ba2220"> 1243</a></span> <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a33e8378ae1a911169394e545a4ba2220">LLVMUtil::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>
|
|
1237
|
+
<div class="line"><a name="l01244"></a><span class="lineno"> 1244</span> {</div>
|
|
1238
|
+
<div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* succBB = succBB2CondVal.first;</div>
|
|
1239
|
+
<div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">ConstantInt</a>* caseValue = succBB2CondVal.second;</div>
|
|
1240
|
+
<div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  <a class="code" href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">s64_t</a> val;</div>
|
|
1241
|
+
<div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  <span class="keywordflow">if</span> (caseValue == <span class="keyword">nullptr</span> || succBB == switchInst.getDefaultDest())</div>
|
|
1242
|
+
<div class="line"><a name="l01249"></a><span class="lineno"> 1249</span>  {</div>
|
|
1243
|
+
<div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  val = -1;</div>
|
|
1244
|
+
<div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>  }</div>
|
|
1245
|
+
<div class="line"><a name="l01253"></a><span class="lineno"> 1253</span>  <span class="keywordflow">else</span></div>
|
|
1246
|
+
<div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>  {</div>
|
|
1247
|
+
<div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>  <span class="keywordflow">if</span> (caseValue->getBitWidth() <= 64)</div>
|
|
1248
|
+
<div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>  {</div>
|
|
1249
|
+
<div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>  val = caseValue->getSExtValue();</div>
|
|
1250
|
+
<div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  }</div>
|
|
1251
|
+
<div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  <span class="keywordflow">else</span></div>
|
|
1252
|
+
<div class="line"><a name="l01261"></a><span class="lineno"> 1261</span>  {</div>
|
|
1253
|
+
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>  val = -1;</div>
|
|
1254
|
+
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>  }</div>
|
|
1255
|
+
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>  }</div>
|
|
1256
|
+
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>  <span class="keywordflow">return</span> val;</div>
|
|
1257
|
+
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> }</div>
|
|
1258
|
+
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  </div>
|
|
1259
|
+
<div class="line"><a name="l01270"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159"> 1270</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">LLVMUtil::dumpValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* val)</div>
|
|
1260
|
+
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> {</div>
|
|
1261
|
+
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
1262
|
+
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  llvm::raw_string_ostream rawstr(str);</div>
|
|
1263
|
+
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  <span class="keywordflow">if</span> (val)</div>
|
|
1264
|
+
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  rawstr << <span class="stringliteral">" "</span> << *val << <span class="stringliteral">" "</span>;</div>
|
|
1265
|
+
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  <span class="keywordflow">else</span></div>
|
|
1266
|
+
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  rawstr << <span class="stringliteral">" llvm Value is null"</span>;</div>
|
|
1267
|
+
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
1268
|
+
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> }</div>
|
|
1269
1269
|
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>  </div>
|
|
1270
|
-
<div class="line"><a name="l01281"></a><span class="lineno"><a class="line" href="
|
|
1271
|
-
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> 
|
|
1270
|
+
<div class="line"><a name="l01281"></a><span class="lineno"><a class="line" href="namespaceSVF_1_1LLVMUtil.html#a6e8682537cf5bed808df439bd7e1add9"> 1281</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a6e8682537cf5bed808df439bd7e1add9">LLVMUtil::dumpType</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
1271
|
+
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> {</div>
|
|
1272
1272
|
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
1273
1273
|
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  llvm::raw_string_ostream rawstr(str);</div>
|
|
1274
|
-
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  <span class="keywordflow">if</span> (<
|
|
1275
|
-
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span> 
|
|
1276
|
-
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> 
|
|
1277
|
-
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> 
|
|
1278
|
-
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  <span class="keywordflow">
|
|
1279
|
-
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> 
|
|
1280
|
-
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> 
|
|
1281
|
-
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> 
|
|
1282
|
-
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> 
|
|
1283
|
-
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> 
|
|
1284
|
-
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> 
|
|
1285
|
-
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span> 
|
|
1286
|
-
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> 
|
|
1287
|
-
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> 
|
|
1288
|
-
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> 
|
|
1289
|
-
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> 
|
|
1290
|
-
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> 
|
|
1291
|
-
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> 
|
|
1292
|
-
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> }</div>
|
|
1293
|
-
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  </div>
|
|
1294
|
-
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> 
|
|
1274
|
+
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
1275
|
+
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  rawstr << <span class="stringliteral">" "</span> << *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> << <span class="stringliteral">" "</span>;</div>
|
|
1276
|
+
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  <span class="keywordflow">else</span></div>
|
|
1277
|
+
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  rawstr << <span class="stringliteral">" llvm type is null"</span>;</div>
|
|
1278
|
+
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
1279
|
+
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> }</div>
|
|
1280
|
+
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  </div>
|
|
1281
|
+
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>  </div>
|
|
1282
|
+
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> <span class="keyword">namespace </span><a class="code" href="namespaceSVF.html">SVF</a></div>
|
|
1283
|
+
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> {</div>
|
|
1284
|
+
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  </div>
|
|
1285
|
+
<div class="line"><a name="l01296"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3"> 1296</a></span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVFValue::toString</a>()<span class="keyword"> const</span></div>
|
|
1286
|
+
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> <span class="keyword"></span>{</div>
|
|
1287
|
+
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
1288
|
+
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>  llvm::raw_string_ostream rawstr(str);</div>
|
|
1289
|
+
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = SVFUtil::dyn_cast<SVFFunction>(<span class="keyword">this</span>))</div>
|
|
1290
|
+
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  {</div>
|
|
1291
|
+
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>  rawstr << <span class="stringliteral">"Function: "</span> << fun->getName() << <span class="stringliteral">" "</span>;</div>
|
|
1292
|
+
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>  }</div>
|
|
1293
|
+
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBasicBlock.html">SVFBasicBlock</a>* bb = SVFUtil::dyn_cast<SVFBasicBlock>(<span class="keyword">this</span>))</div>
|
|
1294
|
+
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>  {</div>
|
|
1295
|
+
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  rawstr << <span class="stringliteral">"BasicBlock: "</span> << bb->getName() << <span class="stringliteral">" "</span>;</div>
|
|
1296
|
+
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>  }</div>
|
|
1297
|
+
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  <span class="keywordflow">else</span></div>
|
|
1298
|
+
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>  {</div>
|
|
1299
|
+
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  <span class="keyword">auto</span> llvmVal = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#aaf9b679407f12b93afc53c157d37b444">getLLVMValue</a>(<span class="keyword">this</span>);</div>
|
|
1300
|
+
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>  <span class="keywordflow">if</span> (llvmVal)</div>
|
|
1301
|
+
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>  rawstr << <span class="stringliteral">" "</span> << *llvmVal << <span class="stringliteral">" "</span>;</div>
|
|
1302
|
+
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>  <span class="keywordflow">else</span></div>
|
|
1303
|
+
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>  rawstr << <span class="stringliteral">" No llvmVal found"</span>;</div>
|
|
1304
|
+
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>  }</div>
|
|
1305
|
+
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>  rawstr << this-><a class="code" href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">getSourceLoc</a>();</div>
|
|
1306
|
+
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
1307
|
+
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> }</div>
|
|
1308
|
+
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span>  </div>
|
|
1309
|
+
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> } <span class="comment">// namespace SVF</span></div>
|
|
1295
1310
|
</div><!-- fragment --></div><!-- contents -->
|
|
1296
1311
|
<div class="ttc" id="anamespaceSVF_html_a827d09974dc7bf0849f96823cc2fee89"><div class="ttname"><a href="namespaceSVF.html#a827d09974dc7bf0849f96823cc2fee89">SVF::DomTreeNode</a></div><div class="ttdeci">llvm::DomTreeNode DomTreeNode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00132">BasicTypes.h:132</a></div></div>
|
|
1297
1312
|
<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#l00680">LLVMUtil.cpp:680</a></div></div>
|
|
1298
1313
|
<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#l00263">LLVMUtil.cpp:263</a></div></div>
|
|
1299
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_afa2f8c8ab19c75547c26ede53b9f6159"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">SVF::LLVMUtil::dumpValue</a></div><div class="ttdeci">std::string dumpValue(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1314
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_afa2f8c8ab19c75547c26ede53b9f6159"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#afa2f8c8ab19c75547c26ede53b9f6159">SVF::LLVMUtil::dumpValue</a></div><div class="ttdeci">std::string dumpValue(const Value *val)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01270">LLVMUtil.cpp:1270</a></div></div>
|
|
1300
1315
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abc9c437b7da5cfe3d988dadfcbd0635f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abc9c437b7da5cfe3d988dadfcbd0635f">SVF::LLVMUtil::viewCFG</a></div><div class="ttdeci">void viewCFG(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00244">LLVMUtil.cpp:244</a></div></div>
|
|
1301
1316
|
<div class="ttc" id="anamespaceSVF_html_a8de26e1810ea0c3b1e8ad62f1c8a864d"><div class="ttname"><a href="namespaceSVF.html#a8de26e1810ea0c3b1e8ad62f1c8a864d">SVF::SuccBBAndCondValPairVec</a></div><div class="ttdeci">std::vector< SuccBBAndCondValPair > SuccBBAndCondValPairVec</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00184">BasicTypes.h:184</a></div></div>
|
|
1302
1317
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00101">LLVMModule.h:101</a></div></div>
|
|
@@ -1311,7 +1326,7 @@ $(function() {
|
|
|
1311
1326
|
<div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
|
|
1312
1327
|
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00097">SVFType.h:97</a></div></div>
|
|
1313
1328
|
<div class="ttc" id="anamespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
|
|
1314
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9001722dd27bf487351725c3d7b65f2f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9001722dd27bf487351725c3d7b65f2f">SVF::LLVMUtil::getSuccBBandCondValPairVec</a></div><div class="ttdeci">void getSuccBBandCondValPairVec(const SwitchInst &switchInst, SuccBBAndCondValPairVec &vec)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1329
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9001722dd27bf487351725c3d7b65f2f"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9001722dd27bf487351725c3d7b65f2f">SVF::LLVMUtil::getSuccBBandCondValPairVec</a></div><div class="ttdeci">void getSuccBBandCondValPairVec(const SwitchInst &switchInst, SuccBBAndCondValPairVec &vec)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01233">LLVMUtil.cpp:1233</a></div></div>
|
|
1315
1330
|
<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>
|
|
1316
1331
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html">SVF::cppUtil::DemangledName</a></div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00046">CppUtil.h:46</a></div></div>
|
|
1317
1332
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a9815a5b31ac7dc21239d08e5b9f61106"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVF::SVFUtil::getSVFCallSite</a></div><div class="ttdeci">CallSite getSVFCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Return LLVM callsite given an instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00196">SVFUtil.h:196</a></div></div>
|
|
@@ -1328,7 +1343,7 @@ $(function() {
|
|
|
1328
1343
|
<div class="ttc" id="anamespaceSVF_html_a52c8654c221bb53a59f70ea3cb1e5c45"><div class="ttname"><a href="namespaceSVF.html#a52c8654c221bb53a59f70ea3cb1e5c45">SVF::StructLayout</a></div><div class="ttdeci">llvm::StructLayout StructLayout</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00103">BasicTypes.h:103</a></div></div>
|
|
1329
1344
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ae2b444bb3e7a27d77386f588a78af8e2"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ae2b444bb3e7a27d77386f588a78af8e2">SVF::LLVMUtil::removeUnusedGlobalVariables</a></div><div class="ttdeci">void removeUnusedGlobalVariables(Module *module)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00594">LLVMUtil.cpp:594</a></div></div>
|
|
1330
1345
|
<div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00080">BasicTypes.h:80</a></div></div>
|
|
1331
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a41e64f3318e2bf368eebe9a104ef6ad9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a41e64f3318e2bf368eebe9a104ef6ad9">SVF::LLVMUtil::getFunNameOfVCallSite</a></div><div class="ttdeci">std::string getFunNameOfVCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1346
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a41e64f3318e2bf368eebe9a104ef6ad9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a41e64f3318e2bf368eebe9a104ef6ad9">SVF::LLVMUtil::getFunNameOfVCallSite</a></div><div class="ttdeci">std::string getFunNameOfVCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01199">LLVMUtil.cpp:1199</a></div></div>
|
|
1332
1347
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab2064cb70c76f399ce115f2621adea35"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const CallSite cs)</div><div class="ttdoc">interfaces to be used externally</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00442">SVFUtil.h:442</a></div></div>
|
|
1333
1348
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a651b6a1cf3665277d2241220bb145aed"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a651b6a1cf3665277d2241220bb145aed">SVF::LLVMUtil::functionDoesNotRet</a></div><div class="ttdeci">bool functionDoesNotRet(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00118">LLVMUtil.cpp:118</a></div></div>
|
|
1334
1349
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a47d2af43ff12d9e1014fa19256619466"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a47d2af43ff12d9e1014fa19256619466">SVF::LLVMUtil::getCalledFunctions</a></div><div class="ttdeci">std::vector< const Function * > getCalledFunctions(const Function *F)</div><div class="ttdoc">Get all called funcions in a parent function.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00560">LLVMUtil.cpp:560</a></div></div>
|
|
@@ -1338,13 +1353,13 @@ $(function() {
|
|
|
1338
1353
|
<div class="ttc" id="anamespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
|
|
1339
1354
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a4f803756f0a73e8564d9544ce27be1c9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4f803756f0a73e8564d9544ce27be1c9">SVF::LLVMUtil::getVtblStruct</a></div><div class="ttdeci">const ConstantStruct * getVtblStruct(const GlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00890">LLVMUtil.cpp:890</a></div></div>
|
|
1340
1355
|
<div class="ttc" id="anamespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00144">BasicTypes.h:144</a></div></div>
|
|
1341
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a33e8378ae1a911169394e545a4ba2220"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a33e8378ae1a911169394e545a4ba2220">SVF::LLVMUtil::getCaseValue</a></div><div class="ttdeci">s64_t getCaseValue(const SwitchInst &switchInst, SuccBBAndCondValPair &succBB2CondVal)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1356
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a33e8378ae1a911169394e545a4ba2220"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a33e8378ae1a911169394e545a4ba2220">SVF::LLVMUtil::getCaseValue</a></div><div class="ttdeci">s64_t getCaseValue(const SwitchInst &switchInst, SuccBBAndCondValPair &succBB2CondVal)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01243">LLVMUtil.cpp:1243</a></div></div>
|
|
1342
1357
|
<div class="ttc" id="anamespaceSVF_html_a5ae718cba37d8e34d2946530dc098c8e"><div class="ttname"><a href="namespaceSVF.html#a5ae718cba37d8e34d2946530dc098c8e">SVF::ConstantArray</a></div><div class="ttdeci">llvm::ConstantArray ConstantArray</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00121">BasicTypes.h:121</a></div></div>
|
|
1343
1358
|
<div class="ttc" id="anamespaceSVF_html_a1d008c0666c145622b81d427be64c52d"><div class="ttname"><a href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">SVF::Type</a></div><div class="ttdeci">llvm::Type Type</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00081">BasicTypes.h:81</a></div></div>
|
|
1344
1359
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ab0c0f321b6bfbfab2e4ff06d81920ab9"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ab0c0f321b6bfbfab2e4ff06d81920ab9">SVF::LLVMModuleSet::getSVFBasicBlock</a></div><div class="ttdeci">SVFBasicBlock * getSVFBasicBlock(const BasicBlock *bb) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00208">LLVMModule.h:208</a></div></div>
|
|
1345
1360
|
<div class="ttc" id="anamespaceSVF_html_a5a6e8ab900d5cd17ef72661006a7fbe0"><div class="ttname"><a href="namespaceSVF.html#a5a6e8ab900d5cd17ef72661006a7fbe0">SVF::LoadInst</a></div><div class="ttdeci">llvm::LoadInst LoadInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00147">BasicTypes.h:147</a></div></div>
|
|
1346
1361
|
<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>
|
|
1347
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a6e8682537cf5bed808df439bd7e1add9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a6e8682537cf5bed808df439bd7e1add9">SVF::LLVMUtil::dumpType</a></div><div class="ttdeci">std::string dumpType(const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1362
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a6e8682537cf5bed808df439bd7e1add9"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a6e8682537cf5bed808df439bd7e1add9">SVF::LLVMUtil::dumpType</a></div><div class="ttdeci">std::string dumpType(const Type *type)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01281">LLVMUtil.cpp:1281</a></div></div>
|
|
1348
1363
|
<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#l01028">LLVMUtil.cpp:1028</a></div></div>
|
|
1349
1364
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a68e7bad8eb537039559d8ddc851032e0"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a68e7bad8eb537039559d8ddc851032e0">SVF::LLVMUtil::getVCallThisPtr</a></div><div class="ttdeci">const Value * getVCallThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00978">LLVMUtil.cpp:978</a></div></div>
|
|
1350
1365
|
<div class="ttc" id="anamespaceSVF_html_a146d286041987860388da3d8bc85cee3"><div class="ttname"><a href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">SVF::ArrayType</a></div><div class="ttdeci">llvm::ArrayType ArrayType</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00093">BasicTypes.h:93</a></div></div>
|
|
@@ -1394,19 +1409,20 @@ $(function() {
|
|
|
1394
1409
|
<div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00123">BasicTypes.h:123</a></div></div>
|
|
1395
1410
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_ac0a9f85f90524abfd519d3cd2ac95a56"><div class="ttname"><a href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">SVF::StInfo::getFlattenFieldTypes</a></div><div class="ttdeci">std::vector< const SVFType * > & getFlattenFieldTypes()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00192">SVFType.h:192</a></div></div>
|
|
1396
1411
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abb4b5ed04ec70a2e7fca8198132370cf"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abb4b5ed04ec70a2e7fca8198132370cf">SVF::LLVMUtil::basicBlockHasRetInst</a></div><div class="ttdeci">bool basicBlockHasRetInst(const BasicBlock *bb)</div><div class="ttdoc">Return true if the function has a return instruction.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00104">LLVMUtil.cpp:104</a></div></div>
|
|
1397
|
-
<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#
|
|
1412
|
+
<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#l01169">LLVMUtil.cpp:1169</a></div></div>
|
|
1398
1413
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_a5cd207bce618521166e6fa235014b297"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a5cd207bce618521166e6fa235014b297">SVF::cppUtil::DemangledName::className</a></div><div class="ttdeci">std::string className</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00048">CppUtil.h:48</a></div></div>
|
|
1399
1414
|
<div class="ttc" id="anamespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00274">BasicTypes.h:274</a></div></div>
|
|
1400
1415
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_acee7c2fb08e111eda4d91ce5479de05e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#acee7c2fb08e111eda4d91ce5479de05e">SVF::LLVMUtil::isUnusedGlobalVariable</a></div><div class="ttdeci">bool isUnusedGlobalVariable(const GlobalVariable &global)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00579">LLVMUtil.cpp:579</a></div></div>
|
|
1401
1416
|
<div class="ttc" id="astructSVF_1_1cppUtil_1_1DemangledName_html_a1dd17b240663bc9412adefde82385e02"><div class="ttname"><a href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">SVF::cppUtil::DemangledName::funcName</a></div><div class="ttdeci">std::string funcName</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8h_source.html#l00049">CppUtil.h:49</a></div></div>
|
|
1402
1417
|
<div class="ttc" id="anamespaceSVF_html_afc1b50355821e7299df03b026e36f1df"><div class="ttname"><a href="namespaceSVF.html#afc1b50355821e7299df03b026e36f1df">SVF::User</a></div><div class="ttdeci">llvm::User User</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
|
|
1403
1418
|
<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#l00950">LLVMUtil.cpp:950</a></div></div>
|
|
1404
|
-
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1419
|
+
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01296">LLVMUtil.cpp:1296</a></div></div>
|
|
1405
1420
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae74f307b6f96950ceedb2c375ef1c3a3"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">SVF::LLVMModuleSet::getSVFInstruction</a></div><div class="ttdeci">SVFInstruction * getSVFInstruction(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00215">LLVMModule.h:215</a></div></div>
|
|
1406
1421
|
<div class="ttc" id="anamespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00086">BasicTypes.h:86</a></div></div>
|
|
1407
1422
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2b32283ee2dbb9cef1d17ab6f2719e0c"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2b32283ee2dbb9cef1d17ab6f2719e0c">SVF::LLVMUtil::getSourceLocOfFunction</a></div><div class="ttdeci">const std::string getSourceLocOfFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00784">LLVMUtil.cpp:784</a></div></div>
|
|
1423
|
+
<div class="ttc" id="aLLVMUtil_8cpp_html_ac4e4df5c6f24ccd2c0d6e752d7253bfc"><div class="ttname"><a href="LLVMUtil_8cpp.html#ac4e4df5c6f24ccd2c0d6e752d7253bfc">vtableType</a></div><div class="ttdeci">const std::string vtableType</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00045">LLVMUtil.cpp:45</a></div></div>
|
|
1408
1424
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_aab1cb59036d181e20a477bf1eebd81ff"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#aab1cb59036d181e20a477bf1eebd81ff">SVF::LLVMUtil::getThunkTarget</a></div><div class="ttdeci">const Function * getThunkTarget(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00956">LLVMUtil.cpp:956</a></div></div>
|
|
1409
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a207fe02ded216fd0412fc894e13bee6e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">SVF::LLVMUtil::getClassNameFromType</a></div><div class="ttdeci">std::string getClassNameFromType(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1425
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a207fe02ded216fd0412fc894e13bee6e"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a207fe02ded216fd0412fc894e13bee6e">SVF::LLVMUtil::getClassNameFromType</a></div><div class="ttdeci">std::string getClassNameFromType(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01151">LLVMUtil.cpp:1151</a></div></div>
|
|
1410
1426
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a9bd6f54920929e5ad35102ba2f2223da"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a9bd6f54920929e5ad35102ba2f2223da">SVF::LLVMUtil::getFunReachableBBs</a></div><div class="ttdeci">void getFunReachableBBs(const Function *svfFun, std::vector< const SVFBasicBlock * > &bbs)</div><div class="ttdoc">Get reachable basic block from function entry.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00069">LLVMUtil.cpp:69</a></div></div>
|
|
1411
1427
|
<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>
|
|
1412
1428
|
<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#l00252">LLVMUtil.cpp:252</a></div></div>
|
|
@@ -1423,11 +1439,12 @@ $(function() {
|
|
|
1423
1439
|
<div class="ttc" id="anamespaceSVF_html_ad781b0b14e89773e774072b280658ef3"><div class="ttname"><a href="namespaceSVF.html#ad781b0b14e89773e774072b280658ef3">SVF::s64_t</a></div><div class="ttdeci">signed long long s64_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00054">SVFType.h:54</a></div></div>
|
|
1424
1440
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a003b769751b93b94bdb011bd704cfde1"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a003b769751b93b94bdb011bd704cfde1">SVF::LLVMUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const Instruction *inst)</div><div class="ttdoc">Return true if it is an intrinsic instruction.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00216">LLVMUtil.cpp:216</a></div></div>
|
|
1425
1441
|
<div class="ttc" id="aSymbolTableInfo_8h_html"><div class="ttname"><a href="SymbolTableInfo_8h.html">SymbolTableInfo.h</a></div></div>
|
|
1442
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2e717591569fd15ef391a2650c7197ba"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2e717591569fd15ef391a2650c7197ba">SVF::LLVMUtil::classTyHasVTable</a></div><div class="ttdeci">bool classTyHasVTable(const StructType *ty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01136">LLVMUtil.cpp:1136</a></div></div>
|
|
1426
1443
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a8cd4d6410017b9e5f47f2f88450b78d8"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a8cd4d6410017b9e5f47f2f88450b78d8">SVF::LLVMUtil::getFunAnnotations</a></div><div class="ttdeci">std::vector< std::string > getFunAnnotations(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00457">LLVMUtil.cpp:457</a></div></div>
|
|
1427
1444
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a09683d4d88a50fa621809c734465f94d"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a09683d4d88a50fa621809c734465f94d">SVF::LLVMUtil::getTypeSizeInBytes</a></div><div class="ttdeci">u32_t getTypeSizeInBytes(const Type *type)</div><div class="ttdoc">Helper method to get the size of the type from target data layout.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00657">LLVMUtil.cpp:657</a></div></div>
|
|
1428
1445
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00280">SVFValue.h:280</a></div></div>
|
|
1429
1446
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abba4111230f6009bbf50518ee36a9870"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">SVF::LLVMUtil::getPtrElementType</a></div><div class="ttdeci">static Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00119">LLVMUtil.h:119</a></div></div>
|
|
1430
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a718c8ec79f36cef5df2f4530541f2770"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a718c8ec79f36cef5df2f4530541f2770">SVF::LLVMUtil::getVCallIdx</a></div><div class="ttdeci">s32_t getVCallIdx(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#
|
|
1447
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a718c8ec79f36cef5df2f4530541f2770"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a718c8ec79f36cef5df2f4530541f2770">SVF::LLVMUtil::getVCallIdx</a></div><div class="ttdeci">s32_t getVCallIdx(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01210">LLVMUtil.cpp:1210</a></div></div>
|
|
1431
1448
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a6dd1590b82d2bd86766886bd21bc2b72"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a6dd1590b82d2bd86766886bd21bc2b72">SVF::LLVMUtil::isConstructor</a></div><div class="ttdeci">bool isConstructor(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l01037">LLVMUtil.cpp:1037</a></div></div>
|
|
1432
1449
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00051">SVFType.h:51</a></div></div>
|
|
1433
1450
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
|