svf-tools 1.0.830 → 1.0.832
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/AccessPath_8cpp_source.html +220 -228
- package/SVF-doxygen/html/AccessPath_8h_source.html +9 -9
- package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DCHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +4 -4
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +7 -7
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +369 -402
- package/SVF-doxygen/html/LLVMUtil_8h.html +3 -10
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +350 -392
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +4 -4
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +358 -362
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +13 -13
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +6 -6
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +13 -13
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +12 -12
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFType_8cpp_source.html +38 -39
- package/SVF-doxygen/html/SVFType_8h_source.html +5 -5
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +199 -199
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +4 -4
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +318 -322
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +33 -33
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +200 -209
- package/SVF-doxygen/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFLAlias.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepObjVar.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IRGraph.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraICFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1LeakChecker.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemObj.html +121 -121
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInfo.html +28 -28
- package/SVF-doxygen/html/classSVF_1_1ObjVar.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +336 -340
- package/SVF-doxygen/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFArrayType.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFFunctionType.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +16 -16
- package/SVF-doxygen/html/classSVF_1_1SVFIntegerType.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1SVFOtherType.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFPointerType.html +2 -4
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1SVFStructType.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SVFValue.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +196 -196
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +103 -107
- package/SVF-doxygen/html/classSVF_1_1TCT.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +526 -669
- package/SVF-doxygen/html/namespacemembers_func_g.html +0 -6
- package/SVF-doxygen/html/namespacemembers_func_i.html +9 -9
- package/SVF-doxygen/html/namespacemembers_g.html +4 -10
- package/SVF-doxygen/html/namespacemembers_i.html +7 -7
- package/SVF-doxygen/html/search/all_10.js +324 -324
- package/SVF-doxygen/html/search/all_11.js +223 -223
- package/SVF-doxygen/html/search/all_12.js +553 -553
- package/SVF-doxygen/html/search/all_13.js +192 -192
- package/SVF-doxygen/html/search/all_14.js +67 -67
- package/SVF-doxygen/html/search/all_15.js +167 -167
- package/SVF-doxygen/html/search/all_16.js +63 -63
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +11 -11
- package/SVF-doxygen/html/search/all_1a.js +172 -172
- package/SVF-doxygen/html/search/all_7.js +246 -248
- package/SVF-doxygen/html/search/all_8.js +198 -198
- package/SVF-doxygen/html/search/all_9.js +607 -607
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +198 -198
- package/SVF-doxygen/html/search/all_e.js +207 -207
- package/SVF-doxygen/html/search/all_f.js +116 -116
- package/SVF-doxygen/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +80 -80
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +34 -34
- package/SVF-doxygen/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +18 -18
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +21 -21
- package/SVF-doxygen/html/search/defines_4.js +2 -2
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +3 -3
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +7 -7
- package/SVF-doxygen/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +3 -3
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +55 -55
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +360 -360
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +139 -139
- package/SVF-doxygen/html/search/functions_12.js +288 -288
- package/SVF-doxygen/html/search/functions_13.js +59 -59
- package/SVF-doxygen/html/search/functions_14.js +39 -39
- package/SVF-doxygen/html/search/functions_15.js +71 -71
- package/SVF-doxygen/html/search/functions_16.js +32 -32
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +172 -172
- package/SVF-doxygen/html/search/functions_2.js +89 -89
- package/SVF-doxygen/html/search/functions_3.js +258 -258
- package/SVF-doxygen/html/search/functions_4.js +78 -78
- package/SVF-doxygen/html/search/functions_5.js +53 -53
- package/SVF-doxygen/html/search/functions_6.js +60 -60
- package/SVF-doxygen/html/search/functions_7.js +855 -857
- package/SVF-doxygen/html/search/functions_8.js +149 -149
- package/SVF-doxygen/html/search/functions_9.js +423 -423
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +79 -79
- package/SVF-doxygen/html/search/functions_e.js +35 -35
- package/SVF-doxygen/html/search/functions_f.js +56 -56
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +26 -26
- package/SVF-doxygen/html/search/typedefs_10.js +61 -61
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +33 -33
- package/SVF-doxygen/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/search/typedefs_6.js +56 -56
- package/SVF-doxygen/html/search/typedefs_7.js +44 -44
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +151 -151
- package/SVF-doxygen/html/search/variables_1.js +75 -75
- package/SVF-doxygen/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/search/variables_11.js +44 -44
- package/SVF-doxygen/html/search/variables_12.js +92 -92
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/search/variables_2.js +38 -38
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +55 -55
- package/SVF-doxygen/html/search/variables_5.js +37 -37
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +30 -30
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
- package/package.json +1 -1
- package/svf/lib/MemoryModel/AccessPath.cpp +3 -12
- package/svf/lib/MemoryModel/PointerAnalysis.cpp +0 -3
- package/svf/lib/SVFIR/SVFType.cpp +1 -2
- package/svf/lib/SVFIR/SymbolTableInfo.cpp +1 -5
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +1 -34
- package/svf-llvm/lib/LLVMUtil.cpp +1 -32
- package/svf-llvm/lib/SymbolTableBuilder.cpp +8 -8
|
@@ -416,26 +416,26 @@ Friends</h2></td></tr>
|
|
|
416
416
|
|
|
417
417
|
<p>Check relations of two location sets. </p>
|
|
418
418
|
|
|
419
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
420
|
-
<div class="fragment"><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="
|
|
419
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00296">296</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
420
|
+
<div class="fragment"><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> {</div>
|
|
421
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> lhsLocations = LHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
|
|
422
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> rhsLocations = RHS.<a class="code" href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">computeAllLocations</a>();</div>
|
|
423
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#a16756e0545fd3d50ab89f45a2e83bb79">intersects</a>(rhsLocations))</div>
|
|
424
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div>
|
|
425
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
|
|
426
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
|
|
427
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (lhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(rhsLocations))</div>
|
|
428
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
|
|
429
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rhsLocations.<a class="code" href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">contains</a>(lhsLocations))</div>
|
|
430
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
|
|
431
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">else</span></div>
|
|
432
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
|
|
433
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</div>
|
|
434
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">else</span></div>
|
|
435
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div>
|
|
436
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
|
|
437
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div>
|
|
438
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> }</div>
|
|
439
439
|
</div><!-- fragment -->
|
|
440
440
|
</div>
|
|
441
441
|
</div>
|
|
@@ -465,12 +465,12 @@ Friends</h2></td></tr>
|
|
|
465
465
|
<p>Compute all possible locations according to offset and number-stride pairs. </p>
|
|
466
466
|
<p>Compute all possible locations according to offset and number-stride pairs. </p>
|
|
467
467
|
|
|
468
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
469
|
-
<div class="fragment"><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="
|
|
468
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00254">254</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
469
|
+
<div class="fragment"><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> {</div>
|
|
470
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
|
|
471
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  result.<a class="code" href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">set</a>(<a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>());</div>
|
|
472
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">return</span> result;</div>
|
|
473
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
|
|
474
474
|
</div><!-- fragment -->
|
|
475
475
|
</div>
|
|
476
476
|
</div>
|
|
@@ -500,45 +500,45 @@ Friends</h2></td></tr>
|
|
|
500
500
|
<p>for (1) structType: struct.DEST structField = 0, flattenIdx = 0, type2: int structField = 1, flattenIdx = 1, type2: char[10] structField = 2, flattenIdx = 11, type2: int[5]</p>
|
|
501
501
|
<p>for (2) i = 0, op: 0, type: [10 x i8]*(Ptr), type2: [10 x i8](Arr) i = 1, op: 8, type: [10 x i8](Arr), type2: i8</p>
|
|
502
502
|
|
|
503
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
504
|
-
<div class="fragment"><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="
|
|
533
|
-
<div class="line"><a name="
|
|
534
|
-
<div class="line"><a name="
|
|
535
|
-
<div class="line"><a name="
|
|
536
|
-
<div class="line"><a name="
|
|
537
|
-
<div class="line"><a name="
|
|
538
|
-
<div class="line"><a name="
|
|
539
|
-
<div class="line"><a name="
|
|
540
|
-
<div class="line"><a name="
|
|
541
|
-
<div class="line"><a name="
|
|
503
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00089">89</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
504
|
+
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> {</div>
|
|
505
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() && <span class="stringliteral">"not a constant offset"</span>);</div>
|
|
506
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  </div>
|
|
507
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
|
|
508
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() - 1; i >= 0; i--)</div>
|
|
509
|
+
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div>
|
|
510
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="comment">// (2) %arrayidx = getelementptr inbounds [10 x i8], [10 x i8]* %b, i64 0, i64 8</span></div>
|
|
511
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].first->getValue();</div>
|
|
512
|
+
<div class="line"><a name="l00106"></a><span class="lineno"> 106</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> = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].second;</div>
|
|
513
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  assert(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> && <span class="stringliteral">"this GepStmt comes from ExternalAPI cannot call this api"</span>);</div>
|
|
514
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* type2 = <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>;</div>
|
|
515
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>* arrType = SVFUtil::dyn_cast<SVFArrayType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
516
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div>
|
|
517
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  type2 = arrType->getTypeOfElement();</div>
|
|
518
|
+
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  }</div>
|
|
519
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
520
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  {</div>
|
|
521
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  type2 = <a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>();</div>
|
|
522
|
+
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  }</div>
|
|
523
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  </div>
|
|
524
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast<SVFConstantInt>(value);</div>
|
|
525
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>* structType = SVFUtil::dyn_cast<SVFStructType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
526
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div>
|
|
527
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> structField = 0; structField < (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>(); ++structField)</div>
|
|
528
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div>
|
|
529
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenIdx = structType->getTypeInfo()->getFlattenedFieldIdxVec()[structField];</div>
|
|
530
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  type2 = structType-><a class="code" href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">getTypeInfo</a>()-><a class="code" href="classSVF_1_1StInfo.html#a055697f565cb9d73b41110090fe50159">getOriginalElemType</a>(flattenIdx);</div>
|
|
531
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  totalConstOffset += type2-><a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
|
|
532
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div>
|
|
533
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  }</div>
|
|
534
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">else</span></div>
|
|
535
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div>
|
|
536
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  totalConstOffset += op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * type2-><a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
|
|
537
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  }</div>
|
|
538
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div>
|
|
539
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  totalConstOffset = <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>() > totalConstOffset? totalConstOffset: <a class="code" href="classSVF_1_1Options.html#aaab923c093730b1670a54f09340b1bd5">Options::MaxFieldLimit</a>();</div>
|
|
540
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> totalConstOffset;</div>
|
|
541
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> }</div>
|
|
542
542
|
</div><!-- fragment -->
|
|
543
543
|
</div>
|
|
544
544
|
</div>
|
|
@@ -562,58 +562,58 @@ Friends</h2></td></tr>
|
|
|
562
562
|
<p>Return accumulated constant offset</p>
|
|
563
563
|
<p>"value" is the offset variable (must be a constant) "type" is the location where we want to compute offset Given a vector: [(value1,type1), (value2,type2), (value3,type3)] totalConstOffset = flattenOffset(value1,type1) * flattenOffset(value2,type2) + flattenOffset(value3,type3) For a pointer type (e.g., t1 is PointerType), we will retrieve the pointee type and times the offset, i.e., getElementNum(t1) X off1 %5 = getelementptr inbounds struct.Student, struct.Student* %4, i64 1 value1: i64 1 type1: struct.Student* computeConstantOffset = 32 %6 = getelementptr inbounds struct.Student, struct.Student* %5, i32 0, i32 1 value1: i32 0 type1: struct.Student* value2: i32 1 type2: struct.Student = type { struct.inner, [10 x [3 x i8]] } computeConstantOffset = 2 %7 = getelementptr inbounds [10 x [3 x i8]], [10 x [3 x i8]]* %6, i64 0, i64 3 value1: i64 0 type1: [10 x [3 x i8]]* value2: i64 3 type2: [10 x [3 x i8]] computeConstantOffset = 9 %8 = getelementptr inbounds [3 x i8], [3 x i8]* %7, i64 0, i64 2 value1: i64 0 type1: [3 x i8]* value2: i64 2 type2: [3 x i8] computeConstantOffset = 2 </p>
|
|
564
564
|
|
|
565
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
566
|
-
<div class="fragment"><div class="line"><a name="
|
|
567
|
-
<div class="line"><a name="
|
|
568
|
-
<div class="line"><a name="
|
|
569
|
-
<div class="line"><a name="
|
|
570
|
-
<div class="line"><a name="
|
|
571
|
-
<div class="line"><a name="
|
|
572
|
-
<div class="line"><a name="
|
|
573
|
-
<div class="line"><a name="
|
|
574
|
-
<div class="line"><a name="
|
|
575
|
-
<div class="line"><a name="
|
|
576
|
-
<div class="line"><a name="
|
|
577
|
-
<div class="line"><a name="
|
|
578
|
-
<div class="line"><a name="
|
|
579
|
-
<div class="line"><a name="
|
|
580
|
-
<div class="line"><a name="
|
|
581
|
-
<div class="line"><a name="
|
|
582
|
-
<div class="line"><a name="
|
|
583
|
-
<div class="line"><a name="
|
|
584
|
-
<div class="line"><a name="
|
|
585
|
-
<div class="line"><a name="
|
|
586
|
-
<div class="line"><a name="
|
|
587
|
-
<div class="line"><a name="
|
|
588
|
-
<div class="line"><a name="
|
|
589
|
-
<div class="line"><a name="
|
|
590
|
-
<div class="line"><a name="
|
|
591
|
-
<div class="line"><a name="
|
|
592
|
-
<div class="line"><a name="
|
|
593
|
-
<div class="line"><a name="
|
|
594
|
-
<div class="line"><a name="
|
|
595
|
-
<div class="line"><a name="
|
|
596
|
-
<div class="line"><a name="
|
|
597
|
-
<div class="line"><a name="
|
|
598
|
-
<div class="line"><a name="
|
|
599
|
-
<div class="line"><a name="
|
|
600
|
-
<div class="line"><a name="
|
|
601
|
-
<div class="line"><a name="
|
|
602
|
-
<div class="line"><a name="
|
|
603
|
-
<div class="line"><a name="
|
|
604
|
-
<div class="line"><a name="
|
|
605
|
-
<div class="line"><a name="
|
|
606
|
-
<div class="line"><a name="
|
|
607
|
-
<div class="line"><a name="
|
|
608
|
-
<div class="line"><a name="
|
|
609
|
-
<div class="line"><a name="
|
|
610
|
-
<div class="line"><a name="
|
|
611
|
-
<div class="line"><a name="
|
|
612
|
-
<div class="line"><a name="
|
|
613
|
-
<div class="line"><a name="
|
|
614
|
-
<div class="line"><a name="
|
|
615
|
-
<div class="line"><a name="
|
|
616
|
-
<div class="line"><a name="
|
|
565
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00199">199</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
566
|
+
<div class="fragment"><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> {</div>
|
|
567
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  </div>
|
|
568
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  assert(<a class="code" href="classSVF_1_1AccessPath.html#a403312192a96a9fd5e7d071481592a7f">isConstantOffset</a>() && <span class="stringliteral">"not a constant offset"</span>);</div>
|
|
569
|
+
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  </div>
|
|
570
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
|
|
571
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="comment">//After the model-const and model-array options are turned on,</span></div>
|
|
572
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="comment">// the gepstmt offset generated by the array on the global</span></div>
|
|
573
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="comment">// node will be saved in getConstantStructFldIdx</span></div>
|
|
574
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() == 0)</div>
|
|
575
|
+
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
|
|
576
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>.size() - 1; i >= 0; i--)</div>
|
|
577
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  {</div>
|
|
578
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* value = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].first->getValue();</div>
|
|
579
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</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> = <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>[i].second;</div>
|
|
580
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a>* op = SVFUtil::dyn_cast<SVFConstantInt>(value);</div>
|
|
581
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  assert(op && <span class="stringliteral">"not a constant offset?"</span>);</div>
|
|
582
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>==<span class="keyword">nullptr</span>)</div>
|
|
583
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div>
|
|
584
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  totalConstOffset += op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
|
|
585
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">continue</span>;</div>
|
|
586
|
+
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div>
|
|
587
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  </div>
|
|
588
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>(SVFUtil::isa<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
589
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  totalConstOffset += op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>() * <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(<a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>);</div>
|
|
590
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">else</span></div>
|
|
591
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  {</div>
|
|
592
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
|
|
593
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> >= 0)</div>
|
|
594
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div>
|
|
595
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keyword">const</span> std::vector<u32_t>& so = <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a5dc699aa85fe879eb4b2c9109cf3030d">getTypeInfo</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>)-><a class="code" href="classSVF_1_1StInfo.html#a55e5fd85f232c1867c5c6a73646d53eb">getFlattenedElemIdxVec</a>();</div>
|
|
596
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="comment">// if offset is larger than the size of getFlattenedElemIdxVec (overflow)</span></div>
|
|
597
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="comment">// set offset the last index of getFlattenedElemIdxVec to avoid assertion</span></div>
|
|
598
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> >= (<a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a>)so.size())</div>
|
|
599
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  {</div>
|
|
600
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"It is overflow access, we access the last idx\n"</span>;</div>
|
|
601
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = so.size() - 1;</div>
|
|
602
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  }</div>
|
|
603
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">else</span></div>
|
|
604
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  {</div>
|
|
605
|
+
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  </div>
|
|
606
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  }</div>
|
|
607
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  </div>
|
|
608
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
|
|
609
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a24df52313f8093bb651ae9da972cd663">getFlattenedElemIdx</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>,</div>
|
|
610
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
|
|
611
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  totalConstOffset += flattenOffset;</div>
|
|
612
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  }</div>
|
|
613
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div>
|
|
614
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  }</div>
|
|
615
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="keywordflow">return</span> totalConstOffset;</div>
|
|
616
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> }</div>
|
|
617
617
|
</div><!-- fragment -->
|
|
618
618
|
</div>
|
|
619
619
|
</div>
|
|
@@ -634,24 +634,24 @@ Friends</h2></td></tr>
|
|
|
634
634
|
|
|
635
635
|
<p>Dump location set. </p>
|
|
636
636
|
|
|
637
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
638
|
-
<div class="fragment"><div class="line"><a name="
|
|
639
|
-
<div class="line"><a name="
|
|
640
|
-
<div class="line"><a name="
|
|
641
|
-
<div class="line"><a name="
|
|
642
|
-
<div class="line"><a name="
|
|
643
|
-
<div class="line"><a name="
|
|
644
|
-
<div class="line"><a name="
|
|
645
|
-
<div class="line"><a name="
|
|
646
|
-
<div class="line"><a name="
|
|
647
|
-
<div class="line"><a name="
|
|
648
|
-
<div class="line"><a name="
|
|
649
|
-
<div class="line"><a name="
|
|
650
|
-
<div class="line"><a name="
|
|
651
|
-
<div class="line"><a name="
|
|
652
|
-
<div class="line"><a name="
|
|
653
|
-
<div class="line"><a name="
|
|
654
|
-
<div class="line"><a name="
|
|
637
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00318">318</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
638
|
+
<div class="fragment"><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> {</div>
|
|
639
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
640
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  std::stringstream rawstr(str);</div>
|
|
641
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  </div>
|
|
642
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  rawstr << <span class="stringliteral">"AccessPath\tField_Index: "</span> << <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
|
|
643
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  rawstr << <span class="stringliteral">",\tNum-Stride: {"</span>;</div>
|
|
644
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>& vec = <a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
|
|
645
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  IdxOperandPairs::const_iterator it = vec.begin();</div>
|
|
646
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  IdxOperandPairs::const_iterator eit = vec.end();</div>
|
|
647
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div>
|
|
648
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  {</div>
|
|
649
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = it->second;</div>
|
|
650
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  rawstr << <span class="stringliteral">" (Svf var: "</span> << it->first-><a class="code" href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">toString</a>() << <span class="stringliteral">", Iter type: "</span> << *ty << <span class="stringliteral">")"</span>;</div>
|
|
651
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div>
|
|
652
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  rawstr << <span class="stringliteral">" }\n"</span>;</div>
|
|
653
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
654
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> }</div>
|
|
655
655
|
</div><!-- fragment -->
|
|
656
656
|
</div>
|
|
657
657
|
</div>
|
|
@@ -734,35 +734,27 @@ Friends</h2></td></tr>
|
|
|
734
734
|
</div><div class="memdoc">
|
|
735
735
|
|
|
736
736
|
<p>Return element number of a type. </p>
|
|
737
|
-
<p>Return element number of a type (1) StructType or Array, return flattened number elements. (2)
|
|
738
|
-
<p>This is a pointer arithmetic</p>
|
|
737
|
+
<p>Return element number of a type (1) StructType or Array, return flattened number elements. (2) non-pointer SingleValueType, return 1 </p>
|
|
739
738
|
|
|
740
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
741
|
-
<div class="fragment"><div class="line"><a name="
|
|
739
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00062">62</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
740
|
+
<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> {</div>
|
|
741
|
+
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  assert(!SVFUtil::isa<SVFPointerType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>) && <span class="stringliteral">"can't be pointer type"</span>);</div>
|
|
742
742
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  </div>
|
|
743
743
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (SVFUtil::isa<SVFArrayType, SVFStructType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
744
744
|
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  {</div>
|
|
745
745
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1SymbolTableInfo.html#a267169023fc4f8dd66b145f7231fec11">SymbolTableInfo::SymbolInfo</a>()-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a811a3489df0f793c7a5482d31d470a4c">getNumOfFlattenElements</a>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>);</div>
|
|
746
746
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div>
|
|
747
|
-
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->isSingleValueType())</div>
|
|
747
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>->isSingleValueType() || SVFUtil::isa<SVFFunctionType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
748
748
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div>
|
|
749
|
-
<div class="line"><a name="
|
|
750
|
-
<div class="line"><a name="
|
|
751
|
-
<div class="line"><a name="
|
|
752
|
-
<div class="line"><a name="
|
|
753
|
-
<div class="line"><a name="
|
|
754
|
-
<div class="line"><a name="
|
|
755
|
-
<div class="line"><a name="
|
|
756
|
-
<div class="line"><a name="
|
|
757
|
-
<div class="line"><a name="
|
|
758
|
-
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  }</div>
|
|
759
|
-
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">else</span></div>
|
|
760
|
-
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div>
|
|
761
|
-
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"GepIter Type"</span> << *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> << <span class="stringliteral">"\n"</span>;</div>
|
|
762
|
-
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"What other types for this gep?"</span>);</div>
|
|
763
|
-
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  abort();</div>
|
|
764
|
-
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div>
|
|
765
|
-
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div>
|
|
749
|
+
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordflow">return</span> 1;</div>
|
|
750
|
+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
|
|
751
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keywordflow">else</span></div>
|
|
752
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  {</div>
|
|
753
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVFUtil::outs</a>() << <span class="stringliteral">"GepIter Type"</span> << *<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> << <span class="stringliteral">"\n"</span>;</div>
|
|
754
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"What other types for this gep?"</span>);</div>
|
|
755
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  abort();</div>
|
|
756
|
+
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  }</div>
|
|
757
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
|
|
766
758
|
</div><!-- fragment -->
|
|
767
759
|
</div>
|
|
768
760
|
</div>
|
|
@@ -825,22 +817,22 @@ Friends</h2></td></tr>
|
|
|
825
817
|
<p>Return byte offset from the beginning of the structure to the field where it is located for struct type. </p>
|
|
826
818
|
<p>Return byte offset from the beginning of the structure to the field where it is located for struct type </p>
|
|
827
819
|
|
|
828
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
829
|
-
<div class="fragment"><div class="line"><a name="
|
|
830
|
-
<div class="line"><a name="
|
|
831
|
-
<div class="line"><a name="
|
|
832
|
-
<div class="line"><a name="
|
|
833
|
-
<div class="line"><a name="
|
|
834
|
-
<div class="line"><a name="
|
|
835
|
-
<div class="line"><a name="
|
|
836
|
-
<div class="line"><a name="
|
|
837
|
-
<div class="line"><a name="
|
|
838
|
-
<div class="line"><a name="
|
|
839
|
-
<div class="line"><a name="
|
|
840
|
-
<div class="line"><a name="
|
|
841
|
-
<div class="line"><a name="
|
|
842
|
-
<div class="line"><a name="
|
|
843
|
-
<div class="line"><a name="
|
|
820
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00154">154</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
821
|
+
<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> {</div>
|
|
822
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* idxValue = idxOperandVar-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>();</div>
|
|
823
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> structByteOffset = 0;</div>
|
|
824
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFConstantInt.html">SVFConstantInt</a> *op = SVFUtil::dyn_cast<SVFConstantInt>(idxValue))</div>
|
|
825
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  {</div>
|
|
826
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> structField = 0; structField < (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>)op->getSExtValue(); ++structField)</div>
|
|
827
|
+
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  {</div>
|
|
828
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenIdx = idxOperandType-><a class="code" href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">getTypeInfo</a>()-><a class="code" href="classSVF_1_1StInfo.html#aaf05447c20c9f90eea64ab6e88d6ab05">getFlattenedFieldIdxVec</a>()[structField];</div>
|
|
829
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  structByteOffset += idxOperandType-><a class="code" href="classSVF_1_1SVFType.html#a05850c17c2dbe42e5602dc8c9a70f3bd">getTypeInfo</a>()-><a class="code" href="classSVF_1_1StInfo.html#a055697f565cb9d73b41110090fe50159">getOriginalElemType</a>(flattenIdx)-><a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
|
|
830
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div>
|
|
831
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> structByteOffset;</div>
|
|
832
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div>
|
|
833
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">else</span></div>
|
|
834
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"struct type can only pair with constant idx"</span>);</div>
|
|
835
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> }</div>
|
|
844
836
|
</div><!-- fragment -->
|
|
845
837
|
</div>
|
|
846
838
|
</div>
|
|
@@ -925,16 +917,16 @@ Friends</h2></td></tr>
|
|
|
925
917
|
|
|
926
918
|
<p>Overload operators. </p>
|
|
927
919
|
|
|
928
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
929
|
-
<div class="fragment"><div class="line"><a name="
|
|
930
|
-
<div class="line"><a name="
|
|
931
|
-
<div class="line"><a name="
|
|
932
|
-
<div class="line"><a name="
|
|
933
|
-
<div class="line"><a name="
|
|
934
|
-
<div class="line"><a name="
|
|
935
|
-
<div class="line"><a name="
|
|
936
|
-
<div class="line"><a name="
|
|
937
|
-
<div class="line"><a name="
|
|
920
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00261">261</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
921
|
+
<div class="fragment"><div class="line"><a name="l00262"></a><span class="lineno"> 262</span> {</div>
|
|
922
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  assert(<a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a> == rhs.<a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>() && <span class="stringliteral">"source element type not match"</span>);</div>
|
|
923
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
|
|
924
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
|
|
925
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getIdxOperandPairVec())</div>
|
|
926
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  ap.addOffsetVarAndGepTypePair(<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.first, <a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a>.second);</div>
|
|
927
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  </div>
|
|
928
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">return</span> ap;</div>
|
|
929
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> }</div>
|
|
938
930
|
</div><!-- fragment -->
|
|
939
931
|
</div>
|
|
940
932
|
</div>
|
|
@@ -954,29 +946,29 @@ Friends</h2></td></tr>
|
|
|
954
946
|
</table>
|
|
955
947
|
</div><div class="memdoc">
|
|
956
948
|
|
|
957
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
958
|
-
<div class="fragment"><div class="line"><a name="
|
|
959
|
-
<div class="line"><a name="
|
|
960
|
-
<div class="line"><a name="
|
|
961
|
-
<div class="line"><a name="
|
|
962
|
-
<div class="line"><a name="
|
|
963
|
-
<div class="line"><a name="
|
|
964
|
-
<div class="line"><a name="
|
|
965
|
-
<div class="line"><a name="
|
|
966
|
-
<div class="line"><a name="
|
|
967
|
-
<div class="line"><a name="
|
|
968
|
-
<div class="line"><a name="
|
|
969
|
-
<div class="line"><a name="
|
|
970
|
-
<div class="line"><a name="
|
|
971
|
-
<div class="line"><a name="
|
|
972
|
-
<div class="line"><a name="
|
|
973
|
-
<div class="line"><a name="
|
|
974
|
-
<div class="line"><a name="
|
|
975
|
-
<div class="line"><a name="
|
|
976
|
-
<div class="line"><a name="
|
|
977
|
-
<div class="line"><a name="
|
|
978
|
-
<div class="line"><a name="
|
|
979
|
-
<div class="line"><a name="
|
|
949
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00272">272</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
950
|
+
<div class="fragment"><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> {</div>
|
|
951
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> != rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>)</div>
|
|
952
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">return</span> (<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a> < rhs.<a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>);</div>
|
|
953
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">else</span></div>
|
|
954
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  {</div>
|
|
955
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>& pairVec = <a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
|
|
956
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a>& rhsPairVec = rhs.<a class="code" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a>();</div>
|
|
957
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
|
|
958
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">return</span> (pairVec.size() < rhsPairVec.size());</div>
|
|
959
|
+
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordflow">else</span></div>
|
|
960
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  {</div>
|
|
961
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  IdxOperandPairs::const_iterator it = pairVec.begin();</div>
|
|
962
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();</div>
|
|
963
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">for</span> (; it != pairVec.end() && rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
|
|
964
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div>
|
|
965
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">return</span> (*it) < (*rhsIt);</div>
|
|
966
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div>
|
|
967
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  </div>
|
|
968
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
969
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div>
|
|
970
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  }</div>
|
|
971
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> }</div>
|
|
980
972
|
</div><!-- fragment -->
|
|
981
973
|
</div>
|
|
982
974
|
</div>
|
|
@@ -1239,13 +1231,12 @@ Friends</h2></td></tr>
|
|
|
1239
1231
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">SVF::AccessPath::Overlap</a></div><div class="ttdeci">@ Overlap</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
|
|
1240
1232
|
<div class="ttc" id="acJSON_8cpp_html_a009ef1d888ab6dbe77e6b42b0b39f1ae"><div class="ttname"><a href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a></div><div class="ttdeci">cJSON * p</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02559">cJSON.cpp:2559</a></div></div>
|
|
1241
1233
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a7b4921dea37246f0f08dffa7db384a61"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">SVF::AccessPath::gepSrcPointeeType</a></div><div class="ttdeci">const SVFType * gepSrcPointeeType() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00112">AccessPath.h:112</a></div></div>
|
|
1242
|
-
<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#l00351">SVFType.h:351</a></div></div>
|
|
1243
1234
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html_a61bd86909a141f9de873d92c0f904832"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a61bd86909a141f9de873d92c0f904832">SVF::SparseBitVector::set</a></div><div class="ttdeci">void set(unsigned Idx)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00747">SparseBitVector.h:747</a></div></div>
|
|
1244
1235
|
<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>
|
|
1245
1236
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html">SVF::SparseBitVector</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00459">SparseBitVector.h:459</a></div></div>
|
|
1246
1237
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a5427d08c9eb9d86e66c2bff6aeba6bac"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">SVF::AccessPath::getConstantStructFldIdx</a></div><div class="ttdeci">APOffset getConstantStructFldIdx() const</div><div class="ttdoc">Get methods.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00100">AccessPath.h:100</a></div></div>
|
|
1247
|
-
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#
|
|
1248
|
-
<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#
|
|
1238
|
+
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a76222b6571e46e8a8bd5c8c597c8ffaf"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a76222b6571e46e8a8bd5c8c597c8ffaf">SVF::AccessPath::computeAllLocations</a></div><div class="ttdeci">NodeBS computeAllLocations() const</div><div class="ttdoc">Compute all possible locations according to offset and number-stride pairs.</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8cpp_source.html#l00254">AccessPath.cpp:254</a></div></div>
|
|
1239
|
+
<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#l00062">AccessPath.cpp:62</a></div></div>
|
|
1249
1240
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a"><div class="ttname"><a href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">SVF::AccessPath::Same</a></div><div class="ttdeci">@ Same</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00061">AccessPath.h:61</a></div></div>
|
|
1250
1241
|
<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>
|
|
1251
1242
|
<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#l00177">SVFValue.h:177</a></div></div>
|