svf-tools 1.0.768 → 1.0.769
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AccessPath_8cpp_source.html +163 -130
- package/SVF-doxygen/html/html/AccessPath_8h_source.html +47 -45
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +2 -0
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +146 -126
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +55 -55
- package/SVF-doxygen/html/html/SVFIR2ConsExeState_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +830 -748
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8h_source.html +138 -127
- package/SVF-doxygen/html/html/SVFIR2Relation_8cpp_source.html +33 -33
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +11 -11
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +806 -799
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +7 -7
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/VFG_8h_source.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1AccessPath-members.html +27 -26
- package/SVF-doxygen/html/html/classSVF_1_1AccessPath.html +179 -124
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +97 -97
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +96 -95
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +54 -19
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +49 -49
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState-members.html +45 -42
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +961 -779
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +38 -38
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +15 -15
- package/SVF-doxygen/html/html/functions_a.html +14 -11
- package/SVF-doxygen/html/html/functions_c.html +24 -21
- package/SVF-doxygen/html/html/functions_f.html +3 -3
- package/SVF-doxygen/html/html/functions_func.html +9 -6
- package/SVF-doxygen/html/html/functions_func_c.html +19 -16
- package/SVF-doxygen/html/html/functions_func_g.html +24 -15
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/html/functions_g.html +24 -15
- package/SVF-doxygen/html/html/functions_i.html +3 -3
- package/SVF-doxygen/html/html/functions_l.html +5 -5
- package/SVF-doxygen/html/html/functions_o.html +7 -7
- package/SVF-doxygen/html/html/functions_p.html +12 -12
- package/SVF-doxygen/html/html/functions_r.html +4 -2
- package/SVF-doxygen/html/html/functions_s.html +18 -18
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +9 -9
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +78 -31
- package/SVF-doxygen/html/html/namespacemembers_func_s.html +3 -0
- package/SVF-doxygen/html/html/namespacemembers_s.html +3 -0
- package/SVF-doxygen/html/html/search/all_1.js +459 -458
- package/SVF-doxygen/html/html/search/all_10.js +323 -323
- package/SVF-doxygen/html/html/search/all_11.js +212 -212
- package/SVF-doxygen/html/html/search/all_12.js +537 -536
- package/SVF-doxygen/html/html/search/all_13.js +188 -188
- package/SVF-doxygen/html/html/search/all_14.js +66 -66
- package/SVF-doxygen/html/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/html/search/all_16.js +60 -60
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +10 -10
- package/SVF-doxygen/html/html/search/all_1a.js +169 -169
- package/SVF-doxygen/html/html/search/all_2.js +159 -159
- package/SVF-doxygen/html/html/search/all_3.js +627 -626
- package/SVF-doxygen/html/html/search/all_4.js +226 -226
- package/SVF-doxygen/html/html/search/all_5.js +117 -117
- package/SVF-doxygen/html/html/search/all_6.js +224 -224
- package/SVF-doxygen/html/html/search/all_7.js +1002 -999
- package/SVF-doxygen/html/html/search/all_8.js +191 -191
- package/SVF-doxygen/html/html/search/all_9.js +605 -605
- package/SVF-doxygen/html/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/html/search/all_c.js +114 -114
- package/SVF-doxygen/html/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/html/search/all_e.js +205 -205
- package/SVF-doxygen/html/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/html/search/classes_2.js +76 -76
- package/SVF-doxygen/html/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/html/search/defines_e.js +6 -6
- package/SVF-doxygen/html/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/html/search/files_2.js +49 -49
- package/SVF-doxygen/html/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/html/search/functions_0.js +6 -6
- package/SVF-doxygen/html/html/search/functions_1.js +349 -348
- package/SVF-doxygen/html/html/search/functions_10.js +139 -139
- package/SVF-doxygen/html/html/search/functions_11.js +126 -126
- package/SVF-doxygen/html/html/search/functions_12.js +274 -273
- package/SVF-doxygen/html/html/search/functions_13.js +56 -56
- package/SVF-doxygen/html/html/search/functions_14.js +38 -38
- package/SVF-doxygen/html/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/html/search/functions_16.js +29 -29
- package/SVF-doxygen/html/html/search/functions_17.js +2 -2
- package/SVF-doxygen/html/html/search/functions_18.js +169 -169
- package/SVF-doxygen/html/html/search/functions_2.js +82 -82
- package/SVF-doxygen/html/html/search/functions_3.js +252 -251
- package/SVF-doxygen/html/html/search/functions_4.js +71 -71
- package/SVF-doxygen/html/html/search/functions_5.js +51 -51
- package/SVF-doxygen/html/html/search/functions_6.js +58 -58
- package/SVF-doxygen/html/html/search/functions_7.js +822 -819
- package/SVF-doxygen/html/html/search/functions_8.js +143 -143
- package/SVF-doxygen/html/html/search/functions_9.js +425 -425
- package/SVF-doxygen/html/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/html/search/functions_c.js +24 -24
- package/SVF-doxygen/html/html/search/functions_d.js +77 -77
- package/SVF-doxygen/html/html/search/functions_e.js +34 -34
- package/SVF-doxygen/html/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -1
- package/SVF-doxygen/html/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
- package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
- package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
- package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
- package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/html/search/variables_0.js +147 -147
- package/SVF-doxygen/html/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/html/search/variables_13.js +75 -75
- package/SVF-doxygen/html/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +34 -34
- package/SVF-doxygen/html/html/search/variables_3.js +141 -141
- package/SVF-doxygen/html/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/html/search/variables_5.js +38 -38
- package/SVF-doxygen/html/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +8 -8
- package/package.json +1 -1
- package/svf/include/AbstractExecution/SVFIR2ItvExeState.h +14 -0
- package/svf/include/MemoryModel/AccessPath.h +6 -0
- package/svf/include/SVFIR/SVFStatements.h +10 -0
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +154 -75
- package/svf/lib/MemoryModel/AccessPath.cpp +39 -0
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +17 -0
|
@@ -244,790 +244,869 @@ $(function() {
|
|
|
244
244
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">return</span> ret;</div>
|
|
245
245
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> }</div>
|
|
246
246
|
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  </div>
|
|
247
|
-
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#
|
|
247
|
+
<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb"> 176</a></span> std::pair<s32_t, s32_t> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb">SVFIR2ItvExeState::getBytefromGepTypePair</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a>& gep_pair, <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> elemBytesize)</div>
|
|
248
248
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> {</div>
|
|
249
|
-
<div class="line"><a name="
|
|
250
|
-
<div class="line"><a name="
|
|
251
|
-
<div class="line"><a name="
|
|
252
|
-
<div class="line"><a name="
|
|
253
|
-
<div class="line"><a name="
|
|
254
|
-
<div class="line"><a name="
|
|
255
|
-
<div class="line"><a name="
|
|
256
|
-
<div class="line"><a name="
|
|
257
|
-
<div class="line"><a name="
|
|
258
|
-
<div class="line"><a name="
|
|
259
|
-
<div class="line"><a name="
|
|
260
|
-
<div class="line"><a name="
|
|
261
|
-
<div class="line"><a name="
|
|
262
|
-
<div class="line"><a name="
|
|
263
|
-
<div class="line"><a name="
|
|
264
|
-
<div class="line"><a name="
|
|
265
|
-
<div class="line"><a name="
|
|
266
|
-
<div class="line"><a name="
|
|
267
|
-
<div class="line"><a name="
|
|
268
|
-
<div class="line"><a name="
|
|
269
|
-
<div class="line"><a name="
|
|
270
|
-
<div class="line"><a name="
|
|
271
|
-
<div class="line"><a name="
|
|
272
|
-
<div class="line"><a name="
|
|
273
|
-
<div class="line"><a name="
|
|
274
|
-
<div class="line"><a name="
|
|
275
|
-
<div class="line"><a name="
|
|
276
|
-
<div class="line"><a name="
|
|
277
|
-
<div class="line"><a name="
|
|
278
|
-
<div class="line"><a name="
|
|
279
|
-
<div class="line"><a name="
|
|
280
|
-
<div class="line"><a name="
|
|
281
|
-
<div class="line"><a name="
|
|
282
|
-
<div class="line"><a name="
|
|
283
|
-
<div class="line"><a name="
|
|
284
|
-
<div class="line"><a name="
|
|
285
|
-
<div class="line"><a name="
|
|
286
|
-
<div class="line"><a name="
|
|
287
|
-
<div class="line"><a name="
|
|
288
|
-
<div class="line"><a name="
|
|
289
|
-
<div class="line"><a name="
|
|
290
|
-
<div class="line"><a name="
|
|
291
|
-
<div class="line"><a name="
|
|
292
|
-
<div class="line"><a name="
|
|
293
|
-
<div class="line"><a name="
|
|
294
|
-
<div class="line"><a name="
|
|
295
|
-
<div class="line"><a name="
|
|
296
|
-
<div class="line"><a name="
|
|
297
|
-
<div class="line"><a name="
|
|
298
|
-
<div class="line"><a name="
|
|
299
|
-
<div class="line"><a name="
|
|
300
|
-
<div class="line"><a name="
|
|
301
|
-
<div class="line"><a name="
|
|
302
|
-
<div class="line"><a name="
|
|
303
|
-
<div class="line"><a name="
|
|
304
|
-
<div class="line"><a name="
|
|
305
|
-
<div class="line"><a name="
|
|
306
|
-
<div class="line"><a name="
|
|
307
|
-
<div class="line"><a name="
|
|
308
|
-
<div class="line"><a name="
|
|
309
|
-
<div class="line"><a name="
|
|
310
|
-
<div class="line"><a name="
|
|
311
|
-
<div class="line"><a name="
|
|
312
|
-
<div class="line"><a name="
|
|
313
|
-
<div class="line"><a name="
|
|
314
|
-
<div class="line"><a name="
|
|
249
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first->getValue();</div>
|
|
250
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
|
|
251
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast<SVFConstantInt>(value);</div>
|
|
252
|
+
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = 0;</div>
|
|
253
|
+
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = 0;</div>
|
|
254
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> maxFieldLimit = 0xFFFFFF;</div>
|
|
255
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">if</span> (op)</div>
|
|
256
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  {</div>
|
|
257
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  offsetLb = offsetUb = op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() ></div>
|
|
258
|
+
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  maxFieldLimit? maxFieldLimit: op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
|
|
259
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div>
|
|
260
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">else</span></div>
|
|
261
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div>
|
|
262
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = _svfir->getValueNode(value);</div>
|
|
263
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &idxVal = _es[idx];</div>
|
|
264
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
265
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">return</span> std::make_pair(0, maxFieldLimit);</div>
|
|
266
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="comment">// if idxVal is a concrete value</span></div>
|
|
267
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
268
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  {</div>
|
|
269
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  offsetLb = offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>()></div>
|
|
270
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  maxFieldLimit? maxFieldLimit: idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
|
|
271
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  }</div>
|
|
272
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordflow">else</span></div>
|
|
273
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  {</div>
|
|
274
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  offsetLb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>()> maxFieldLimit? maxFieldLimit:idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() * elemBytesize ;</div>
|
|
275
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() > maxFieldLimit? maxFieldLimit:idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() * elemBytesize;</div>
|
|
276
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div>
|
|
277
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div>
|
|
278
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  </div>
|
|
279
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
280
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div>
|
|
281
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
282
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div>
|
|
283
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  offsetLb = offsetLb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType())* elemBytesize;</div>
|
|
284
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  offsetUb = offsetUb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType())* elemBytesize;</div>
|
|
285
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div>
|
|
286
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">else</span></div>
|
|
287
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  {</div>
|
|
288
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  offsetLb = offsetLb * elemBytesize;</div>
|
|
289
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  offsetUb = offsetUb * elemBytesize;</div>
|
|
290
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div>
|
|
291
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  }</div>
|
|
292
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
|
|
293
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> }</div>
|
|
294
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  </div>
|
|
295
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  </div>
|
|
296
|
+
<div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439"> 227</a></span> std::pair<s32_t, s32_t> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439">SVFIR2ItvExeState::getIndexfromGepTypePair</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">AccessPath::VarAndGepTypePair</a>& gep_pair, <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</div>
|
|
297
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> {</div>
|
|
298
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value = gep_pair.first->getValue();</div>
|
|
299
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = gep_pair.second;</div>
|
|
300
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast<SVFConstantInt>(value);</div>
|
|
301
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = 0;</div>
|
|
302
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = 0;</div>
|
|
303
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> maxFieldLimit = (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
304
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">if</span> (op)</div>
|
|
305
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div>
|
|
306
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  offsetLb = offsetUb = op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() ></div>
|
|
307
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  maxFieldLimit? maxFieldLimit: op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
|
|
308
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  }</div>
|
|
309
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">else</span></div>
|
|
310
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  {</div>
|
|
311
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = _svfir->getValueNode(value);</div>
|
|
312
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="comment">//if (!inVarToIValTable(idx)) return std::make_pair(-1, -1);</span></div>
|
|
313
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &idxVal = _es[idx];</div>
|
|
314
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>() || idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">isTop</a>())</div>
|
|
315
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> std::make_pair(0, (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>)<a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>());</div>
|
|
316
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="comment">// if idxVal is a concrete value</span></div>
|
|
317
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">is_numeral</a>())</div>
|
|
315
318
|
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  {</div>
|
|
316
|
-
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> 
|
|
317
|
-
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 
|
|
318
|
-
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> 
|
|
319
|
-
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> 
|
|
320
|
-
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> 
|
|
321
|
-
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 
|
|
322
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> 
|
|
323
|
-
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> 
|
|
324
|
-
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> 
|
|
325
|
-
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> 
|
|
326
|
-
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 
|
|
327
|
-
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> 
|
|
328
|
-
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> 
|
|
329
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
330
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 
|
|
331
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 
|
|
332
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> 
|
|
319
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  offsetLb = offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>()></div>
|
|
320
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  maxFieldLimit? maxFieldLimit: idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
|
|
321
|
+
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div>
|
|
322
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">else</span></div>
|
|
323
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  {</div>
|
|
324
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  offsetLb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() < 0</div>
|
|
325
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  ? 0</div>
|
|
326
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
|
|
327
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  offsetLb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">lb</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() > maxFieldLimit</div>
|
|
328
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  ? maxFieldLimit</div>
|
|
329
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  : offsetLb;</div>
|
|
330
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() < 0</div>
|
|
331
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  ? 0</div>
|
|
332
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  : idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>();</div>
|
|
333
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  offsetUb = idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">ub</a>().<a class="code" href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">getNumeral</a>() > maxFieldLimit</div>
|
|
334
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  ? maxFieldLimit</div>
|
|
335
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  : offsetUb;</div>
|
|
333
336
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  }</div>
|
|
334
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
335
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
336
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 
|
|
337
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
338
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> 
|
|
339
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
340
|
-
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> 
|
|
341
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
342
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
343
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> 
|
|
344
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> 
|
|
345
|
-
<div class="line"><a name="
|
|
346
|
-
<div class="line"><a name="
|
|
347
|
-
<div class="line"><a name="
|
|
348
|
-
<div class="line"><a name="
|
|
349
|
-
<div class="line"><a name="
|
|
350
|
-
<div class="line"><a name="
|
|
351
|
-
<div class="line"><a name="
|
|
352
|
-
<div class="line"><a name="
|
|
353
|
-
<div class="line"><a name="
|
|
354
|
-
<div class="line"><a name="
|
|
355
|
-
<div class="line"><a name="
|
|
356
|
-
<div class="line"><a name="
|
|
357
|
-
<div class="line"><a name="
|
|
358
|
-
<div class="line"><a name="
|
|
359
|
-
<div class="line"><a name="
|
|
360
|
-
<div class="line"><a name="
|
|
361
|
-
<div class="line"><a name="
|
|
337
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div>
|
|
338
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
|
|
339
|
+
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
340
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  {</div>
|
|
341
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a> *pty = SVFUtil::dyn_cast<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
342
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  {</div>
|
|
343
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  offsetLb = offsetLb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
344
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  offsetUb = offsetUb * gep-><a class="code" href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">getAccessPath</a>().<a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
345
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  }</div>
|
|
346
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">else</span></div>
|
|
347
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  {</div>
|
|
348
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keyword">const</span> std::vector<u32_t>& so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()</div>
|
|
349
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  -><a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)</div>
|
|
350
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  -><a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
|
|
351
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">if</span> (so.empty() || (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)offsetUb >= so.size() ||</div>
|
|
352
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)offsetLb >= so.size())</div>
|
|
353
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  {</div>
|
|
354
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  offsetLb = 0;</div>
|
|
355
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  offsetUb = maxFieldLimit;</div>
|
|
356
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  }</div>
|
|
357
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">else</span></div>
|
|
358
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div>
|
|
359
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  offsetLb =</div>
|
|
360
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
|
|
361
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetLb);</div>
|
|
362
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  offsetUb =</div>
|
|
363
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(</div>
|
|
364
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>, offsetUb);</div>
|
|
365
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  }</div>
|
|
366
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  }</div>
|
|
367
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  }</div>
|
|
368
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">return</span> {offsetLb, offsetUb};</div>
|
|
369
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> }</div>
|
|
362
370
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  </div>
|
|
363
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> 
|
|
364
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
365
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> 
|
|
366
|
-
<div class="line"><a name="
|
|
367
|
-
<div class="line"><a name="
|
|
368
|
-
<div class="line"><a name="
|
|
369
|
-
<div class="line"><a name="
|
|
370
|
-
<div class="line"><a name="
|
|
371
|
-
<div class="line"><a name="
|
|
372
|
-
<div class="line"><a name="
|
|
373
|
-
<div class="line"><a name="
|
|
374
|
-
<div class="line"><a name="
|
|
375
|
-
<div class="line"><a name="
|
|
376
|
-
<div class="line"><a name="
|
|
377
|
-
<div class="line"><a name="
|
|
378
|
-
<div class="line"><a name="
|
|
379
|
-
<div class="line"><a name="
|
|
380
|
-
<div class="line"><a name="
|
|
381
|
-
<div class="line"><a name="
|
|
382
|
-
<div class="line"><a name="
|
|
383
|
-
<div class="line"><a name="
|
|
384
|
-
<div class="line"><a name="
|
|
385
|
-
<div class="line"><a name="
|
|
386
|
-
<div class="line"><a name="
|
|
387
|
-
<div class="line"><a name="
|
|
388
|
-
<div class="line"><a name="
|
|
389
|
-
<div class="line"><a name="
|
|
390
|
-
<div class="line"><a name="
|
|
391
|
-
<div class="line"><a name="
|
|
392
|
-
<div class="line"><a name="
|
|
393
|
-
<div class="line"><a name="
|
|
394
|
-
<div class="line"><a name="
|
|
395
|
-
<div class="line"><a name="
|
|
396
|
-
<div class="line"><a name="
|
|
397
|
-
<div class="line"><a name="
|
|
398
|
-
<div class="line"><a name="
|
|
399
|
-
<div class="line"><a name="
|
|
400
|
-
<div class="line"><a name="
|
|
401
|
-
<div class="line"><a name="
|
|
402
|
-
<div class="line"><a name="
|
|
403
|
-
<div class="line"><a name="
|
|
404
|
-
<div class="line"><a name="
|
|
405
|
-
<div class="line"><a name="
|
|
406
|
-
<div class="line"><a name="
|
|
407
|
-
<div class="line"><a name="
|
|
408
|
-
<div class="line"><a name="
|
|
409
|
-
<div class="line"><a name="
|
|
410
|
-
<div class="line"><a name="
|
|
411
|
-
<div class="line"><a name="
|
|
412
|
-
<div class="line"><a name="
|
|
413
|
-
<div class="line"><a name="
|
|
414
|
-
<div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="
|
|
418
|
-
<div class="line"><a name="
|
|
419
|
-
<div class="line"><a name="
|
|
420
|
-
<div class="line"><a name="
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="
|
|
423
|
-
<div class="line"><a name="
|
|
424
|
-
<div class="line"><a name="
|
|
425
|
-
<div class="line"><a name="
|
|
426
|
-
<div class="line"><a name="
|
|
427
|
-
<div class="line"><a name="
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="
|
|
435
|
-
<div class="line"><a name="
|
|
436
|
-
<div class="line"><a name="
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="
|
|
445
|
-
<div class="line"><a name="
|
|
446
|
-
<div class="line"><a name="
|
|
447
|
-
<div class="line"><a name="
|
|
448
|
-
<div class="line"><a name="
|
|
449
|
-
<div class="line"><a name="
|
|
450
|
-
<div class="line"><a name="
|
|
451
|
-
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
|
|
452
|
-
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  }</div>
|
|
453
|
-
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
|
|
454
|
-
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  {</div>
|
|
455
|
-
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
|
|
456
|
-
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
|
|
457
|
-
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  }</div>
|
|
458
|
-
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">else</span></div>
|
|
371
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div>
|
|
372
|
+
<div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a33785e2f4181fe48a4092100386440e7"> 304</a></span> std::pair<s32_t, s32_t> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a33785e2f4181fe48a4092100386440e7">SVFIR2ItvExeState::getGepByteOffset</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep, <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> elemBytesize)</div>
|
|
373
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> {</div>
|
|
374
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">if</span> (gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
|
|
375
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">return</span> std::make_pair(gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
|
|
376
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetLb = 0;</div>
|
|
377
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetUb = 0;</div>
|
|
378
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit = 0xFFFFFF;</div>
|
|
379
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i >= 0; i--)</div>
|
|
380
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  {</div>
|
|
381
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  std::pair<s32_t, s32_t> offsetIdx = getBytefromGepTypePair(</div>
|
|
382
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep, elemBytesize);</div>
|
|
383
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = offsetIdx.first;</div>
|
|
384
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = offsetIdx.second;</div>
|
|
385
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) > maxFieldLimit)</div>
|
|
386
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  totalOffsetLb = maxFieldLimit;</div>
|
|
387
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">else</span></div>
|
|
388
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  totalOffsetLb += offsetLb;</div>
|
|
389
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) > maxFieldLimit)</div>
|
|
390
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  totalOffsetUb = maxFieldLimit;</div>
|
|
391
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">else</span></div>
|
|
392
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  totalOffsetUb += offsetUb ;</div>
|
|
393
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div>
|
|
394
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
|
|
395
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> }</div>
|
|
396
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  </div>
|
|
397
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  </div>
|
|
398
|
+
<div class="line"><a name="l00332"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9"> 332</a></span> std::pair<s32_t, s32_t> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">SVFIR2ItvExeState::getGepOffset</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</div>
|
|
399
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> {</div>
|
|
400
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">if</span> (gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().empty())</div>
|
|
401
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">return</span> std::make_pair(gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>(), gep-><a class="code" href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">getConstantFieldIdx</a>());</div>
|
|
402
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetLb = 0;</div>
|
|
403
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> totalOffsetUb = 0;</div>
|
|
404
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> maxFieldLimit = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
|
|
405
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>().size() - 1; i >= 0; i--)</div>
|
|
406
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div>
|
|
407
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  std::pair<s32_t, s32_t> offsetIdx = getIndexfromGepTypePair(</div>
|
|
408
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  gep-><a class="code" href="classSVF_1_1GepStmt.html#acce9e813dbca30e0264dac6c89ea72af">getOffsetVarAndGepTypePairVec</a>()[i], gep);</div>
|
|
409
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetLb = offsetIdx.first;</div>
|
|
410
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> offsetUb = offsetIdx.second;</div>
|
|
411
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetLb + offsetLb) > maxFieldLimit)</div>
|
|
412
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  totalOffsetLb = maxFieldLimit;</div>
|
|
413
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">else</span></div>
|
|
414
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  totalOffsetLb += offsetLb;</div>
|
|
415
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">if</span> ((<span class="keywordtype">long</span> <span class="keywordtype">long</span>) (totalOffsetUb + offsetUb) > maxFieldLimit)</div>
|
|
416
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  totalOffsetUb = maxFieldLimit;</div>
|
|
417
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">else</span></div>
|
|
418
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  totalOffsetUb += offsetUb ;</div>
|
|
419
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  }</div>
|
|
420
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> {totalOffsetLb, totalOffsetUb};</div>
|
|
421
|
+
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> }</div>
|
|
422
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  </div>
|
|
423
|
+
<div class="line"><a name="l00364"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e"> 364</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVFIR2ItvExeState::initValVar</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
|
|
424
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> {</div>
|
|
425
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  </div>
|
|
426
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
|
|
427
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  </div>
|
|
428
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a> *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = valVar-><a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>())</div>
|
|
429
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  {</div>
|
|
430
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  <span class="comment">// TODO:miss floatpointerty, voidty, labelty, matadataty</span></div>
|
|
431
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVFType::SVFIntegerTy</a> ||</div>
|
|
432
|
+
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVFType::SVFPointerTy</a> ||</div>
|
|
433
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVFType::SVFFunctionTy</a> ||</div>
|
|
434
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVFType::SVFStructTy</a> ||</div>
|
|
435
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->getKind() == <a class="code" href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVFType::SVFArrayTy</a>)</div>
|
|
436
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="comment">// continue with null expression</span></div>
|
|
437
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  _es[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
438
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">else</span></div>
|
|
439
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  {</div>
|
|
440
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  </div>
|
|
441
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << valVar-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()-><a class="code" href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">toString</a>() << <span class="stringliteral">"\n"</span> << <span class="stringliteral">" type: "</span> << *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> << <span class="stringliteral">"\n"</span>;</div>
|
|
442
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"what other types we have"</span>);</div>
|
|
443
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div>
|
|
444
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  }</div>
|
|
445
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">else</span></div>
|
|
446
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  {</div>
|
|
447
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <span class="keywordflow">if</span> (svfir-><a class="code" href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">getNullPtr</a>() == valVar-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>())</div>
|
|
448
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  _es[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
449
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">else</span></div>
|
|
450
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  _es[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
451
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  assert(SVFUtil::isa<DummyValVar>(valVar) && <span class="stringliteral">"not a DummValVar if it has no type?"</span>);</div>
|
|
452
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  }</div>
|
|
453
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> }</div>
|
|
454
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  </div>
|
|
455
|
+
<div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d"> 401</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVFIR2ItvExeState::initObjVar</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar, <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
|
|
456
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> {</div>
|
|
457
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div>
|
|
458
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">if</span> (objVar-><a class="code" href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">hasValue</a>())</div>
|
|
459
459
|
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  {</div>
|
|
460
|
-
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> 
|
|
461
|
-
<div class="line"><a name="
|
|
462
|
-
<div class="line"><a name="
|
|
463
|
-
<div class="line"><a name="
|
|
464
|
-
<div class="line"><a name="
|
|
465
|
-
<div class="line"><a name="
|
|
466
|
-
<div class="line"><a name="
|
|
467
|
-
<div class="line"><a name="
|
|
468
|
-
<div class="line"><a name="
|
|
469
|
-
<div class="line"><a name="
|
|
470
|
-
<div class="line"><a name="
|
|
471
|
-
<div class="line"><a name="
|
|
472
|
-
<div class="line"><a name="
|
|
473
|
-
<div class="line"><a name="
|
|
474
|
-
<div class="line"><a name="
|
|
475
|
-
<div class="line"><a name="
|
|
476
|
-
<div class="line"><a name="
|
|
477
|
-
<div class="line"><a name="
|
|
478
|
-
<div class="line"><a name="
|
|
479
|
-
<div class="line"><a name="
|
|
480
|
-
<div class="line"><a name="
|
|
481
|
-
<div class="line"><a name="
|
|
482
|
-
<div class="line"><a name="
|
|
483
|
-
<div class="line"><a name="
|
|
484
|
-
<div class="line"><a name="
|
|
485
|
-
<div class="line"><a name="
|
|
486
|
-
<div class="line"><a name="
|
|
487
|
-
<div class="line"><a name="
|
|
488
|
-
<div class="line"><a name="
|
|
489
|
-
<div class="line"><a name="
|
|
490
|
-
<div class="line"><a name="
|
|
491
|
-
<div class="line"><a name="
|
|
492
|
-
<div class="line"><a name="
|
|
493
|
-
<div class="line"><a name="
|
|
494
|
-
<div class="line"><a name="
|
|
495
|
-
<div class="line"><a name="
|
|
496
|
-
<div class="line"><a name="
|
|
497
|
-
<div class="line"><a name="
|
|
498
|
-
<div class="line"><a name="
|
|
499
|
-
<div class="line"><a name="
|
|
500
|
-
<div class="line"><a name="
|
|
501
|
-
<div class="line"><a name="
|
|
502
|
-
<div class="line"><a name="
|
|
503
|
-
<div class="line"><a name="
|
|
504
|
-
<div class="line"><a name="
|
|
505
|
-
<div class="line"><a name="
|
|
506
|
-
<div class="line"><a name="
|
|
507
|
-
<div class="line"><a name="
|
|
508
|
-
<div class="line"><a name="
|
|
509
|
-
<div class="line"><a name="
|
|
510
|
-
<div class="line"><a name="
|
|
511
|
-
<div class="line"><a name="
|
|
512
|
-
<div class="line"><a name="
|
|
513
|
-
<div class="line"><a name="
|
|
514
|
-
<div class="line"><a name="
|
|
515
|
-
<div class="line"><a name="
|
|
516
|
-
<div class="line"><a name="
|
|
517
|
-
<div class="line"><a name="
|
|
518
|
-
<div class="line"><a name="
|
|
519
|
-
<div class="line"><a name="
|
|
520
|
-
<div class="line"><a name="
|
|
521
|
-
<div class="line"><a name="
|
|
522
|
-
<div class="line"><a name="
|
|
523
|
-
<div class="line"><a name="
|
|
524
|
-
<div class="line"><a name="
|
|
525
|
-
<div class="line"><a name="
|
|
526
|
-
<div class="line"><a name="
|
|
527
|
-
<div class="line"><a name="
|
|
528
|
-
<div class="line"><a name="
|
|
529
|
-
<div class="line"><a name="
|
|
530
|
-
<div class="line"><a name="
|
|
531
|
-
<div class="line"><a name="
|
|
532
|
-
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">if</span> (inVarToIValTable(op0) && inVarToIValTable(op1))</div>
|
|
460
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1MemObj.html">MemObj</a> *obj = objVar-><a class="code" href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">getMemObj</a>();</div>
|
|
461
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keywordflow">if</span> (obj-><a class="code" href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">isConstDataOrConstGlobal</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
|
|
462
|
+
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  {</div>
|
|
463
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *consInt = SVFUtil::dyn_cast<SVFConstantInt>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
464
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  {</div>
|
|
465
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordtype">double</span> numeral = (double)consInt->getSExtValue();</div>
|
|
466
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(numeral, numeral);</div>
|
|
467
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  }</div>
|
|
468
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>* consFP = SVFUtil::dyn_cast<SVFConstantFP>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
469
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  {</div>
|
|
470
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(consFP->getFPValue(), consFP->getFPValue());</div>
|
|
471
|
+
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  }</div>
|
|
472
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<SVFConstantNullPtr>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
473
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  {</div>
|
|
474
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
475
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  }</div>
|
|
476
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<SVFGlobalValue>(obj-><a class="code" href="classSVF_1_1MemObj.html#a2f70e9c830b18f25c56b530722f106c4">getValue</a>()))</div>
|
|
477
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  {</div>
|
|
478
|
+
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(getVirtualMemAddress(varId));</div>
|
|
479
|
+
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  }</div>
|
|
480
|
+
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (obj-><a class="code" href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">isConstantArray</a>() || obj-><a class="code" href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">isConstantStruct</a>())</div>
|
|
481
|
+
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  {</div>
|
|
482
|
+
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
483
|
+
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  }</div>
|
|
484
|
+
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">else</span></div>
|
|
485
|
+
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  {</div>
|
|
486
|
+
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[varId] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
487
|
+
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div>
|
|
488
|
+
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  }</div>
|
|
489
|
+
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">else</span></div>
|
|
490
|
+
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  {</div>
|
|
491
|
+
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(getVirtualMemAddress(varId));</div>
|
|
492
|
+
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div>
|
|
493
|
+
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  }</div>
|
|
494
|
+
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">else</span></div>
|
|
495
|
+
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  {</div>
|
|
496
|
+
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(varId).<a class="code" href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">insert</a>(getVirtualMemAddress(varId));</div>
|
|
497
|
+
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  }</div>
|
|
498
|
+
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> }</div>
|
|
499
|
+
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  </div>
|
|
500
|
+
<div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b"> 447</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVFIR2ItvExeState::initSVFVar</a>(<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> varId)</div>
|
|
501
|
+
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> {</div>
|
|
502
|
+
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="keywordflow">if</span> (inVarToIValTable(varId) || _es.inVarToAddrsTable(varId)) <span class="keywordflow">return</span>;</div>
|
|
503
|
+
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <a class="code" href="classSVF_1_1SVFIR.html">SVFIR</a> *svfir = <a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>();</div>
|
|
504
|
+
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a> *svfVar = svfir-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(varId);</div>
|
|
505
|
+
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="comment">// write objvar into cache instead of exestate</span></div>
|
|
506
|
+
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ObjVar.html">ObjVar</a> *objVar = dyn_cast<ObjVar>(svfVar))</div>
|
|
507
|
+
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  {</div>
|
|
508
|
+
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  initObjVar(objVar, varId);</div>
|
|
509
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">return</span>;</div>
|
|
510
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  }</div>
|
|
511
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1ValVar.html">ValVar</a> *valVar = dyn_cast<ValVar>(svfVar))</div>
|
|
512
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  {</div>
|
|
513
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  initValVar(valVar, varId);</div>
|
|
514
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">return</span>;</div>
|
|
515
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  }</div>
|
|
516
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">else</span></div>
|
|
517
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  {</div>
|
|
518
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  initValVar(valVar, varId);</div>
|
|
519
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">return</span>;</div>
|
|
520
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  }</div>
|
|
521
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div>
|
|
522
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  </div>
|
|
523
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  </div>
|
|
524
|
+
<div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9"> 471</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">SVFIR2ItvExeState::translateAddr</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1AddrStmt.html">AddrStmt</a> *addr)</div>
|
|
525
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> {</div>
|
|
526
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  initSVFVar(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
|
|
527
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">if</span> (inVarToIValTable(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
|
|
528
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  {</div>
|
|
529
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()] = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>[addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()];</div>
|
|
530
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  }</div>
|
|
531
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>()))</div>
|
|
533
532
|
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  {</div>
|
|
534
|
-
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="
|
|
535
|
-
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> 
|
|
536
|
-
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> 
|
|
537
|
-
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> 
|
|
538
|
-
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> 
|
|
539
|
-
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="
|
|
540
|
-
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> 
|
|
541
|
-
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> 
|
|
542
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> 
|
|
543
|
-
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> 
|
|
544
|
-
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> 
|
|
545
|
-
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> 
|
|
546
|
-
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> 
|
|
547
|
-
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> 
|
|
548
|
-
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> 
|
|
549
|
-
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> 
|
|
550
|
-
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> 
|
|
551
|
-
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> 
|
|
552
|
-
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> 
|
|
553
|
-
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> 
|
|
554
|
-
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> 
|
|
555
|
-
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">
|
|
556
|
-
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> 
|
|
557
|
-
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
558
|
-
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
559
|
-
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  resVal = (lhs
|
|
533
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(addr-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>()) = <a class="code" href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">IntervalExeState::globalES</a>.<a class="code" href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">getVAddrs</a>(</div>
|
|
534
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  addr-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>());</div>
|
|
535
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  }</div>
|
|
536
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">else</span></div>
|
|
537
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  {</div>
|
|
538
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"not number or virtual addrs?"</span>);</div>
|
|
539
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div>
|
|
540
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> }</div>
|
|
541
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  </div>
|
|
542
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  </div>
|
|
543
|
+
<div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13"> 490</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">SVFIR2ItvExeState::translateBinary</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html">BinaryOPStmt</a> *binary)</div>
|
|
544
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> {</div>
|
|
545
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = binary-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
|
|
546
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = binary-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
|
|
547
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = binary-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
548
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">if</span> (!inVarToIValTable(op0)) _es[op0] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
549
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">if</span> (!inVarToIValTable(op1)) _es[op1] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
550
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">if</span> (inVarToIValTable(op0) && inVarToIValTable(op1))</div>
|
|
551
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  {</div>
|
|
552
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs = _es[op0], &rhs = _es[op1];</div>
|
|
553
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
|
|
554
|
+
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">switch</span> (binary-><a class="code" href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">getOpcode</a>())</div>
|
|
555
|
+
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  {</div>
|
|
556
|
+
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">BinaryOPStmt::Add</a>:</div>
|
|
557
|
+
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">BinaryOPStmt::FAdd</a>:</div>
|
|
558
|
+
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  resVal = (lhs + rhs);</div>
|
|
560
559
|
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keywordflow">break</span>;</div>
|
|
561
|
-
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
562
|
-
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
563
|
-
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> 
|
|
564
|
-
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> 
|
|
565
|
-
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> 
|
|
566
|
-
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> 
|
|
567
|
-
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> 
|
|
568
|
-
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span> 
|
|
569
|
-
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
570
|
-
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
571
|
-
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> 
|
|
572
|
-
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> 
|
|
573
|
-
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> 
|
|
574
|
-
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> 
|
|
575
|
-
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> 
|
|
576
|
-
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">case</span> <a class="code" href="
|
|
577
|
-
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  resVal =
|
|
560
|
+
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">BinaryOPStmt::Sub</a>:</div>
|
|
561
|
+
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">BinaryOPStmt::FSub</a>:</div>
|
|
562
|
+
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  resVal = (lhs - rhs);</div>
|
|
563
|
+
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">break</span>;</div>
|
|
564
|
+
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">BinaryOPStmt::Mul</a>:</div>
|
|
565
|
+
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">BinaryOPStmt::FMul</a>:</div>
|
|
566
|
+
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  resVal = (lhs * rhs);</div>
|
|
567
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keywordflow">break</span>;</div>
|
|
568
|
+
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">BinaryOPStmt::SDiv</a>:</div>
|
|
569
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">BinaryOPStmt::FDiv</a>:</div>
|
|
570
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">BinaryOPStmt::UDiv</a>:</div>
|
|
571
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  resVal = (lhs / rhs);</div>
|
|
572
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">break</span>;</div>
|
|
573
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">BinaryOPStmt::SRem</a>:</div>
|
|
574
|
+
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">BinaryOPStmt::FRem</a>:</div>
|
|
575
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">BinaryOPStmt::URem</a>:</div>
|
|
576
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  resVal = (lhs % rhs);</div>
|
|
578
577
|
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">break</span>;</div>
|
|
579
|
-
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">
|
|
580
|
-
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> 
|
|
581
|
-
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> 
|
|
582
|
-
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> 
|
|
583
|
-
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> 
|
|
584
|
-
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> 
|
|
585
|
-
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> 
|
|
586
|
-
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> 
|
|
587
|
-
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> 
|
|
588
|
-
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="code" href="
|
|
589
|
-
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> 
|
|
590
|
-
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> 
|
|
591
|
-
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> 
|
|
592
|
-
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> 
|
|
593
|
-
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> 
|
|
594
|
-
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> 
|
|
595
|
-
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> 
|
|
596
|
-
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> 
|
|
597
|
-
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> 
|
|
598
|
-
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> 
|
|
599
|
-
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> 
|
|
600
|
-
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> 
|
|
601
|
-
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> 
|
|
602
|
-
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> 
|
|
603
|
-
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> 
|
|
604
|
-
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> 
|
|
605
|
-
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> 
|
|
606
|
-
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> 
|
|
607
|
-
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> 
|
|
608
|
-
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> 
|
|
609
|
-
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> 
|
|
610
|
-
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> 
|
|
611
|
-
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> 
|
|
612
|
-
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> 
|
|
613
|
-
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> 
|
|
614
|
-
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> 
|
|
615
|
-
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> 
|
|
616
|
-
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> 
|
|
617
|
-
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> 
|
|
618
|
-
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> 
|
|
619
|
-
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
620
|
-
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
621
|
-
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> 
|
|
622
|
-
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> 
|
|
623
|
-
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> 
|
|
624
|
-
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> 
|
|
625
|
-
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> 
|
|
626
|
-
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> 
|
|
627
|
-
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">
|
|
628
|
-
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> 
|
|
629
|
-
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> 
|
|
630
|
-
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> 
|
|
631
|
-
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> 
|
|
632
|
-
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> 
|
|
633
|
-
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> 
|
|
634
|
-
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> 
|
|
635
|
-
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> 
|
|
636
|
-
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> 
|
|
637
|
-
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> 
|
|
638
|
-
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> 
|
|
639
|
-
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> 
|
|
640
|
-
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
641
|
-
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
642
|
-
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
643
|
-
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
644
|
-
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> 
|
|
645
|
-
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">
|
|
646
|
-
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> 
|
|
647
|
-
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> 
|
|
648
|
-
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> 
|
|
649
|
-
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> 
|
|
650
|
-
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> 
|
|
651
|
-
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> 
|
|
652
|
-
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> 
|
|
653
|
-
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <
|
|
654
|
-
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> 
|
|
655
|
-
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
656
|
-
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> 
|
|
657
|
-
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> 
|
|
658
|
-
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">
|
|
578
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">BinaryOPStmt::Xor</a>:</div>
|
|
579
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  resVal = (lhs ^ rhs);</div>
|
|
580
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">break</span>;</div>
|
|
581
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">BinaryOPStmt::And</a>:</div>
|
|
582
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  resVal = (lhs & rhs);</div>
|
|
583
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">break</span>;</div>
|
|
584
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">BinaryOPStmt::Or</a>:</div>
|
|
585
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  resVal = (lhs | rhs);</div>
|
|
586
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">break</span>;</div>
|
|
587
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">BinaryOPStmt::AShr</a>:</div>
|
|
588
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  resVal = (lhs >> rhs);</div>
|
|
589
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <span class="keywordflow">break</span>;</div>
|
|
590
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">BinaryOPStmt::Shl</a>:</div>
|
|
591
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  resVal = (lhs << rhs);</div>
|
|
592
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keywordflow">break</span>;</div>
|
|
593
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">BinaryOPStmt::LShr</a>:</div>
|
|
594
|
+
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  resVal = (lhs >> rhs);</div>
|
|
595
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">break</span>;</div>
|
|
596
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">default</span>:</div>
|
|
597
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  {</div>
|
|
598
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"undefined binary: "</span>);</div>
|
|
599
|
+
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  }</div>
|
|
600
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  }</div>
|
|
601
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  _es[res] = resVal;</div>
|
|
602
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  }</div>
|
|
603
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> }</div>
|
|
604
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  </div>
|
|
605
|
+
<div class="line"><a name="l00552"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24"> 552</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">SVFIR2ItvExeState::translateCmp</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CmpStmt.html">CmpStmt</a> *cmp)</div>
|
|
606
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> {</div>
|
|
607
|
+
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op0 = cmp-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(0);</div>
|
|
608
|
+
<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> op1 = cmp-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(1);</div>
|
|
609
|
+
<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = cmp-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
610
|
+
<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keywordflow">if</span> (inVarToIValTable(op0) && inVarToIValTable(op1))</div>
|
|
611
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  {</div>
|
|
612
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
|
|
613
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &lhs = _es[op0], &rhs = _es[op1];</div>
|
|
614
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="keyword">auto</span> predicate = cmp-><a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
|
|
615
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordflow">switch</span> (predicate)</div>
|
|
616
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  {</div>
|
|
617
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
|
|
618
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
|
|
619
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
|
|
620
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  resVal = (lhs == rhs);</div>
|
|
621
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="keywordflow">break</span>;</div>
|
|
622
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
|
|
623
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
|
|
624
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
|
|
625
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  resVal = (lhs != rhs);</div>
|
|
626
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">break</span>;</div>
|
|
627
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
|
|
628
|
+
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
|
|
629
|
+
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
|
|
630
|
+
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
|
|
631
|
+
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  resVal = (lhs > rhs);</div>
|
|
632
|
+
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">break</span>;</div>
|
|
633
|
+
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
|
|
634
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
|
|
635
|
+
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
|
|
636
|
+
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
|
|
637
|
+
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  resVal = (lhs >= rhs);</div>
|
|
638
|
+
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <span class="keywordflow">break</span>;</div>
|
|
639
|
+
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
|
|
640
|
+
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
|
|
641
|
+
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
|
|
642
|
+
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
|
|
643
|
+
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  resVal = (lhs < rhs);</div>
|
|
644
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">break</span>;</div>
|
|
645
|
+
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
|
|
646
|
+
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
|
|
647
|
+
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
|
|
648
|
+
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
|
|
649
|
+
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  resVal = (lhs <= rhs);</div>
|
|
650
|
+
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <span class="keywordflow">break</span>;</div>
|
|
651
|
+
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
|
|
652
|
+
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
653
|
+
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">break</span>;</div>
|
|
654
|
+
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
|
|
655
|
+
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
656
|
+
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordflow">break</span>;</div>
|
|
657
|
+
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">default</span>:</div>
|
|
659
658
|
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  {</div>
|
|
660
|
-
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="
|
|
661
|
-
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> 
|
|
662
|
-
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span> 
|
|
663
|
-
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> 
|
|
664
|
-
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> 
|
|
665
|
-
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> 
|
|
666
|
-
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span> 
|
|
667
|
-
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> 
|
|
668
|
-
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> 
|
|
669
|
-
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> 
|
|
670
|
-
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> 
|
|
671
|
-
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> 
|
|
672
|
-
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> 
|
|
673
|
-
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> 
|
|
674
|
-
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span> 
|
|
675
|
-
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> 
|
|
676
|
-
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> 
|
|
677
|
-
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> 
|
|
678
|
-
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> 
|
|
679
|
-
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> 
|
|
680
|
-
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> 
|
|
681
|
-
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> 
|
|
682
|
-
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> 
|
|
683
|
-
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> 
|
|
684
|
-
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> 
|
|
685
|
-
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> 
|
|
686
|
-
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> 
|
|
687
|
-
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> 
|
|
688
|
-
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> 
|
|
689
|
-
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> 
|
|
690
|
-
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> 
|
|
691
|
-
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> 
|
|
692
|
-
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> 
|
|
693
|
-
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> 
|
|
694
|
-
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span> 
|
|
695
|
-
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span> 
|
|
696
|
-
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span> 
|
|
697
|
-
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span> 
|
|
698
|
-
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span> 
|
|
699
|
-
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span> 
|
|
700
|
-
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#
|
|
701
|
-
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span> 
|
|
702
|
-
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">
|
|
703
|
-
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span> 
|
|
704
|
-
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span> 
|
|
705
|
-
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span> 
|
|
706
|
-
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> 
|
|
707
|
-
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span> 
|
|
708
|
-
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span> 
|
|
709
|
-
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span> 
|
|
710
|
-
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span> 
|
|
711
|
-
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span> 
|
|
712
|
-
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span> 
|
|
713
|
-
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span> 
|
|
714
|
-
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  </div>
|
|
715
|
-
<div class="line"><a name="l00661"></a><span class="lineno"
|
|
716
|
-
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span> 
|
|
717
|
-
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span> 
|
|
718
|
-
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span> 
|
|
719
|
-
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span> 
|
|
720
|
-
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span> 
|
|
721
|
-
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <a class="code" href="
|
|
722
|
-
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span> 
|
|
723
|
-
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span> 
|
|
724
|
-
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span> 
|
|
725
|
-
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> 
|
|
726
|
-
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> 
|
|
727
|
-
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> 
|
|
728
|
-
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keywordflow">else</span
|
|
729
|
-
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> 
|
|
730
|
-
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> 
|
|
731
|
-
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> 
|
|
732
|
-
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> 
|
|
733
|
-
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> 
|
|
734
|
-
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> 
|
|
735
|
-
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> 
|
|
736
|
-
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> 
|
|
737
|
-
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> 
|
|
738
|
-
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span> 
|
|
739
|
-
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span> 
|
|
740
|
-
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span> 
|
|
741
|
-
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <
|
|
742
|
-
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span> 
|
|
743
|
-
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span> 
|
|
744
|
-
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span> 
|
|
745
|
-
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span> 
|
|
746
|
-
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span> 
|
|
747
|
-
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> 
|
|
748
|
-
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span> 
|
|
749
|
-
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span> 
|
|
750
|
-
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span> 
|
|
751
|
-
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span> 
|
|
752
|
-
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span> 
|
|
753
|
-
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span> 
|
|
754
|
-
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span> 
|
|
755
|
-
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span> 
|
|
756
|
-
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span> 
|
|
757
|
-
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span> 
|
|
758
|
-
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span> 
|
|
759
|
-
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span> 
|
|
760
|
-
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  </div>
|
|
761
|
-
<div class="line"><a name="l00707"></a><span class="lineno"
|
|
762
|
-
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span> 
|
|
763
|
-
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span> 
|
|
764
|
-
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span> 
|
|
765
|
-
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span> 
|
|
766
|
-
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span> 
|
|
767
|
-
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">
|
|
659
|
+
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"undefined compare: "</span>);</div>
|
|
660
|
+
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  }</div>
|
|
661
|
+
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  }</div>
|
|
662
|
+
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  _es[res] = resVal;</div>
|
|
663
|
+
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  }</div>
|
|
664
|
+
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(op0) && inVarToAddrsTable(op1))</div>
|
|
665
|
+
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  {</div>
|
|
666
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> resVal;</div>
|
|
667
|
+
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &lhs = getVAddrs(op0), &rhs = getVAddrs(op1);</div>
|
|
668
|
+
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="comment">// if (lhs.empty() || rhs.empty()) {</span></div>
|
|
669
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="comment">// outs() << "empty address cmp?\n";</span></div>
|
|
670
|
+
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="comment">// return;</span></div>
|
|
671
|
+
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="comment">// }</span></div>
|
|
672
|
+
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  assert(!lhs.<a class="code" href="classSVF_1_1AddressValue.html#aa7291f4b74bb824fb38b8c383fa0b6a0">empty</a>() && !rhs.empty() && <span class="stringliteral">"empty address?"</span>);</div>
|
|
673
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keyword">auto</span> predicate = cmp-><a class="code" href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">getPredicate</a>();</div>
|
|
674
|
+
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  <span class="keywordflow">switch</span> (predicate)</div>
|
|
675
|
+
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  {</div>
|
|
676
|
+
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">CmpStmt::ICMP_EQ</a>:</div>
|
|
677
|
+
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">CmpStmt::FCMP_OEQ</a>:</div>
|
|
678
|
+
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">CmpStmt::FCMP_UEQ</a>:</div>
|
|
679
|
+
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  {</div>
|
|
680
|
+
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1 && rhs.size() == 1)</div>
|
|
681
|
+
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  {</div>
|
|
682
|
+
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(lhs.<a class="code" href="classSVF_1_1AddressValue.html#a04456fe47889dd8f1b712255c9598fe9">equals</a>(rhs));</div>
|
|
683
|
+
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span>  }</div>
|
|
684
|
+
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span>  <span class="keywordflow">else</span></div>
|
|
685
|
+
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span>  {</div>
|
|
686
|
+
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#a269a73753a7b495eb08bb0c9c0a58dc0">hasIntersect</a>(rhs))</div>
|
|
687
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  {</div>
|
|
688
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
689
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  }</div>
|
|
690
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="keywordflow">else</span></div>
|
|
691
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  {</div>
|
|
692
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0);</div>
|
|
693
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  }</div>
|
|
694
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  }</div>
|
|
695
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keywordflow">break</span>;</div>
|
|
696
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  }</div>
|
|
697
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">CmpStmt::ICMP_NE</a>:</div>
|
|
698
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">CmpStmt::FCMP_ONE</a>:</div>
|
|
699
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">CmpStmt::FCMP_UNE</a>:</div>
|
|
700
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  {</div>
|
|
701
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1 && rhs.size() == 1)</div>
|
|
702
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  {</div>
|
|
703
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(!lhs.<a class="code" href="classSVF_1_1AddressValue.html#a04456fe47889dd8f1b712255c9598fe9">equals</a>(rhs));</div>
|
|
704
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  }</div>
|
|
705
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <span class="keywordflow">else</span></div>
|
|
706
|
+
<div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  {</div>
|
|
707
|
+
<div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#a269a73753a7b495eb08bb0c9c0a58dc0">hasIntersect</a>(rhs))</div>
|
|
708
|
+
<div class="line"><a name="l00655"></a><span class="lineno"> 655</span>  {</div>
|
|
709
|
+
<div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
710
|
+
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  }</div>
|
|
711
|
+
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">else</span></div>
|
|
712
|
+
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  {</div>
|
|
713
|
+
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
|
|
714
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  }</div>
|
|
715
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  }</div>
|
|
716
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">break</span>;</div>
|
|
717
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  }</div>
|
|
718
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">CmpStmt::ICMP_UGT</a>:</div>
|
|
719
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">CmpStmt::ICMP_SGT</a>:</div>
|
|
720
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">CmpStmt::FCMP_OGT</a>:</div>
|
|
721
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">CmpStmt::FCMP_UGT</a>:</div>
|
|
722
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  {</div>
|
|
723
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1 && rhs.size() == 1)</div>
|
|
724
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  {</div>
|
|
725
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>() > *rhs.begin());</div>
|
|
726
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  }</div>
|
|
727
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keywordflow">else</span></div>
|
|
728
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  {</div>
|
|
729
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
730
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  }</div>
|
|
731
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordflow">break</span>;</div>
|
|
732
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  }</div>
|
|
733
|
+
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">CmpStmt::ICMP_UGE</a>:</div>
|
|
734
|
+
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">CmpStmt::ICMP_SGE</a>:</div>
|
|
735
|
+
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">CmpStmt::FCMP_OGE</a>:</div>
|
|
736
|
+
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">CmpStmt::FCMP_UGE</a>:</div>
|
|
737
|
+
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  {</div>
|
|
738
|
+
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1 && rhs.size() == 1)</div>
|
|
739
|
+
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  {</div>
|
|
740
|
+
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>() >= *rhs.begin());</div>
|
|
741
|
+
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  }</div>
|
|
742
|
+
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  <span class="keywordflow">else</span></div>
|
|
743
|
+
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  {</div>
|
|
744
|
+
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
745
|
+
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  }</div>
|
|
746
|
+
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keywordflow">break</span>;</div>
|
|
747
|
+
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  }</div>
|
|
748
|
+
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">CmpStmt::ICMP_ULT</a>:</div>
|
|
749
|
+
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">CmpStmt::ICMP_SLT</a>:</div>
|
|
750
|
+
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">CmpStmt::FCMP_OLT</a>:</div>
|
|
751
|
+
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">CmpStmt::FCMP_ULT</a>:</div>
|
|
752
|
+
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  {</div>
|
|
753
|
+
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1 && rhs.size() == 1)</div>
|
|
754
|
+
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  {</div>
|
|
755
|
+
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>() < *rhs.begin());</div>
|
|
756
|
+
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  }</div>
|
|
757
|
+
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">else</span></div>
|
|
758
|
+
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  {</div>
|
|
759
|
+
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
760
|
+
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  }</div>
|
|
761
|
+
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="keywordflow">break</span>;</div>
|
|
762
|
+
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  }</div>
|
|
763
|
+
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">CmpStmt::ICMP_ULE</a>:</div>
|
|
764
|
+
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">CmpStmt::ICMP_SLE</a>:</div>
|
|
765
|
+
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">CmpStmt::FCMP_OLE</a>:</div>
|
|
766
|
+
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">CmpStmt::FCMP_ULE</a>:</div>
|
|
768
767
|
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  {</div>
|
|
769
|
-
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span> 
|
|
770
|
-
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span> 
|
|
771
|
-
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span> 
|
|
772
|
-
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span> 
|
|
773
|
-
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span> 
|
|
774
|
-
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span> 
|
|
775
|
-
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span> 
|
|
776
|
-
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span> 
|
|
777
|
-
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span> 
|
|
778
|
-
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span> 
|
|
779
|
-
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span> 
|
|
780
|
-
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span> 
|
|
781
|
-
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span> 
|
|
782
|
-
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span> 
|
|
783
|
-
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span> 
|
|
784
|
-
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span> 
|
|
785
|
-
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  </div>
|
|
786
|
-
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> 
|
|
787
|
-
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span> 
|
|
788
|
-
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span> }</div>
|
|
789
|
-
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span> 
|
|
790
|
-
<div class="line"><a name="l00736"></a><span class="lineno"
|
|
791
|
-
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span> 
|
|
792
|
-
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> 
|
|
793
|
-
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span> 
|
|
794
|
-
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span> 
|
|
795
|
-
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> 
|
|
796
|
-
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span> 
|
|
797
|
-
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span> 
|
|
798
|
-
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">
|
|
768
|
+
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keywordflow">if</span> (lhs.<a class="code" href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">size</a>() == 1 && rhs.size() == 1)</div>
|
|
769
|
+
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  {</div>
|
|
770
|
+
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(*lhs.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>() <= *rhs.begin());</div>
|
|
771
|
+
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  }</div>
|
|
772
|
+
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keywordflow">else</span></div>
|
|
773
|
+
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  {</div>
|
|
774
|
+
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
775
|
+
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  }</div>
|
|
776
|
+
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  <span class="keywordflow">break</span>;</div>
|
|
777
|
+
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  }</div>
|
|
778
|
+
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">CmpStmt::FCMP_FALSE</a>:</div>
|
|
779
|
+
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
780
|
+
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <span class="keywordflow">break</span>;</div>
|
|
781
|
+
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">CmpStmt::FCMP_TRUE</a>:</div>
|
|
782
|
+
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  resVal = <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1, 1);</div>
|
|
783
|
+
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">break</span>;</div>
|
|
784
|
+
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="keywordflow">default</span>:</div>
|
|
785
|
+
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  {</div>
|
|
786
|
+
<div class="line"><a name="l00733"></a><span class="lineno"> 733</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"undefined compare: "</span>);</div>
|
|
787
|
+
<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  }</div>
|
|
788
|
+
<div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  }</div>
|
|
789
|
+
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  _es[res] = resVal;</div>
|
|
790
|
+
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  }</div>
|
|
791
|
+
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span> }</div>
|
|
792
|
+
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  </div>
|
|
793
|
+
<div class="line"><a name="l00740"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68"> 740</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">SVFIR2ItvExeState::translateLoad</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a> *load)</div>
|
|
794
|
+
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span> {</div>
|
|
795
|
+
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = load-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
796
|
+
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = load-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
797
|
+
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">if</span> (inVarToAddrsTable(rhs))</div>
|
|
799
798
|
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  {</div>
|
|
800
|
-
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <
|
|
801
|
-
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span> 
|
|
802
|
-
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span> 
|
|
803
|
-
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span> 
|
|
804
|
-
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span> 
|
|
805
|
-
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span> 
|
|
806
|
-
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span> 
|
|
807
|
-
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span> 
|
|
808
|
-
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span> 
|
|
809
|
-
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span> 
|
|
810
|
-
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span> }</div>
|
|
811
|
-
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  </div>
|
|
812
|
-
<div class="line"><a name="l00758"></a><span class="lineno"
|
|
813
|
-
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span> 
|
|
814
|
-
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span> 
|
|
815
|
-
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> 
|
|
816
|
-
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span> 
|
|
817
|
-
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span> 
|
|
818
|
-
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span> 
|
|
819
|
-
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span> 
|
|
820
|
-
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span> 
|
|
821
|
-
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span> 
|
|
822
|
-
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span> 
|
|
823
|
-
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span> 
|
|
824
|
-
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span> 
|
|
825
|
-
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span> 
|
|
826
|
-
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span> 
|
|
827
|
-
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span> 
|
|
828
|
-
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span> 
|
|
829
|
-
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span> 
|
|
830
|
-
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span> 
|
|
831
|
-
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span> 
|
|
832
|
-
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span> 
|
|
833
|
-
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span> 
|
|
834
|
-
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span> 
|
|
835
|
-
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span> 
|
|
836
|
-
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span> 
|
|
837
|
-
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span> 
|
|
838
|
-
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> 
|
|
839
|
-
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span> 
|
|
840
|
-
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span> 
|
|
841
|
-
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> 
|
|
842
|
-
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> 
|
|
843
|
-
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  </div>
|
|
844
|
-
<div class="line"><a name="l00790"></a><span class="lineno"
|
|
845
|
-
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> {</div>
|
|
846
|
-
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> 
|
|
847
|
-
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span> 
|
|
848
|
-
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span> 
|
|
849
|
-
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span> 
|
|
850
|
-
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span> 
|
|
851
|
-
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span> 
|
|
852
|
-
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span> 
|
|
853
|
-
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span> 
|
|
854
|
-
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span> 
|
|
855
|
-
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span> 
|
|
856
|
-
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span> 
|
|
857
|
-
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span> 
|
|
858
|
-
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span> 
|
|
859
|
-
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span> 
|
|
860
|
-
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span> 
|
|
861
|
-
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span> 
|
|
862
|
-
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span> 
|
|
863
|
-
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span> 
|
|
864
|
-
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span> 
|
|
865
|
-
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span> 
|
|
866
|
-
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span> 
|
|
867
|
-
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> 
|
|
868
|
-
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span> 
|
|
869
|
-
<div class="line"><a name="l00815"></a><span class="lineno"> 815</span> 
|
|
870
|
-
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> 
|
|
871
|
-
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  </div>
|
|
872
|
-
<div class="line"><a name="l00818"></a><span class="lineno"
|
|
873
|
-
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span> 
|
|
874
|
-
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span> 
|
|
875
|
-
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span> 
|
|
876
|
-
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span> 
|
|
877
|
-
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span> 
|
|
878
|
-
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span> 
|
|
879
|
-
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span> 
|
|
880
|
-
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span> 
|
|
881
|
-
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span> 
|
|
882
|
-
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span> 
|
|
883
|
-
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span> 
|
|
884
|
-
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span> 
|
|
885
|
-
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span> 
|
|
886
|
-
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span> 
|
|
887
|
-
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> 
|
|
888
|
-
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span> 
|
|
889
|
-
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> 
|
|
890
|
-
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> 
|
|
891
|
-
<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> 
|
|
892
|
-
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> 
|
|
893
|
-
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> 
|
|
894
|
-
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span> 
|
|
895
|
-
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span> 
|
|
896
|
-
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span> 
|
|
897
|
-
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span> 
|
|
898
|
-
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span> 
|
|
899
|
-
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span> 
|
|
900
|
-
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span> 
|
|
901
|
-
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span> 
|
|
902
|
-
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span> 
|
|
903
|
-
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span> 
|
|
904
|
-
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span> }</div>
|
|
905
|
-
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  </div>
|
|
906
|
-
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span> 
|
|
907
|
-
<div class="line"><a name="l00853"></a><span class="lineno"
|
|
908
|
-
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span> 
|
|
909
|
-
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span> 
|
|
910
|
-
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span> 
|
|
911
|
-
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span> 
|
|
912
|
-
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span> 
|
|
913
|
-
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span> 
|
|
914
|
-
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span> 
|
|
915
|
-
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span> 
|
|
916
|
-
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span> 
|
|
917
|
-
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span> 
|
|
918
|
-
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  _es.getVAddrs(lhs) =
|
|
919
|
-
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span> 
|
|
920
|
-
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span> }</div>
|
|
921
|
-
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> 
|
|
922
|
-
<div class="line"><a name="l00868"></a><span class="lineno"
|
|
923
|
-
<div class="line"><a name="l00869"></a><span class="lineno"> 869</span> 
|
|
924
|
-
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> 
|
|
925
|
-
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <a class="code" href="namespaceSVF.html#
|
|
926
|
-
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <
|
|
927
|
-
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span> 
|
|
928
|
-
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span> 
|
|
929
|
-
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span> 
|
|
930
|
-
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span> 
|
|
931
|
-
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span> 
|
|
932
|
-
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span> 
|
|
933
|
-
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span> 
|
|
934
|
-
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span> 
|
|
935
|
-
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span> 
|
|
799
|
+
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &addrs = getVAddrs(rhs);</div>
|
|
800
|
+
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  assert(!addrs.<a class="code" href="classSVF_1_1AddressValue.html#aa7291f4b74bb824fb38b8c383fa0b6a0">empty</a>());</div>
|
|
801
|
+
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
802
|
+
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  {</div>
|
|
803
|
+
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = getInternalID(addr);</div>
|
|
804
|
+
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <span class="keywordflow">if</span> (inLocToIValTable(objId))</div>
|
|
805
|
+
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  _es[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">IntervalValue::bottom</a>();</div>
|
|
806
|
+
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inLocToAddrsTable(objId))</div>
|
|
807
|
+
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  _es.getVAddrs(lhs).setBottom();</div>
|
|
808
|
+
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">break</span>;</div>
|
|
809
|
+
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  }</div>
|
|
810
|
+
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
811
|
+
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  {</div>
|
|
812
|
+
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = getInternalID(addr);</div>
|
|
813
|
+
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keywordflow">if</span> (inLocToIValTable(objId))</div>
|
|
814
|
+
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  {</div>
|
|
815
|
+
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  <span class="keywordflow">if</span> (!inVarToIValTable(lhs))</div>
|
|
816
|
+
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  {</div>
|
|
817
|
+
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  _es[lhs] = _es.load(addr);</div>
|
|
818
|
+
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  }</div>
|
|
819
|
+
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>  <span class="keywordflow">else</span></div>
|
|
820
|
+
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  {</div>
|
|
821
|
+
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  _es[lhs].join_with(_es.load(addr));</div>
|
|
822
|
+
<div class="line"><a name="l00769"></a><span class="lineno"> 769</span>  }</div>
|
|
823
|
+
<div class="line"><a name="l00770"></a><span class="lineno"> 770</span>  }</div>
|
|
824
|
+
<div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inLocToAddrsTable(objId))</div>
|
|
825
|
+
<div class="line"><a name="l00772"></a><span class="lineno"> 772</span>  {</div>
|
|
826
|
+
<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keywordflow">if</span> (!inVarToAddrsTable(lhs))</div>
|
|
827
|
+
<div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  {</div>
|
|
828
|
+
<div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  _es.getVAddrs(lhs) = _es.loadVAddrs(addr);</div>
|
|
829
|
+
<div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  }</div>
|
|
830
|
+
<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keywordflow">else</span></div>
|
|
831
|
+
<div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  {</div>
|
|
832
|
+
<div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  _es.getVAddrs(lhs).join_with(_es.loadVAddrs(addr));</div>
|
|
833
|
+
<div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  }</div>
|
|
834
|
+
<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  }</div>
|
|
835
|
+
<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  }</div>
|
|
836
|
+
<div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  }</div>
|
|
837
|
+
<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> }</div>
|
|
838
|
+
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  </div>
|
|
839
|
+
<div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5"> 786</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">SVFIR2ItvExeState::translateStore</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a> *store)</div>
|
|
840
|
+
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span> {</div>
|
|
841
|
+
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = store-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
842
|
+
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = store-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
843
|
+
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">if</span> (inVarToAddrsTable(lhs))</div>
|
|
844
|
+
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  {</div>
|
|
845
|
+
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <span class="keywordflow">if</span> (inVarToIValTable(rhs))</div>
|
|
846
|
+
<div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  {</div>
|
|
847
|
+
<div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  assert(!getVAddrs(lhs).empty());</div>
|
|
848
|
+
<div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &addrs = getVAddrs(lhs);</div>
|
|
849
|
+
<div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
850
|
+
<div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  {</div>
|
|
851
|
+
<div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  _es.store(addr, _es[rhs]);</div>
|
|
852
|
+
<div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  }</div>
|
|
853
|
+
<div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  }</div>
|
|
854
|
+
<div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(rhs))</div>
|
|
855
|
+
<div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  {</div>
|
|
856
|
+
<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  assert(!getVAddrs(lhs).empty());</div>
|
|
857
|
+
<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &addrs = getVAddrs(lhs);</div>
|
|
858
|
+
<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &addr: addrs)</div>
|
|
859
|
+
<div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  {</div>
|
|
860
|
+
<div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  assert(!getVAddrs(rhs).empty());</div>
|
|
861
|
+
<div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  _es.storeVAddrs(addr, getVAddrs(rhs));</div>
|
|
862
|
+
<div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  }</div>
|
|
863
|
+
<div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  </div>
|
|
864
|
+
<div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  }</div>
|
|
865
|
+
<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  }</div>
|
|
866
|
+
<div class="line"><a name="l00813"></a><span class="lineno"> 813</span> }</div>
|
|
867
|
+
<div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  </div>
|
|
868
|
+
<div class="line"><a name="l00815"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999"> 815</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">SVFIR2ItvExeState::translateCopy</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CopyStmt.html">CopyStmt</a> *<a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>)</div>
|
|
869
|
+
<div class="line"><a name="l00816"></a><span class="lineno"> 816</span> {</div>
|
|
870
|
+
<div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>->getLHSVarID();</div>
|
|
871
|
+
<div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = <a class="code" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a>->getRHSVarID();</div>
|
|
872
|
+
<div class="line"><a name="l00819"></a><span class="lineno"> 819</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">PAG::getPAG</a>()->isBlkPtr(lhs))</div>
|
|
873
|
+
<div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  {</div>
|
|
874
|
+
<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  _es[lhs] = <a class="code" href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">IntervalValue::top</a>();</div>
|
|
875
|
+
<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  }</div>
|
|
876
|
+
<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="keywordflow">else</span></div>
|
|
877
|
+
<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  {</div>
|
|
878
|
+
<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <span class="keywordflow">if</span> (inVarToIValTable(rhs))</div>
|
|
879
|
+
<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  {</div>
|
|
880
|
+
<div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  _es[lhs] = _es[rhs];</div>
|
|
881
|
+
<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  }</div>
|
|
882
|
+
<div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(rhs))</div>
|
|
883
|
+
<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  {</div>
|
|
884
|
+
<div class="line"><a name="l00831"></a><span class="lineno"> 831</span>  assert(!getVAddrs(rhs).empty());</div>
|
|
885
|
+
<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  _es.getVAddrs(lhs) = getVAddrs(rhs);</div>
|
|
886
|
+
<div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  }</div>
|
|
887
|
+
<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  }</div>
|
|
888
|
+
<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div>
|
|
889
|
+
<div class="line"><a name="l00836"></a><span class="lineno"> 836</span>  </div>
|
|
890
|
+
<div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc"> 837</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">SVFIR2ItvExeState::translateGep</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep)</div>
|
|
891
|
+
<div class="line"><a name="l00838"></a><span class="lineno"> 838</span> {</div>
|
|
892
|
+
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> rhs = gep-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
893
|
+
<div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhs = gep-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
894
|
+
<div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <span class="keywordflow">if</span> (!inVarToAddrsTable(rhs)) <span class="keywordflow">return</span>;</div>
|
|
895
|
+
<div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  assert(!getVAddrs(rhs).empty());</div>
|
|
896
|
+
<div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &rhsVal = getVAddrs(rhs);</div>
|
|
897
|
+
<div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  <span class="keywordflow">if</span> (rhsVal.<a class="code" href="classSVF_1_1AddressValue.html#aa7291f4b74bb824fb38b8c383fa0b6a0">empty</a>()) <span class="keywordflow">return</span>;</div>
|
|
898
|
+
<div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  std::pair<s32_t, s32_t> offsetPair = getGepOffset(gep);</div>
|
|
899
|
+
<div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  <span class="keywordflow">if</span> (offsetPair.first == -1 && offsetPair.second == -1) <span class="keywordflow">return</span>;</div>
|
|
900
|
+
<div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keywordflow">if</span> (!isVirtualMemAddress(*rhsVal.<a class="code" href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">begin</a>()))</div>
|
|
901
|
+
<div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  {</div>
|
|
902
|
+
<div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  <span class="keywordflow">return</span>;</div>
|
|
903
|
+
<div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  }</div>
|
|
904
|
+
<div class="line"><a name="l00851"></a><span class="lineno"> 851</span>  <span class="keywordflow">else</span></div>
|
|
905
|
+
<div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  {</div>
|
|
906
|
+
<div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> gepAddrs;</div>
|
|
907
|
+
<div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> ub = offsetPair.second;</div>
|
|
908
|
+
<div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  <span class="keywordflow">if</span> (offsetPair.second > (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a>) <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1)</div>
|
|
909
|
+
<div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  {</div>
|
|
910
|
+
<div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  ub = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() - 1;</div>
|
|
911
|
+
<div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  }</div>
|
|
912
|
+
<div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">s32_t</a> i = offsetPair.first; i <= ub; i++)</div>
|
|
913
|
+
<div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  {</div>
|
|
914
|
+
<div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  gepAddrs.<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(getGepObjAddress(rhs, i));</div>
|
|
915
|
+
<div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  }</div>
|
|
916
|
+
<div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="keywordflow">if</span>(gepAddrs.<a class="code" href="classSVF_1_1AddressValue.html#aa7291f4b74bb824fb38b8c383fa0b6a0">empty</a>()) <span class="keywordflow">return</span>;</div>
|
|
917
|
+
<div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  _es.getVAddrs(lhs) = gepAddrs;</div>
|
|
918
|
+
<div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keywordflow">return</span>;</div>
|
|
919
|
+
<div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  }</div>
|
|
920
|
+
<div class="line"><a name="l00867"></a><span class="lineno"> 867</span> }</div>
|
|
921
|
+
<div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  </div>
|
|
922
|
+
<div class="line"><a name="l00869"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8"> 869</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">SVFIR2ItvExeState::translateSelect</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SelectStmt.html">SelectStmt</a> *select)</div>
|
|
923
|
+
<div class="line"><a name="l00870"></a><span class="lineno"> 870</span> {</div>
|
|
924
|
+
<div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = select-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
925
|
+
<div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tval = select-><a class="code" href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">getTrueValue</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
926
|
+
<div class="line"><a name="l00873"></a><span class="lineno"> 873</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> fval = select-><a class="code" href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">getFalseValue</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
927
|
+
<div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> cond = select-><a class="code" href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">getCondition</a>()-><a class="code" href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">getId</a>();</div>
|
|
928
|
+
<div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <span class="keywordflow">if</span> (inVarToIValTable(tval) && inVarToIValTable(fval) && inVarToIValTable(cond))</div>
|
|
929
|
+
<div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  {</div>
|
|
930
|
+
<div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="keywordflow">if</span> (_es[cond].is_numeral())</div>
|
|
931
|
+
<div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  {</div>
|
|
932
|
+
<div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  _es[res] = _es[cond].is_zero() ? _es[fval] : _es[tval];</div>
|
|
933
|
+
<div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  }</div>
|
|
934
|
+
<div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keywordflow">else</span></div>
|
|
935
|
+
<div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  {</div>
|
|
936
|
+
<div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  _es[res] = _es[cond];</div>
|
|
937
|
+
<div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  }</div>
|
|
938
|
+
<div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  }</div>
|
|
939
|
+
<div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(tval) && inVarToAddrsTable(fval) && inVarToIValTable(cond))</div>
|
|
940
|
+
<div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  {</div>
|
|
941
|
+
<div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <span class="keywordflow">if</span> (_es[cond].is_numeral())</div>
|
|
942
|
+
<div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  {</div>
|
|
943
|
+
<div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  assert(!getVAddrs(fval).empty());</div>
|
|
944
|
+
<div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  assert(!getVAddrs(tval).empty());</div>
|
|
945
|
+
<div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  _es.getVAddrs(res) = _es[cond].is_zero() ? getVAddrs(fval) : getVAddrs(tval);</div>
|
|
946
|
+
<div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  }</div>
|
|
947
|
+
<div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  }</div>
|
|
948
|
+
<div class="line"><a name="l00895"></a><span class="lineno"> 895</span> }</div>
|
|
949
|
+
<div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  </div>
|
|
950
|
+
<div class="line"><a name="l00897"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e"> 897</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">SVFIR2ItvExeState::translatePhi</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1PhiStmt.html">PhiStmt</a> *phi)</div>
|
|
951
|
+
<div class="line"><a name="l00898"></a><span class="lineno"> 898</span> {</div>
|
|
952
|
+
<div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> res = phi-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">getResID</a>();</div>
|
|
953
|
+
<div class="line"><a name="l00900"></a><span class="lineno"> 900</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < phi-><a class="code" href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">getOpVarNum</a>(); i++)</div>
|
|
954
|
+
<div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  {</div>
|
|
955
|
+
<div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> curId = phi-><a class="code" href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">getOpVarID</a>(i);</div>
|
|
956
|
+
<div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  <span class="keywordflow">if</span> (inVarToIValTable(curId))</div>
|
|
957
|
+
<div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  {</div>
|
|
958
|
+
<div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &cur = _es[curId];</div>
|
|
959
|
+
<div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  <span class="keywordflow">if</span> (!inVarToIValTable(res))</div>
|
|
960
|
+
<div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  {</div>
|
|
961
|
+
<div class="line"><a name="l00908"></a><span class="lineno"> 908</span>  _es[res] = cur;</div>
|
|
962
|
+
<div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  }</div>
|
|
963
|
+
<div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <span class="keywordflow">else</span></div>
|
|
964
|
+
<div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  {</div>
|
|
965
|
+
<div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  _es[res].<a class="code" href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">join_with</a>(cur);</div>
|
|
966
|
+
<div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  }</div>
|
|
967
|
+
<div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  }</div>
|
|
968
|
+
<div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(curId))</div>
|
|
969
|
+
<div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  {</div>
|
|
970
|
+
<div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  assert(!getVAddrs(curId).empty());</div>
|
|
971
|
+
<div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AddressValue.html">VAddrs</a> &cur = getVAddrs(curId);</div>
|
|
972
|
+
<div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keywordflow">if</span> (!inVarToAddrsTable(res))</div>
|
|
973
|
+
<div class="line"><a name="l00920"></a><span class="lineno"> 920</span>  {</div>
|
|
974
|
+
<div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  _es.getVAddrs(res) = cur;</div>
|
|
975
|
+
<div class="line"><a name="l00922"></a><span class="lineno"> 922</span>  }</div>
|
|
976
|
+
<div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keywordflow">else</span></div>
|
|
977
|
+
<div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  {</div>
|
|
978
|
+
<div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  _es.getVAddrs(res).<a class="code" href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">join_with</a>(cur);</div>
|
|
979
|
+
<div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  }</div>
|
|
980
|
+
<div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  }</div>
|
|
981
|
+
<div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  }</div>
|
|
982
|
+
<div class="line"><a name="l00929"></a><span class="lineno"> 929</span> }</div>
|
|
983
|
+
<div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  </div>
|
|
984
|
+
<div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  </div>
|
|
985
|
+
<div class="line"><a name="l00932"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad"> 932</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">SVFIR2ItvExeState::translateCall</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallPE.html">CallPE</a> *callPE)</div>
|
|
986
|
+
<div class="line"><a name="l00933"></a><span class="lineno"> 933</span> {</div>
|
|
987
|
+
<div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = callPE-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
988
|
+
<div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = callPE-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
989
|
+
<div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <span class="keywordflow">if</span> (inVarToIValTable(rhs))</div>
|
|
990
|
+
<div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  {</div>
|
|
991
|
+
<div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  _es[lhs] = _es[rhs];</div>
|
|
992
|
+
<div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  }</div>
|
|
993
|
+
<div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(rhs))</div>
|
|
994
|
+
<div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  {</div>
|
|
995
|
+
<div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  assert(!getVAddrs(rhs).empty());</div>
|
|
996
|
+
<div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  _es.getVAddrs(lhs) = getVAddrs(rhs);</div>
|
|
997
|
+
<div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  }</div>
|
|
998
|
+
<div class="line"><a name="l00945"></a><span class="lineno"> 945</span> }</div>
|
|
999
|
+
<div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  </div>
|
|
1000
|
+
<div class="line"><a name="l00947"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc"> 947</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">SVFIR2ItvExeState::translateRet</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1RetPE.html">RetPE</a> *retPE)</div>
|
|
1001
|
+
<div class="line"><a name="l00948"></a><span class="lineno"> 948</span> {</div>
|
|
1002
|
+
<div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> lhs = retPE-><a class="code" href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">getLHSVarID</a>();</div>
|
|
1003
|
+
<div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> rhs = retPE-><a class="code" href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">getRHSVarID</a>();</div>
|
|
1004
|
+
<div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <span class="keywordflow">if</span> (inVarToIValTable(rhs))</div>
|
|
1005
|
+
<div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  {</div>
|
|
1006
|
+
<div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  _es[lhs] = _es[rhs];</div>
|
|
1007
|
+
<div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  }</div>
|
|
1008
|
+
<div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (inVarToAddrsTable(rhs))</div>
|
|
1009
|
+
<div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  {</div>
|
|
1010
|
+
<div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  assert(!getVAddrs(rhs).empty());</div>
|
|
1011
|
+
<div class="line"><a name="l00958"></a><span class="lineno"> 958</span>  _es.getVAddrs(lhs) = getVAddrs(rhs);</div>
|
|
1012
|
+
<div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  }</div>
|
|
1013
|
+
<div class="line"><a name="l00960"></a><span class="lineno"> 960</span> }</div>
|
|
936
1014
|
</div><!-- fragment --></div><!-- contents -->
|
|
937
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
938
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_adb82778157e0f5e7a2ea4d803bcd07ad"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">SVF::SVFIR2ItvExeState::translateCall</a></div><div class="ttdeci">void translateCall(const CallPE *callPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1015
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acad23a87cb6f2b3b2486a9a1277b491c09">SVF::CmpStmt::FCMP_UNE</a></div><div class="ttdeci">@ FCMP_UNE</div><div class="ttdoc">1 1 1 0 True if unordered or not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00902">SVFStatements.h:902</a></div></div>
|
|
1016
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_adb82778157e0f5e7a2ea4d803bcd07ad"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#adb82778157e0f5e7a2ea4d803bcd07ad">SVF::SVFIR2ItvExeState::translateCall</a></div><div class="ttdeci">void translateCall(const CallPE *callPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00932">SVFIR2ItvExeState.cpp:932</a></div></div>
|
|
939
1017
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cac8c846ff3208d07a4a39c7a21433c6a5">SVF::SVFType::SVFArrayTy</a></div><div class="ttdeci">@ SVFArrayTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00257">SVFType.h:257</a></div></div>
|
|
940
1018
|
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a221061ec858e5c51b222164a6c4f8152"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a221061ec858e5c51b222164a6c4f8152">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">int64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00120">NumericLiteral.h:120</a></div></div>
|
|
941
1019
|
<div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00350">SVFStatements.h:350</a></div></div>
|
|
942
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
943
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
944
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
945
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1020
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6aafa66e75600b0098c4fa3304720cb7a6">SVF::BinaryOPStmt::FRem</a></div><div class="ttdeci">@ FRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00983">SVFStatements.h:983</a></div></div>
|
|
1021
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a22a047e74227056ef3340628fae80198">SVF::BinaryOPStmt::FMul</a></div><div class="ttdeci">@ FMul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00977">SVFStatements.h:977</a></div></div>
|
|
1022
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6af7dba9dda5edcee046ca81fb184858bc">SVF::BinaryOPStmt::URem</a></div><div class="ttdeci">@ URem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00981">SVFStatements.h:981</a></div></div>
|
|
1023
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5e3cf3105b8f13da66719856579956fa">SVF::CmpStmt::FCMP_OLT</a></div><div class="ttdeci">@ FCMP_OLT</div><div class="ttdoc">0 1 0 0 True if ordered and less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00892">SVFStatements.h:892</a></div></div>
|
|
946
1024
|
<div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
|
|
947
|
-
<div class="ttc" id="aclassSVF_1_1PhiStmt_html"><div class="ttname"><a href="classSVF_1_1PhiStmt.html">SVF::PhiStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
948
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1025
|
+
<div class="ttc" id="aclassSVF_1_1PhiStmt_html"><div class="ttname"><a href="classSVF_1_1PhiStmt.html">SVF::PhiStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00747">SVFStatements.h:747</a></div></div>
|
|
1026
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_af64d7855e352a0afb5d2e98a8622a4ad"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#af64d7855e352a0afb5d2e98a8622a4ad">SVF::SelectStmt::getFalseValue</a></div><div class="ttdeci">const SVFVar * getFalseValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00861">SVFStatements.h:861</a></div></div>
|
|
949
1027
|
<div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00332">SVFType.h:332</a></div></div>
|
|
950
1028
|
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a5c6efcc023e90ef2e618586091958c59"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a5c6efcc023e90ef2e618586091958c59">SVF::MultiOpndStmt::getOpVarID</a></div><div class="ttdeci">NodeID getOpVarID(u32_t pos) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00284">SVFStatements.cpp:284</a></div></div>
|
|
951
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a604126e59364cb56b44a88cae5afbfb8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">SVF::SVFIR2ItvExeState::translateSelect</a></div><div class="ttdeci">void translateSelect(const SelectStmt *select)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1029
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a604126e59364cb56b44a88cae5afbfb8"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a604126e59364cb56b44a88cae5afbfb8">SVF::SVFIR2ItvExeState::translateSelect</a></div><div class="ttdeci">void translateSelect(const SelectStmt *select)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00869">SVFIR2ItvExeState.cpp:869</a></div></div>
|
|
952
1030
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_acad5216bdc02a234d57abfe9ae72a12a"><div class="ttname"><a href="classSVF_1_1AddressValue.html#acad5216bdc02a234d57abfe9ae72a12a">SVF::AddressValue::join_with</a></div><div class="ttdeci">bool join_with(const AddressValue &other)</div><div class="ttdoc">Current AddressValue joins with another AddressValue.</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00139">AddressValue.h:139</a></div></div>
|
|
953
1031
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_ae93859318bf4f618b4cf681988a870ce"><div class="ttname"><a href="classSVF_1_1AddressValue.html#ae93859318bf4f618b4cf681988a870ce">SVF::AddressValue::size</a></div><div class="ttdeci">u32_t size() const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00118">AddressValue.h:118</a></div></div>
|
|
954
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
955
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1032
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa100cf99398f6118d332191380574c06">SVF::CmpStmt::FCMP_FALSE</a></div><div class="ttdeci">@ FCMP_FALSE</div><div class="ttdoc">0 0 0 0 Always false (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00888">SVFStatements.h:888</a></div></div>
|
|
1033
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca9dd165c6da06811ffc8c2e53b30ab32d">SVF::CmpStmt::FCMP_OLE</a></div><div class="ttdeci">@ FCMP_OLE</div><div class="ttdoc">0 1 0 1 True if ordered and less than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00893">SVFStatements.h:893</a></div></div>
|
|
956
1034
|
<div class="ttc" id="aclassSVF_1_1ObjVar_html"><div class="ttname"><a href="classSVF_1_1ObjVar.html">SVF::ObjVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00315">SVFVariables.h:315</a></div></div>
|
|
957
1035
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral & lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00218">IntervalValue.h:218</a></div></div>
|
|
958
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1036
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7833b647068883840c9bb438103e736d">SVF::CmpStmt::ICMP_ULT</a></div><div class="ttdeci">@ ICMP_ULT</div><div class="ttdoc">unsigned less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00911">SVFStatements.h:911</a></div></div>
|
|
959
1037
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae2025d3e9d7943027c74ae6bba3fff22">SVF::SVFType::SVFIntegerTy</a></div><div class="ttdeci">@ SVFIntegerTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00254">SVFType.h:254</a></div></div>
|
|
960
1038
|
<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>
|
|
961
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1039
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac89b793572db14a3c018122cf9fc79d6">SVF::BinaryOPStmt::Xor</a></div><div class="ttdeci">@ Xor</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00989">SVFStatements.h:989</a></div></div>
|
|
962
1040
|
<div class="ttc" id="aSVFIR2ItvExeState_8h_html"><div class="ttname"><a href="SVFIR2ItvExeState_8h.html">SVFIR2ItvExeState.h</a></div></div>
|
|
963
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
964
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
965
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af7f42ee51b03b1aaaee18f10eec0c2b9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">SVF::SVFIR2ItvExeState::translateAddr</a></div><div class="ttdeci">void translateAddr(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
966
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html"><div class="ttname"><a href="classSVF_1_1SelectStmt.html">SVF::SelectStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
967
|
-
<div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1041
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a758382a3b40e116175ca321fa4449d7f">SVF::BinaryOPStmt::Sub</a></div><div class="ttdeci">@ Sub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00974">SVFStatements.h:974</a></div></div>
|
|
1042
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3428808abe683bfc6bb0267077cdb128">SVF::CmpStmt::ICMP_UGE</a></div><div class="ttdeci">@ ICMP_UGE</div><div class="ttdoc">unsigned greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00910">SVFStatements.h:910</a></div></div>
|
|
1043
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af7f42ee51b03b1aaaee18f10eec0c2b9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af7f42ee51b03b1aaaee18f10eec0c2b9">SVF::SVFIR2ItvExeState::translateAddr</a></div><div class="ttdeci">void translateAddr(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00471">SVFIR2ItvExeState.cpp:471</a></div></div>
|
|
1044
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html"><div class="ttname"><a href="classSVF_1_1SelectStmt.html">SVF::SelectStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00815">SVFStatements.h:815</a></div></div>
|
|
1045
|
+
<div class="ttc" id="aclassSVF_1_1RetPE_html"><div class="ttname"><a href="classSVF_1_1RetPE.html">SVF::RetPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00604">SVFStatements.h:604</a></div></div>
|
|
968
1046
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_a69895af213955ea1ba29812bfddcea66"><div class="ttname"><a href="classSVF_1_1ExeState.html#a69895af213955ea1ba29812bfddcea66">SVF::ExeState::_varToVAddrs</a></div><div class="ttdeci">VarToVAddrs _varToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00172">ExeState.h:172</a></div></div>
|
|
969
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
970
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
971
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
972
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aac5cc8767eb750bf121f1897788dee24"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">SVF::SVFIR2ItvExeState::translateCmp</a></div><div class="ttdeci">void translateCmp(const CmpStmt *cmp)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
973
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aa274b5b4e18c28ec8035ca1b073aacfc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">SVF::SVFIR2ItvExeState::translateGep</a></div><div class="ttdeci">void translateGep(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1047
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html"><div class="ttname"><a href="classSVF_1_1CmpStmt.html">SVF::CmpStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00870">SVFStatements.h:870</a></div></div>
|
|
1048
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a90745e5effc8b7ef43c693d1e4fa7dbe">SVF::BinaryOPStmt::Or</a></div><div class="ttdeci">@ Or</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00988">SVFStatements.h:988</a></div></div>
|
|
1049
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a193780e40cee5123c543b6f739b3b46b">SVF::BinaryOPStmt::Shl</a></div><div class="ttdeci">@ Shl</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00984">SVFStatements.h:984</a></div></div>
|
|
1050
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aac5cc8767eb750bf121f1897788dee24"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aac5cc8767eb750bf121f1897788dee24">SVF::SVFIR2ItvExeState::translateCmp</a></div><div class="ttdeci">void translateCmp(const CmpStmt *cmp)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00552">SVFIR2ItvExeState.cpp:552</a></div></div>
|
|
1051
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aa274b5b4e18c28ec8035ca1b073aacfc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aa274b5b4e18c28ec8035ca1b073aacfc">SVF::SVFIR2ItvExeState::translateGep</a></div><div class="ttdeci">void translateGep(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00837">SVFIR2ItvExeState.cpp:837</a></div></div>
|
|
974
1052
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
|
|
975
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1053
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca900bbc9c7824294c3a69c2cb006c27ee">SVF::CmpStmt::FCMP_OEQ</a></div><div class="ttdeci">@ FCMP_OEQ</div><div class="ttdoc">0 0 0 1 True if ordered and equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00889">SVFStatements.h:889</a></div></div>
|
|
976
1054
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a198e8d5f586a698462dee2c3fde8c83e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a198e8d5f586a698462dee2c3fde8c83e">SVF::SVFIR2ItvExeState::applySummary</a></div><div class="ttdeci">void applySummary(IntervalExeState &es)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00036">SVFIR2ItvExeState.cpp:36</a></div></div>
|
|
977
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae00e5398cbeb9aa1cfc464da4250a91e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">SVF::SVFIR2ItvExeState::translatePhi</a></div><div class="ttdeci">void translatePhi(const PhiStmt *phi)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1055
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_ae00e5398cbeb9aa1cfc464da4250a91e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#ae00e5398cbeb9aa1cfc464da4250a91e">SVF::SVFIR2ItvExeState::translatePhi</a></div><div class="ttdeci">void translatePhi(const PhiStmt *phi)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00897">SVFIR2ItvExeState.cpp:897</a></div></div>
|
|
978
1056
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a57cbbcc977705ba7cd660bb5b632a66c"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a57cbbcc977705ba7cd660bb5b632a66c">SVF::SVFIR2ItvExeState::widenVAddrs</a></div><div class="ttdeci">void widenVAddrs(IntervalExeState &lhs, const IntervalExeState &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00083">SVFIR2ItvExeState.cpp:83</a></div></div>
|
|
979
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
980
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
981
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1057
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2f8b02de2c62175d3341be92a925250">SVF::BinaryOPStmt::UDiv</a></div><div class="ttdeci">@ UDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00978">SVFStatements.h:978</a></div></div>
|
|
1058
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a553540425a63724c8b7f2fd0ca25b567">SVF::BinaryOPStmt::FDiv</a></div><div class="ttdeci">@ FDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00980">SVFStatements.h:980</a></div></div>
|
|
1059
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6121702881c763c3c8cd3e30dedc7486">SVF::CmpStmt::FCMP_OGT</a></div><div class="ttdeci">@ FCMP_OGT</div><div class="ttdoc">0 0 1 0 True if ordered and greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00890">SVFStatements.h:890</a></div></div>
|
|
982
1060
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
|
|
983
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1061
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca229d105d0841dc895811b29af62a91ee">SVF::CmpStmt::ICMP_SGT</a></div><div class="ttdeci">@ ICMP_SGT</div><div class="ttdoc">signed greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00913">SVFStatements.h:913</a></div></div>
|
|
984
1062
|
<div class="ttc" id="aclassSVF_1_1ExeState_html_adb724bd1c3154368c629f4972c503d72"><div class="ttname"><a href="classSVF_1_1ExeState.html#adb724bd1c3154368c629f4972c503d72">SVF::ExeState::_locToVAddrs</a></div><div class="ttdeci">VarToVAddrs _locToVAddrs</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00173">ExeState.h:173</a></div></div>
|
|
985
1063
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a1a4ff4aaaf2573240a318e1b79328cd0"><div class="ttname"><a href="classSVF_1_1MemObj.html#a1a4ff4aaaf2573240a318e1b79328cd0">SVF::MemObj::isConstDataOrConstGlobal</a></div><div class="ttdeci">bool isConstDataOrConstGlobal() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00525">SymbolTableInfo.cpp:525</a></div></div>
|
|
986
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
987
|
-
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1064
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ac988853383e1588cf568687848e73576">SVF::BinaryOPStmt::AShr</a></div><div class="ttdeci">@ AShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00986">SVFStatements.h:986</a></div></div>
|
|
1065
|
+
<div class="ttc" id="aclassSVF_1_1CallPE_html"><div class="ttname"><a href="classSVF_1_1CallPE.html">SVF::CallPE</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00544">SVFStatements.h:544</a></div></div>
|
|
988
1066
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a584e5b2285a2980fc57cf84b06a76e0c"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a584e5b2285a2980fc57cf84b06a76e0c">SVF::SVFIR2ItvExeState::narrowVAddrs</a></div><div class="ttdeci">void narrowVAddrs(IntervalExeState &lhs, const IntervalExeState &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00121">SVFIR2ItvExeState.cpp:121</a></div></div>
|
|
989
1067
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
990
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1068
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0bf768bb67e7f6f5ee6302bb6dd71da1">SVF::BinaryOPStmt::LShr</a></div><div class="ttdeci">@ LShr</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00985">SVFStatements.h:985</a></div></div>
|
|
991
1069
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a523826aede7ad22736beed0c8223b6b0"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a523826aede7ad22736beed0c8223b6b0">SVF::IntervalValue::is_numeral</a></div><div class="ttdeci">bool is_numeral() const</div><div class="ttdoc">Return true if the IntervalValue is a number [num, num].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00270">IntervalValue.h:270</a></div></div>
|
|
992
1070
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a3c98f0c5f07109f9da0a8a897aa51d18"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">SVF::AccessPath::getElementNum</a></div><div class="ttdeci">u32_t getElementNum(const SVFType *type) const</div><div class="ttdoc">Return element number of a type.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00063">AccessPath.cpp:63</a></div></div>
|
|
993
1071
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_add3acad151d5af6c9a5f692f7a01e65b"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#add3acad151d5af6c9a5f692f7a01e65b">SVF::IntervalValue::top</a></div><div class="ttdeci">static IntervalValue top()</div><div class="ttdoc">Create the IntervalValue [-oo, +oo].</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00083">IntervalValue.h:83</a></div></div>
|
|
994
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8f2a564370d9b9fb05e139c45eeaba68"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">SVF::SVFIR2ItvExeState::translateLoad</a></div><div class="ttdeci">void translateLoad(const LoadStmt *load)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1072
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a8f2a564370d9b9fb05e139c45eeaba68"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a8f2a564370d9b9fb05e139c45eeaba68">SVF::SVFIR2ItvExeState::translateLoad</a></div><div class="ttdeci">void translateLoad(const LoadStmt *load)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00740">SVFIR2ItvExeState.cpp:740</a></div></div>
|
|
995
1073
|
<div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
996
1074
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a24df52313f8093bb651ae9da972cd663"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">SVF::SymbolTableInfo::getFlattenedElemIdx</a></div><div class="ttdeci">u32_t getFlattenedElemIdx(const SVFType *T, u32_t origId)</div><div class="ttdoc">Flattened element idx of an array or struct by considering stride.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00181">SymbolTableInfo.cpp:181</a></div></div>
|
|
997
1075
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a4cec89489e82c60c287cae3327f3f01d"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a4cec89489e82c60c287cae3327f3f01d">SVF::AssignStmt::getRHSVarID</a></div><div class="ttdeci">NodeID getRHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00298">SVFStatements.h:298</a></div></div>
|
|
998
1076
|
<div class="ttc" id="aclassSVF_1_1ValVar_html"><div class="ttname"><a href="classSVF_1_1ValVar.html">SVF::ValVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00262">SVFVariables.h:262</a></div></div>
|
|
999
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1000
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html">SVF::BinaryOPStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1077
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8149cba2e9e265892f02bbd4a35fe6fb">SVF::CmpStmt::FCMP_ULE</a></div><div class="ttdeci">@ FCMP_ULE</div><div class="ttdoc">1 1 0 1 True if unordered, less than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00901">SVFStatements.h:901</a></div></div>
|
|
1078
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html">SVF::BinaryOPStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00956">SVFStatements.h:956</a></div></div>
|
|
1001
1079
|
<div class="ttc" id="aclassSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00386">SVFStatements.h:386</a></div></div>
|
|
1002
1080
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a39dead4fe213e3d02b1613debbc86e71"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a39dead4fe213e3d02b1613debbc86e71">SVF::IntervalExeState::_locToItvVal</a></div><div class="ttdeci">LocToValMap _locToItvVal</div><div class="ttdoc">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00070">IntervalExeState.h:70</a></div></div>
|
|
1003
1081
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00150">SVFValue.h:150</a></div></div>
|
|
1004
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a31e299f91eed29d1a8db3b884d57d1dc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">SVF::SVFIR2ItvExeState::translateRet</a></div><div class="ttdeci">void translateRet(const RetPE *retPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1005
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1082
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a31e299f91eed29d1a8db3b884d57d1dc"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a31e299f91eed29d1a8db3b884d57d1dc">SVF::SVFIR2ItvExeState::translateRet</a></div><div class="ttdeci">void translateRet(const RetPE *retPE)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00947">SVFIR2ItvExeState.cpp:947</a></div></div>
|
|
1083
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca88d74bf66465f4fdd221db0c11d62927">SVF::CmpStmt::ICMP_SLT</a></div><div class="ttdeci">@ ICMP_SLT</div><div class="ttdoc">signed less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00915">SVFStatements.h:915</a></div></div>
|
|
1006
1084
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00113">SVFIR.h:113</a></div></div>
|
|
1007
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a449ee8f244120866037c7f6d2ee5fc13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">SVF::SVFIR2ItvExeState::translateBinary</a></div><div class="ttdeci">void translateBinary(const BinaryOPStmt *binary)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1085
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a449ee8f244120866037c7f6d2ee5fc13"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a449ee8f244120866037c7f6d2ee5fc13">SVF::SVFIR2ItvExeState::translateBinary</a></div><div class="ttdeci">void translateBinary(const BinaryOPStmt *binary)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00490">SVFIR2ItvExeState.cpp:490</a></div></div>
|
|
1008
1086
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a5dc699aa85fe879eb4b2c9109cf3030d"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">SVF::SymbolTableInfo::getTypeInfo</a></div><div class="ttdeci">const StInfo * getTypeInfo(const SVFType *T) const</div><div class="ttdoc">Get struct info.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00056">SymbolTableInfo.cpp:56</a></div></div>
|
|
1009
1087
|
<div class="ttc" id="acJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
1010
1088
|
<div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00242">SVFType.h:242</a></div></div>
|
|
1011
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1089
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaa6b852204a4d0758ebd632d8a88b966d">SVF::CmpStmt::FCMP_ULT</a></div><div class="ttdeci">@ FCMP_ULT</div><div class="ttdoc">1 1 0 0 True if unordered or less than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00900">SVFStatements.h:900</a></div></div>
|
|
1012
1090
|
<div class="ttc" id="aclassSVF_1_1GepStmt_html_a6c74f234a6b40bc5292bb14874c2e600"><div class="ttname"><a href="classSVF_1_1GepStmt.html#a6c74f234a6b40bc5292bb14874c2e600">SVF::GepStmt::getAccessPath</a></div><div class="ttdeci">const AccessPath & getAccessPath() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00490">SVFStatements.h:490</a></div></div>
|
|
1013
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1091
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a97c70ced12e0f1c5e3c3708b13727e8e">SVF::BinaryOPStmt::FAdd</a></div><div class="ttdeci">@ FAdd</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00973">SVFStatements.h:973</a></div></div>
|
|
1014
1092
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a3b417ee79560fd00f4cf80906044c198"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3b417ee79560fd00f4cf80906044c198">SVF::IRGraph::getBlkPtr</a></div><div class="ttdeci">NodeID getBlkPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00170">IRGraph.h:170</a></div></div>
|
|
1015
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1093
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_ad4c3e9529176478bb726279a76050e8c"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#ad4c3e9529176478bb726279a76050e8c">SVF::SelectStmt::getCondition</a></div><div class="ttdeci">const SVFVar * getCondition() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00853">SVFStatements.h:853</a></div></div>
|
|
1016
1094
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ac72e3ae77e06e0dfc7c2edd2bf765d77"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ac72e3ae77e06e0dfc7c2edd2bf765d77">SVF::IntervalExeState::_varToItvVal</a></div><div class="ttdeci">VarToValMap _varToItvVal</div><div class="ttdoc">key: nodeID value: Domain Value</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00068">IntervalExeState.h:68</a></div></div>
|
|
1017
1095
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca01274de074f51be05f2ad6b2d0ca9dd6">SVF::SVFType::SVFFunctionTy</a></div><div class="ttdeci">@ SVFFunctionTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00255">SVFType.h:255</a></div></div>
|
|
1018
|
-
<div class="ttc" id="
|
|
1019
|
-
<div class="ttc" id="
|
|
1096
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a26a8068c25c7bea40b311f120d917cbb"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a26a8068c25c7bea40b311f120d917cbb">SVF::SVFIR2ItvExeState::getBytefromGepTypePair</a></div><div class="ttdeci">std::pair< s32_t, s32_t > getBytefromGepTypePair(const AccessPath::VarAndGepTypePair &gep_pair, const GepStmt *gep, s32_t elem_bytesize)</div><div class="ttdoc">Return the byte offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00176">SVFIR2ItvExeState.cpp:176</a></div></div>
|
|
1097
|
+
<div class="ttc" id="aclassSVF_1_1GepStmt_html_afe5ae814b71b59fc03bd672d62a5fab7"><div class="ttname"><a href="classSVF_1_1GepStmt.html#afe5ae814b71b59fc03bd672d62a5fab7">SVF::GepStmt::getConstantFieldIdx</a></div><div class="ttdeci">APOffset getConstantFieldIdx() const</div><div class="ttdoc">Field index of the gep statement if it access the field of a struct.</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00519">SVFStatements.h:519</a></div></div>
|
|
1098
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca56a20e408f9639234e4a11036764a38f">SVF::CmpStmt::ICMP_ULE</a></div><div class="ttdeci">@ ICMP_ULE</div><div class="ttdoc">unsigned less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00912">SVFStatements.h:912</a></div></div>
|
|
1020
1099
|
<div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00928">SVFValue.h:928</a></div></div>
|
|
1021
1100
|
<div class="ttc" id="aclassSVF_1_1SVFConstantFP_html"><div class="ttname"><a href="classSVF_1_1SVFConstantFP.html">SVF::SVFConstantFP</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00962">SVFValue.h:962</a></div></div>
|
|
1022
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1023
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed2e41879bae8389c49e69356b7aaac5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">SVF::SVFIR2ItvExeState::translateStore</a></div><div class="ttdeci">void translateStore(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1101
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a787e5771d6e70f3cbec3e2a33f5a4e8a">SVF::BinaryOPStmt::Mul</a></div><div class="ttdeci">@ Mul</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00976">SVFStatements.h:976</a></div></div>
|
|
1102
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_aed2e41879bae8389c49e69356b7aaac5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#aed2e41879bae8389c49e69356b7aaac5">SVF::SVFIR2ItvExeState::translateStore</a></div><div class="ttdeci">void translateStore(const StoreStmt *store)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00786">SVFIR2ItvExeState.cpp:786</a></div></div>
|
|
1024
1103
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral & ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
|
|
1025
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6c4dfdb5a6cee8ea3479606b917ef9e9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair< s32_t, s32_t > getGepOffset(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1026
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1104
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a6c4dfdb5a6cee8ea3479606b917ef9e9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a6c4dfdb5a6cee8ea3479606b917ef9e9">SVF::SVFIR2ItvExeState::getGepOffset</a></div><div class="ttdeci">std::pair< s32_t, s32_t > getGepOffset(const GepStmt *gep)</div><div class="ttdoc">Return the offset expression of a GepStmt.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00332">SVFIR2ItvExeState.cpp:332</a></div></div>
|
|
1105
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2793f23e72e3ff432bf193adf0f1b021">SVF::CmpStmt::FCMP_UEQ</a></div><div class="ttdeci">@ FCMP_UEQ</div><div class="ttdoc">1 0 0 1 True if unordered or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00897">SVFStatements.h:897</a></div></div>
|
|
1027
1106
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html">SVF::IntervalExeState</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00055">IntervalExeState.h:55</a></div></div>
|
|
1028
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1029
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1030
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1107
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acafa5a0ab60aff74a8d653c3f9fac04936">SVF::CmpStmt::ICMP_EQ</a></div><div class="ttdeci">@ ICMP_EQ</div><div class="ttdoc">equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00907">SVFStatements.h:907</a></div></div>
|
|
1108
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca2a3ce0c02931984d92d70356efc49193">SVF::CmpStmt::FCMP_ONE</a></div><div class="ttdeci">@ FCMP_ONE</div><div class="ttdoc">0 1 1 0 True if ordered and operands are unequal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00894">SVFStatements.h:894</a></div></div>
|
|
1109
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac0e2d9db5453eb8be7543fb4315003da">SVF::CmpStmt::FCMP_UGE</a></div><div class="ttdeci">@ FCMP_UGE</div><div class="ttdoc">1 0 1 1 True if unordered, greater than, or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00899">SVFStatements.h:899</a></div></div>
|
|
1031
1110
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
1032
1111
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a92b1b163493a74a31d30a261128edd05"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a92b1b163493a74a31d30a261128edd05">SVF::IntervalExeState::globalES</a></div><div class="ttdeci">static IntervalExeState globalES</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00064">IntervalExeState.h:64</a></div></div>
|
|
1033
1112
|
<div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00423">SVFStatements.h:423</a></div></div>
|
|
@@ -1036,7 +1115,7 @@ $(function() {
|
|
|
1036
1115
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_a269a73753a7b495eb08bb0c9c0a58dc0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a269a73753a7b495eb08bb0c9c0a58dc0">SVF::AddressValue::hasIntersect</a></div><div class="ttdeci">bool hasIntersect(const AddressValue &other)</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00175">AddressValue.h:175</a></div></div>
|
|
1037
1116
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a267169023fc4f8dd66b145f7231fec11"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SVF::SymbolTableInfo::SymbolInfo</a></div><div class="ttdeci">static SymbolTableInfo * SymbolInfo()</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00081">SymbolTableInfo.cpp:81</a></div></div>
|
|
1038
1117
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
|
|
1039
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afcf2f81101f1b9580d82b5c2efb83999"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">SVF::SVFIR2ItvExeState::translateCopy</a></div><div class="ttdeci">void translateCopy(const CopyStmt *copy)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1118
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afcf2f81101f1b9580d82b5c2efb83999"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afcf2f81101f1b9580d82b5c2efb83999">SVF::SVFIR2ItvExeState::translateCopy</a></div><div class="ttdeci">void translateCopy(const CopyStmt *copy)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00815">SVFIR2ItvExeState.cpp:815</a></div></div>
|
|
1040
1119
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af80d7665d9815a80ffdba92c3ba029d1"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af80d7665d9815a80ffdba92c3ba029d1">SVF::SVFIR2ItvExeState::moveToGlobal</a></div><div class="ttdeci">void moveToGlobal()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00056">SVFIR2ItvExeState.cpp:56</a></div></div>
|
|
1041
1120
|
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00052">SVFType.h:52</a></div></div>
|
|
1042
1121
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_aa7291f4b74bb824fb38b8c383fa0b6a0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#aa7291f4b74bb824fb38b8c383fa0b6a0">SVF::AddressValue::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00113">AddressValue.h:113</a></div></div>
|
|
@@ -1045,53 +1124,56 @@ $(function() {
|
|
|
1045
1124
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40cae8c18603570fa65fa5a9aabdf2f5d0a1">SVF::SVFType::SVFPointerTy</a></div><div class="ttdeci">@ SVFPointerTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00253">SVFType.h:253</a></div></div>
|
|
1046
1125
|
<div class="ttc" id="aclassSVF_1_1IRGraph_html_a3de9a2a565c303f68a90c32dc59febd5"><div class="ttname"><a href="classSVF_1_1IRGraph.html#a3de9a2a565c303f68a90c32dc59febd5">SVF::IRGraph::getNullPtr</a></div><div class="ttdeci">NodeID getNullPtr() const</div><div class="ttdef"><b>Definition:</b> <a href="IRGraph_8h_source.html#l00174">IRGraph.h:174</a></div></div>
|
|
1047
1126
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_a40c67147606ab95dd3318d0fe821d8c0"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a40c67147606ab95dd3318d0fe821d8c0">SVF::AddressValue::insert</a></div><div class="ttdeci">std::pair< AddressValue::AddrSet::iterator, bool > insert(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00123">AddressValue.h:123</a></div></div>
|
|
1048
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1127
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a05348a0e3f232ac552bb3ca56525c448">SVF::BinaryOPStmt::FSub</a></div><div class="ttdeci">@ FSub</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00975">SVFStatements.h:975</a></div></div>
|
|
1049
1128
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_aa027be2f9243ce4cae799b265b019443"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#aa027be2f9243ce4cae799b265b019443">SVF::IntervalValue::bottom</a></div><div class="ttdeci">static IntervalValue bottom()</div><div class="ttdoc">Create the bottom IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00089">IntervalValue.h:89</a></div></div>
|
|
1050
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1129
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca5c4576ce636e323cbc3aa322480c5d2c">SVF::CmpStmt::FCMP_OGE</a></div><div class="ttdeci">@ FCMP_OGE</div><div class="ttdoc">0 0 1 1 True if ordered and greater than or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00891">SVFStatements.h:891</a></div></div>
|
|
1051
1130
|
<div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
|
|
1052
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1053
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1054
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1131
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca3873c41e060b95cb37eac587402b597c">SVF::CmpStmt::FCMP_UGT</a></div><div class="ttdeci">@ FCMP_UGT</div><div class="ttdoc">1 0 1 0 True if unordered or greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00898">SVFStatements.h:898</a></div></div>
|
|
1132
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6ad2db0456c9943dd75aa091cb19040448">SVF::BinaryOPStmt::SRem</a></div><div class="ttdeci">@ SRem</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00982">SVFStatements.h:982</a></div></div>
|
|
1133
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca6eef834451ec753add639be49c51f03f">SVF::CmpStmt::ICMP_NE</a></div><div class="ttdeci">@ ICMP_NE</div><div class="ttdoc">not equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00908">SVFStatements.h:908</a></div></div>
|
|
1055
1134
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a7f828731597450f1d43b61413ab0e7bb"><div class="ttname"><a href="classSVF_1_1MemObj.html#a7f828731597450f1d43b61413ab0e7bb">SVF::MemObj::isConstantArray</a></div><div class="ttdeci">bool isConstantArray() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00520">SymbolTableInfo.cpp:520</a></div></div>
|
|
1056
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1135
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_aa6a21fb1cfbc263bb38651176c495632"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#aa6a21fb1cfbc263bb38651176c495632">SVF::CmpStmt::getPredicate</a></div><div class="ttdeci">u32_t getPredicate() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00945">SVFStatements.h:945</a></div></div>
|
|
1057
1136
|
<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#l01159">LLVMUtil.cpp:1159</a></div></div>
|
|
1058
1137
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00041">AddressValue.h:41</a></div></div>
|
|
1059
|
-
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1060
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1138
|
+
<div class="ttc" id="aclassSVF_1_1SelectStmt_html_a537c03b08444da34c26b9e989bb0e568"><div class="ttname"><a href="classSVF_1_1SelectStmt.html#a537c03b08444da34c26b9e989bb0e568">SVF::SelectStmt::getTrueValue</a></div><div class="ttdeci">const SVFVar * getTrueValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00857">SVFStatements.h:857</a></div></div>
|
|
1139
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_af5d05c5316127cfe8d975a3a0a23798b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#af5d05c5316127cfe8d975a3a0a23798b">SVF::SVFIR2ItvExeState::initSVFVar</a></div><div class="ttdeci">void initSVFVar(u32_t varId)</div><div class="ttdoc">Init SVFVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00447">SVFIR2ItvExeState.cpp:447</a></div></div>
|
|
1061
1140
|
<div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
|
|
1062
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1141
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_ad0a7c5e87355d7a83176343322db448f"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#ad0a7c5e87355d7a83176343322db448f">SVF::BinaryOPStmt::getOpcode</a></div><div class="ttdeci">u32_t getOpcode() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l01015">SVFStatements.h:1015</a></div></div>
|
|
1063
1142
|
<div class="ttc" id="aclassSVF_1_1ObjVar_html_a6a4feb73b54e602407e35eeb09f55930"><div class="ttname"><a href="classSVF_1_1ObjVar.html#a6a4feb73b54e602407e35eeb09f55930">SVF::ObjVar::getMemObj</a></div><div class="ttdeci">const MemObj * getMemObj() const</div><div class="ttdoc">Return memory object.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00353">SVFVariables.h:353</a></div></div>
|
|
1064
1143
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html"><div class="ttname"><a href="classSVF_1_1SVFIR.html">SVF::SVFIR</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00043">SVFIR.h:43</a></div></div>
|
|
1065
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1144
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a646fa58f61db6abd98d0a04af1fab88d"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a646fa58f61db6abd98d0a04af1fab88d">SVF::SVFIR2ItvExeState::initObjVar</a></div><div class="ttdeci">void initObjVar(const ObjVar *objVar, u32_t varId)</div><div class="ttdoc">Init ObjVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00401">SVFIR2ItvExeState.cpp:401</a></div></div>
|
|
1066
1145
|
<div class="ttc" id="acJSON_8h_html_ac76cea59d438ba893d2f82aabb367d14"><div class="ttname"><a href="cJSON_8h.html#ac76cea59d438ba893d2f82aabb367d14">item</a></div><div class="ttdeci">cJSON * item</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00222">cJSON.h:222</a></div></div>
|
|
1067
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1146
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a7a4ce4e97992d92ac044456e66821552">SVF::BinaryOPStmt::SDiv</a></div><div class="ttdeci">@ SDiv</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00979">SVFStatements.h:979</a></div></div>
|
|
1147
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a33785e2f4181fe48a4092100386440e7"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a33785e2f4181fe48a4092100386440e7">SVF::SVFIR2ItvExeState::getGepByteOffset</a></div><div class="ttdeci">std::pair< s32_t, s32_t > getGepByteOffset(const GepStmt *gep, s32_t elemBytesize)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00304">SVFIR2ItvExeState.cpp:304</a></div></div>
|
|
1068
1148
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a98f731be7be9bc8e7fd09f5c2204c840"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a98f731be7be9bc8e7fd09f5c2204c840">SVF::AssignStmt::getLHSVarID</a></div><div class="ttdeci">NodeID getLHSVarID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00302">SVFStatements.h:302</a></div></div>
|
|
1069
|
-
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1149
|
+
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_af300571886b7aa2d84b0a70851c99bc3"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#af300571886b7aa2d84b0a70851c99bc3">SVF::MultiOpndStmt::getOpVarNum</a></div><div class="ttdeci">u32_t getOpVarNum() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00724">SVFStatements.h:724</a></div></div>
|
|
1070
1150
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a977128211266b93e58e298a7ac29a059"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a977128211266b93e58e298a7ac29a059">SVF::IntervalValue::isTop</a></div><div class="ttdeci">bool isTop() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00055">IntervalValue.h:55</a></div></div>
|
|
1071
1151
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_a1ace69053c2c4436fd78d5624bd0086a"><div class="ttname"><a href="classSVF_1_1SVFVar.html#a1ace69053c2c4436fd78d5624bd0086a">SVF::SVFVar::hasValue</a></div><div class="ttdeci">bool hasValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00112">SVFVariables.h:112</a></div></div>
|
|
1072
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1152
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acaeeae52f8d195815edfb8c85037d246d6">SVF::CmpStmt::ICMP_SLE</a></div><div class="ttdeci">@ ICMP_SLE</div><div class="ttdoc">signed less or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00916">SVFStatements.h:916</a></div></div>
|
|
1073
1153
|
<div class="ttc" id="aclassSVF_1_1Options_html_aaab923c093730b1670a54f09340b1bd5"><div class="ttname"><a href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">SVF::Options::MaxFieldLimit</a></div><div class="ttdeci">static const Option< u32_t > MaxFieldLimit</div><div class="ttdoc">Maximum number of field derivations for an object.</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00038">Options.h:38</a></div></div>
|
|
1074
1154
|
<div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
1075
1155
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ab6f95d3e7e099d75cfc9645ebc037047"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdoc">Return type of the value.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00107">SVFVariables.h:107</a></div></div>
|
|
1076
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1156
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338acac5a87d53b1ad255cec18b3784cd81f80">SVF::CmpStmt::ICMP_SGE</a></div><div class="ttdeci">@ ICMP_SGE</div><div class="ttdoc">signed greater or equal</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00914">SVFStatements.h:914</a></div></div>
|
|
1077
1157
|
<div class="ttc" id="aclassSVF_1_1MultiOpndStmt_html_a71a530eb9fa9f7e273e471b4a75a039e"><div class="ttname"><a href="classSVF_1_1MultiOpndStmt.html#a71a530eb9fa9f7e273e471b4a75a039e">SVF::MultiOpndStmt::getResID</a></div><div class="ttdeci">NodeID getResID() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8cpp_source.html#l00289">SVFStatements.cpp:289</a></div></div>
|
|
1078
1158
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_a04456fe47889dd8f1b712255c9598fe9"><div class="ttname"><a href="classSVF_1_1AddressValue.html#a04456fe47889dd8f1b712255c9598fe9">SVF::AddressValue::equals</a></div><div class="ttdeci">bool equals(const AddressValue &rhs) const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00087">AddressValue.h:87</a></div></div>
|
|
1159
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a841ace0635d388bc1f4d59d6761e4439"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a841ace0635d388bc1f4d59d6761e4439">SVF::SVFIR2ItvExeState::getIndexfromGepTypePair</a></div><div class="ttdeci">std::pair< s32_t, s32_t > getIndexfromGepTypePair(const AccessPath::VarAndGepTypePair &gep_pair, const GepStmt *gep)</div><div class="ttdoc">Return the Index offset from one gep param offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00227">SVFIR2ItvExeState.cpp:227</a></div></div>
|
|
1079
1160
|
<div class="ttc" id="aclassSVF_1_1MemObj_html"><div class="ttname"><a href="classSVF_1_1MemObj.html">SVF::MemObj</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00380">SymbolTableInfo.h:380</a></div></div>
|
|
1080
1161
|
<div class="ttc" id="aclassSVF_1_1SVFConstantInt_html_a73f04bdfc19261b65164b98787bc2ed4"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">SVF::SVFConstantInt::getSExtValue</a></div><div class="ttdeci">s64_t getSExtValue() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00956">SVFValue.h:956</a></div></div>
|
|
1081
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1082
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1162
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca8d59d9d7f39bb9c8b1e3dcebe0c5dc48">SVF::CmpStmt::ICMP_UGT</a></div><div class="ttdeci">@ ICMP_UGT</div><div class="ttdoc">unsigned greater than</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00909">SVFStatements.h:909</a></div></div>
|
|
1163
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a0df258a85e260bcb9534ae1b650e1856">SVF::BinaryOPStmt::And</a></div><div class="ttdeci">@ And</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00987">SVFStatements.h:987</a></div></div>
|
|
1164
|
+
<div class="ttc" id="aclassSVF_1_1AccessPath_html_acefbd7faec2833144b07c5bb96eb6f84"><div class="ttname"><a href="classSVF_1_1AccessPath.html#acefbd7faec2833144b07c5bb96eb6f84">SVF::AccessPath::VarAndGepTypePair</a></div><div class="ttdeci">std::pair< const SVFVar *, const SVFType * > VarAndGepTypePair</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00064">AccessPath.h:64</a></div></div>
|
|
1083
1165
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3771eb932069dcad8212009efc411b99"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3771eb932069dcad8212009efc411b99">SVF::IntervalValue::join_with</a></div><div class="ttdeci">void join_with(const IntervalValue &other)</div><div class="ttdoc">Current IntervalValue joins with another IntervalValue.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00345">IntervalValue.h:345</a></div></div>
|
|
1084
1166
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d"><div class="ttname"><a href="classSVF_1_1SVFType.html#a333e01a9c431c8f53bd2fc597bd5c40ca77e52ad9bebff282f40383f468fe856d">SVF::SVFType::SVFStructTy</a></div><div class="ttdeci">@ SVFStructTy</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00256">SVFType.h:256</a></div></div>
|
|
1085
|
-
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1167
|
+
<div class="ttc" id="aclassSVF_1_1CmpStmt_html_ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7"><div class="ttname"><a href="classSVF_1_1CmpStmt.html#ad8e01744bfd98d584661025ce59338aca7234c9a242034a71d0bdcb54aeec6da7">SVF::CmpStmt::FCMP_TRUE</a></div><div class="ttdeci">@ FCMP_TRUE</div><div class="ttdoc">1 1 1 1 Always true (always folded)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00903">SVFStatements.h:903</a></div></div>
|
|
1086
1168
|
<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>
|
|
1087
1169
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_a55e5fd85f232c1867c5c6a73646d53eb"><div class="ttname"><a href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">SVF::StInfo::getFlattenedElemIdxVec</a></div><div class="ttdeci">std::vector< u32_t > & getFlattenedElemIdxVec()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00184">SVFType.h:184</a></div></div>
|
|
1088
1170
|
<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>
|
|
1089
1171
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_a36e15d9d95908b74fcf321e30a9cdebe"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#a36e15d9d95908b74fcf321e30a9cdebe">SVF::IntervalExeState::getVAddrs</a></div><div class="ttdeci">VAddrs & getVAddrs(u32_t id) override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00154">IntervalExeState.h:154</a></div></div>
|
|
1090
1172
|
<div class="ttc" id="aclassSVF_1_1MemObj_html_a019a77516c403f1f3cc72917b810a41f"><div class="ttname"><a href="classSVF_1_1MemObj.html#a019a77516c403f1f3cc72917b810a41f">SVF::MemObj::isConstantStruct</a></div><div class="ttdeci">bool isConstantStruct() const</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8cpp_source.html#l00515">SymbolTableInfo.cpp:515</a></div></div>
|
|
1091
1173
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a3d135e0c48ec2bbe2fef524405fcb8b0"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a3d135e0c48ec2bbe2fef524405fcb8b0">SVF::SVFIR2ItvExeState::getGepObjAddress</a></div><div class="ttdeci">VAddrs getGepObjAddress(u32_t pointer, s32_t offset)</div><div class="ttdoc">Return the field address given a pointer points to a struct object and an offset.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00155">SVFIR2ItvExeState.cpp:155</a></div></div>
|
|
1092
|
-
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#
|
|
1174
|
+
<div class="ttc" id="aclassSVF_1_1BinaryOPStmt_html_a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862"><div class="ttname"><a href="classSVF_1_1BinaryOPStmt.html#a2f647224242dd87099104e0fdc994de6a06926877b6c25931a409224497753862">SVF::BinaryOPStmt::Add</a></div><div class="ttdeci">@ Add</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00972">SVFStatements.h:972</a></div></div>
|
|
1093
1175
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html_aed0b4789beda4980e4e215a65350f323"><div class="ttname"><a href="classSVF_1_1AddressValue.html#aed0b4789beda4980e4e215a65350f323">SVF::AddressValue::begin</a></div><div class="ttdeci">AddrSet::const_iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00103">AddressValue.h:103</a></div></div>
|
|
1094
|
-
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#
|
|
1176
|
+
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a61d288c8dc621a0578faa5ff784f4b6e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a61d288c8dc621a0578faa5ff784f4b6e">SVF::SVFIR2ItvExeState::initValVar</a></div><div class="ttdeci">void initValVar(const ValVar *valVar, u32_t varId)</div><div class="ttdoc">Init ValVar.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00364">SVFIR2ItvExeState.cpp:364</a></div></div>
|
|
1095
1177
|
<!-- start footer part -->
|
|
1096
1178
|
<hr class="footer"/><address class="footer"><small>
|
|
1097
1179
|
Generated by  <a href="http://www.doxygen.org/index.html">
|