svf-tools 1.0.829 → 1.0.830
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 +225 -224
- package/SVF-doxygen/html/AccessPath_8h_source.html +11 -11
- package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +1 -1
- package/SVF-doxygen/html/BasicTypes_8h.html +2 -0
- package/SVF-doxygen/html/BasicTypes_8h_source.html +123 -121
- 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 +11 -11
- 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 +12 -12
- package/SVF-doxygen/html/DCHG_8h_source.html +5 -5
- 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/ICFGBuilder_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 +145 -144
- package/SVF-doxygen/html/LLVMModule_8h_source.html +3 -3
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +1138 -1066
- package/SVF-doxygen/html/LLVMUtil_8h.html +2 -0
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +419 -414
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAAnnotator_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 +363 -362
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +13 -13
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +7 -7
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +11 -10
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +927 -924
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +35 -34
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +2 -2
- 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 -37
- 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 +653 -651
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +17 -17
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +339 -338
- 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-members.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +236 -235
- 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 +11 -11
- 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 +12 -12
- 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_1ICFGBuilder.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 +141 -140
- 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_1MTAAnnotator.html +1 -1
- 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 +29 -29
- 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 +342 -341
- 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 +6 -6
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +11 -10
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +868 -864
- 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 +3 -2
- 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 +634 -631
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +125 -124
- 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/functions_func_g.html +10 -10
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_g.html +6 -6
- package/SVF-doxygen/html/functions_r.html +2 -2
- package/SVF-doxygen/html/functions_s.html +5 -5
- package/SVF-doxygen/html/functions_t.html +7 -7
- package/SVF-doxygen/html/functions_v.html +3 -1
- package/SVF-doxygen/html/functions_w.html +8 -8
- package/SVF-doxygen/html/namespaceSVF.html +43 -25
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1233 -1138
- package/SVF-doxygen/html/namespacemembers_func_g.html +6 -3
- package/SVF-doxygen/html/namespacemembers_g.html +10 -4
- package/SVF-doxygen/html/namespacemembers_type_g.html +3 -0
- 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 +895 -893
- 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 +857 -856
- 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 -55
- 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/include/MemoryModel/AccessPath.h +2 -2
- package/svf/lib/AbstractExecution/SVFIR2ConsExeState.cpp +2 -2
- package/svf/lib/AbstractExecution/SVFIR2ItvExeState.cpp +4 -4
- package/svf/lib/MemoryModel/AccessPath.cpp +6 -5
- package/svf/lib/MemoryModel/PointerAnalysis.cpp +1 -0
- package/svf/lib/SVFIR/SVFType.cpp +1 -0
- package/svf/lib/SVFIR/SymbolTableInfo.cpp +1 -0
- package/svf-llvm/include/SVF-LLVM/BasicTypes.h +1 -0
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +6 -0
- package/svf-llvm/lib/LLVMModule.cpp +1 -0
- package/svf-llvm/lib/LLVMUtil.cpp +70 -0
- package/svf-llvm/lib/SVFIRBuilder.cpp +3 -1
- package/svf-llvm/lib/SymbolTableBuilder.cpp +4 -1
|
@@ -122,8 +122,8 @@ Public Member Functions</h2></td></tr>
|
|
|
122
122
|
<tr class="separator:ab95df74c97fba13206df48e00131e15f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
123
123
|
<tr class="memitem:a586c71842e3e4487921aa3384ce9d025"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">IdxOperandPairs</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">getIdxOperandPairVec</a> () const</td></tr>
|
|
124
124
|
<tr class="separator:a586c71842e3e4487921aa3384ce9d025"><td class="memSeparator" colspan="2"> </td></tr>
|
|
125
|
-
<tr class="memitem:
|
|
126
|
-
<tr class="separator:
|
|
125
|
+
<tr class="memitem:a7b4921dea37246f0f08dffa7db384a61"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a> () const</td></tr>
|
|
126
|
+
<tr class="separator:a7b4921dea37246f0f08dffa7db384a61"><td class="memSeparator" colspan="2"> </td></tr>
|
|
127
127
|
<tr class="memitem:a43dc770c4458c6ac58c591974b93fc57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#a43dc770c4458c6ac58c591974b93fc57">computeConstantByteOffset</a> () const</td></tr>
|
|
128
128
|
<tr class="separator:a43dc770c4458c6ac58c591974b93fc57"><td class="memSeparator" colspan="2"> </td></tr>
|
|
129
129
|
<tr class="memitem:ae746362c42da05a641ae062658e40651"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1AccessPath.html#ae746362c42da05a641ae062658e40651">computeConstantOffset</a> () const</td></tr>
|
|
@@ -310,7 +310,7 @@ Friends</h2></td></tr>
|
|
|
310
310
|
<p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00071">71</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
|
|
311
311
|
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  : <a class="code" href="classSVF_1_1AccessPath.html#aa1747064a0833855a5848ebf4a4d65fa">fldIdx</a>(ap.fldIdx),</div>
|
|
312
312
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="code" href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">idxOperandPairs</a>(ap.getIdxOperandPairVec()),</div>
|
|
313
|
-
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>(ap.
|
|
313
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>(ap.gepSrcPointeeType())</div>
|
|
314
314
|
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  {</div>
|
|
315
315
|
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  }</div>
|
|
316
316
|
</div><!-- fragment -->
|
|
@@ -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#l00305">305</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
420
|
+
<div class="fragment"><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> {</div>
|
|
421
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</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="l00308"></a><span class="lineno"> 308</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="l00309"></a><span class="lineno"> 309</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="l00310"></a><span class="lineno"> 310</span>  {</div>
|
|
425
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">if</span> (lhsLocations == rhsLocations)</div>
|
|
426
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245ab1ba3a42758473e5ff427ba36147a56a">Same</a>;</div>
|
|
427
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</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="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a52a64f855e6233e88b319cf2f3442f14">Superset</a>;</div>
|
|
429
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</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="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245a45bfb1e14fd39a700dba1243afe022e4">Subset</a>;</div>
|
|
431
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="keywordflow">else</span></div>
|
|
432
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245afbdf7000b827f7d8590e5f0997e0d59a">Overlap</a>;</div>
|
|
433
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  }</div>
|
|
434
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">else</span></div>
|
|
435
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  {</div>
|
|
436
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#aabb6c9600fac408f36b9fde013597245acb3c4a3f685068e391025eb01ebf061d">NonOverlap</a>;</div>
|
|
437
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div>
|
|
438
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</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#l00263">263</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
469
|
+
<div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno"> 264</span> {</div>
|
|
470
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classSVF_1_1SparseBitVector.html">NodeBS</a> result;</div>
|
|
471
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</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="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">return</span> result;</div>
|
|
473
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</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#l00098">98</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
504
|
+
<div class="fragment"><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> {</div>
|
|
505
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</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="l00101"></a><span class="lineno"> 101</span>  </div>
|
|
507
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
|
|
508
|
+
<div class="line"><a name="l00103"></a><span class="lineno"> 103</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="l00104"></a><span class="lineno"> 104</span>  {</div>
|
|
510
|
+
<div class="line"><a name="l00107"></a><span class="lineno"> 107</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="l00108"></a><span class="lineno"> 108</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="l00115"></a><span class="lineno"> 115</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="l00119"></a><span class="lineno"> 119</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="l00120"></a><span class="lineno"> 120</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="l00121"></a><span class="lineno"> 121</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="l00122"></a><span class="lineno"> 122</span>  {</div>
|
|
517
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  type2 = arrType->getTypeOfElement();</div>
|
|
518
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  }</div>
|
|
519
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</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="l00127"></a><span class="lineno"> 127</span>  {</div>
|
|
521
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  type2 = <a class="code" href="classSVF_1_1AccessPath.html#a7b4921dea37246f0f08dffa7db384a61">gepSrcPointeeType</a>();</div>
|
|
522
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  }</div>
|
|
523
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  </div>
|
|
524
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</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="l00134"></a><span class="lineno"> 134</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="l00135"></a><span class="lineno"> 135</span>  {</div>
|
|
527
|
+
<div class="line"><a name="l00140"></a><span class="lineno"> 140</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="l00141"></a><span class="lineno"> 141</span>  {</div>
|
|
529
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenIdx = structType->getTypeInfo()->getFlattenedFieldIdxVec()[structField];</div>
|
|
530
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</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="l00144"></a><span class="lineno"> 144</span>  totalConstOffset += type2-><a class="code" href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">getByteSize</a>();</div>
|
|
532
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div>
|
|
533
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  }</div>
|
|
534
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">else</span></div>
|
|
535
|
+
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  {</div>
|
|
536
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</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="l00152"></a><span class="lineno"> 152</span>  }</div>
|
|
538
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
|
539
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</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="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> totalConstOffset;</div>
|
|
541
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</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#l00208">208</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
566
|
+
<div class="fragment"><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> {</div>
|
|
567
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  </div>
|
|
568
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</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="l00212"></a><span class="lineno"> 212</span>  </div>
|
|
570
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <a class="code" href="namespaceSVF.html#a5c4820681ef340339ddded756eb82ae1">APOffset</a> totalConstOffset = 0;</div>
|
|
571
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="comment">//After the model-const and model-array options are turned on,</span></div>
|
|
572
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <span class="comment">// the gepstmt offset generated by the array on the global</span></div>
|
|
573
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="comment">// node will be saved in getConstantStructFldIdx</span></div>
|
|
574
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</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="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
|
|
576
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</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="l00220"></a><span class="lineno"> 220</span>  {</div>
|
|
578
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</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="l00222"></a><span class="lineno"> 222</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="l00223"></a><span class="lineno"> 223</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="l00224"></a><span class="lineno"> 224</span>  assert(op && <span class="stringliteral">"not a constant offset?"</span>);</div>
|
|
582
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</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="l00226"></a><span class="lineno"> 226</span>  {</div>
|
|
584
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  totalConstOffset += op-><a class="code" href="classSVF_1_1SVFConstantInt.html#a73f04bdfc19261b65164b98787bc2ed4">getSExtValue</a>();</div>
|
|
585
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">continue</span>;</div>
|
|
586
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  }</div>
|
|
587
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  </div>
|
|
588
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</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="l00232"></a><span class="lineno"> 232</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="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">else</span></div>
|
|
591
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  {</div>
|
|
592
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</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="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">if</span> (<a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> >= 0)</div>
|
|
594
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div>
|
|
595
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</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="l00239"></a><span class="lineno"> 239</span>  <span class="comment">// if offset is larger than the size of getFlattenedElemIdxVec (overflow)</span></div>
|
|
597
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="comment">// set offset the last index of getFlattenedElemIdxVec to avoid assertion</span></div>
|
|
598
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</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="l00242"></a><span class="lineno"> 242</span>  {</div>
|
|
600
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</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="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = so.size() - 1;</div>
|
|
602
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div>
|
|
603
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">else</span></div>
|
|
604
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div>
|
|
605
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  </div>
|
|
606
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div>
|
|
607
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  </div>
|
|
608
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> flattenOffset =</div>
|
|
609
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</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="l00253"></a><span class="lineno"> 253</span>  <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>);</div>
|
|
611
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  totalConstOffset += flattenOffset;</div>
|
|
612
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div>
|
|
613
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  }</div>
|
|
614
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  }</div>
|
|
615
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">return</span> totalConstOffset;</div>
|
|
616
|
+
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> }</div>
|
|
617
617
|
</div><!-- fragment -->
|
|
618
618
|
</div>
|
|
619
619
|
</div>
|
|
@@ -634,24 +634,54 @@ 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#l00327">327</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
638
|
+
<div class="fragment"><div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div>
|
|
639
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div>
|
|
640
|
+
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  std::stringstream rawstr(str);</div>
|
|
641
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  </div>
|
|
642
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</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="l00333"></a><span class="lineno"> 333</span>  rawstr << <span class="stringliteral">",\tNum-Stride: {"</span>;</div>
|
|
644
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</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="l00335"></a><span class="lineno"> 335</span>  IdxOperandPairs::const_iterator it = vec.begin();</div>
|
|
646
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  IdxOperandPairs::const_iterator eit = vec.end();</div>
|
|
647
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div>
|
|
648
|
+
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  {</div>
|
|
649
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</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="l00340"></a><span class="lineno"> 340</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="l00341"></a><span class="lineno"> 341</span>  }</div>
|
|
652
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  rawstr << <span class="stringliteral">" }\n"</span>;</div>
|
|
653
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">return</span> rawstr.str();</div>
|
|
654
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> }</div>
|
|
655
|
+
</div><!-- fragment -->
|
|
656
|
+
</div>
|
|
657
|
+
</div>
|
|
658
|
+
<a id="a7b4921dea37246f0f08dffa7db384a61"></a>
|
|
659
|
+
<h2 class="memtitle"><span class="permalink"><a href="#a7b4921dea37246f0f08dffa7db384a61">◆ </a></span>gepSrcPointeeType()</h2>
|
|
660
|
+
|
|
661
|
+
<div class="memitem">
|
|
662
|
+
<div class="memproto">
|
|
663
|
+
<table class="mlabels">
|
|
664
|
+
<tr>
|
|
665
|
+
<td class="mlabels-left">
|
|
666
|
+
<table class="memname">
|
|
667
|
+
<tr>
|
|
668
|
+
<td class="memname">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a>* SVF::AccessPath::gepSrcPointeeType </td>
|
|
669
|
+
<td>(</td>
|
|
670
|
+
<td class="paramname"></td><td>)</td>
|
|
671
|
+
<td> const</td>
|
|
672
|
+
</tr>
|
|
673
|
+
</table>
|
|
674
|
+
</td>
|
|
675
|
+
<td class="mlabels-right">
|
|
676
|
+
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
677
|
+
</tr>
|
|
678
|
+
</table>
|
|
679
|
+
</div><div class="memdoc">
|
|
680
|
+
|
|
681
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00112">112</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
|
|
682
|
+
<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div>
|
|
683
|
+
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>;</div>
|
|
684
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div>
|
|
655
685
|
</div><!-- fragment -->
|
|
656
686
|
</div>
|
|
657
687
|
</div>
|
|
@@ -716,52 +746,23 @@ Friends</h2></td></tr>
|
|
|
716
746
|
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div>
|
|
717
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>
|
|
718
748
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  {</div>
|
|
719
|
-
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="
|
|
720
|
-
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> 
|
|
721
|
-
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 
|
|
722
|
-
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 
|
|
723
|
-
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> 
|
|
724
|
-
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 
|
|
725
|
-
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> 
|
|
726
|
-
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> 
|
|
727
|
-
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> 
|
|
728
|
-
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 
|
|
729
|
-
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> 
|
|
730
|
-
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 
|
|
731
|
-
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 
|
|
732
|
-
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> 
|
|
733
|
-
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 
|
|
734
|
-
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> }</div>
|
|
735
|
-
|
|
736
|
-
</div>
|
|
737
|
-
</div>
|
|
738
|
-
<a id="a8e0c5f7549c3b6a7808caacd57bf2035"></a>
|
|
739
|
-
<h2 class="memtitle"><span class="permalink"><a href="#a8e0c5f7549c3b6a7808caacd57bf2035">◆ </a></span>getGepPointeeType()</h2>
|
|
740
|
-
|
|
741
|
-
<div class="memitem">
|
|
742
|
-
<div class="memproto">
|
|
743
|
-
<table class="mlabels">
|
|
744
|
-
<tr>
|
|
745
|
-
<td class="mlabels-left">
|
|
746
|
-
<table class="memname">
|
|
747
|
-
<tr>
|
|
748
|
-
<td class="memname">const <a class="el" href="classSVF_1_1SVFType.html">SVFType</a>* SVF::AccessPath::getGepPointeeType </td>
|
|
749
|
-
<td>(</td>
|
|
750
|
-
<td class="paramname"></td><td>)</td>
|
|
751
|
-
<td> const</td>
|
|
752
|
-
</tr>
|
|
753
|
-
</table>
|
|
754
|
-
</td>
|
|
755
|
-
<td class="mlabels-right">
|
|
756
|
-
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
|
757
|
-
</tr>
|
|
758
|
-
</table>
|
|
759
|
-
</div><div class="memdoc">
|
|
760
|
-
|
|
761
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8h_source.html#l00112">112</a> of file <a class="el" href="AccessPath_8h_source.html">AccessPath.h</a>.</p>
|
|
762
|
-
<div class="fragment"><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  {</div>
|
|
763
|
-
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">gepPointeeType</a>;</div>
|
|
764
|
-
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  }</div>
|
|
749
|
+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// TODO: getPtrElementType to be removed</span></div>
|
|
750
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</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>
|
|
751
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1AccessPath.html#a3c98f0c5f07109f9da0a8a897aa51d18">getElementNum</a>(pty->getPtrElementType());</div>
|
|
752
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">else</span></div>
|
|
753
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">return</span> 1;</div>
|
|
754
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
|
755
|
+
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<SVFFunctionType>(<a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a>))</div>
|
|
756
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  {</div>
|
|
757
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordflow">return</span> 1;</div>
|
|
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>
|
|
765
766
|
</div><!-- fragment -->
|
|
766
767
|
</div>
|
|
767
768
|
</div>
|
|
@@ -824,22 +825,22 @@ Friends</h2></td></tr>
|
|
|
824
825
|
<p>Return byte offset from the beginning of the structure to the field where it is located for struct type. </p>
|
|
825
826
|
<p>Return byte offset from the beginning of the structure to the field where it is located for struct type </p>
|
|
826
827
|
|
|
827
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
828
|
-
<div class="fragment"><div class="line"><a name="
|
|
829
|
-
<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="
|
|
828
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00163">163</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
829
|
+
<div class="fragment"><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> {</div>
|
|
830
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</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>
|
|
831
|
+
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> structByteOffset = 0;</div>
|
|
832
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</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>
|
|
833
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div>
|
|
834
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</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>
|
|
835
|
+
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  {</div>
|
|
836
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</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>
|
|
837
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</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>
|
|
838
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  }</div>
|
|
839
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordflow">return</span> structByteOffset;</div>
|
|
840
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div>
|
|
841
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">else</span></div>
|
|
842
|
+
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"struct type can only pair with constant idx"</span>);</div>
|
|
843
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> }</div>
|
|
843
844
|
</div><!-- fragment -->
|
|
844
845
|
</div>
|
|
845
846
|
</div>
|
|
@@ -924,16 +925,16 @@ Friends</h2></td></tr>
|
|
|
924
925
|
|
|
925
926
|
<p>Overload operators. </p>
|
|
926
927
|
|
|
927
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
928
|
-
<div class="fragment"><div class="line"><a name="
|
|
929
|
-
<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="
|
|
928
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00270">270</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
929
|
+
<div class="fragment"><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> {</div>
|
|
930
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</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>
|
|
931
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="classSVF_1_1AccessPath.html">AccessPath</a> ap(rhs);</div>
|
|
932
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  ap.fldIdx += <a class="code" href="classSVF_1_1AccessPath.html#a5427d08c9eb9d86e66c2bff6aeba6bac">getConstantStructFldIdx</a>();</div>
|
|
933
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> &<a class="code" href="cJSON_8cpp.html#a009ef1d888ab6dbe77e6b42b0b39f1ae">p</a> : ap.getIdxOperandPairVec())</div>
|
|
934
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</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>
|
|
935
|
+
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  </div>
|
|
936
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">return</span> ap;</div>
|
|
937
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span> }</div>
|
|
937
938
|
</div><!-- fragment -->
|
|
938
939
|
</div>
|
|
939
940
|
</div>
|
|
@@ -953,29 +954,29 @@ Friends</h2></td></tr>
|
|
|
953
954
|
</table>
|
|
954
955
|
</div><div class="memdoc">
|
|
955
956
|
|
|
956
|
-
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#
|
|
957
|
-
<div class="fragment"><div class="line"><a name="
|
|
958
|
-
<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="
|
|
957
|
+
<p class="definition">Definition at line <a class="el" href="AccessPath_8cpp_source.html#l00281">281</a> of file <a class="el" href="AccessPath_8cpp_source.html">AccessPath.cpp</a>.</p>
|
|
958
|
+
<div class="fragment"><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> {</div>
|
|
959
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</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>
|
|
960
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</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>
|
|
961
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">else</span></div>
|
|
962
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div>
|
|
963
|
+
<div class="line"><a name="l00287"></a><span class="lineno"> 287</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>
|
|
964
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</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>
|
|
965
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">if</span> (pairVec.size() != rhsPairVec.size())</div>
|
|
966
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> (pairVec.size() < rhsPairVec.size());</div>
|
|
967
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">else</span></div>
|
|
968
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div>
|
|
969
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  IdxOperandPairs::const_iterator it = pairVec.begin();</div>
|
|
970
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  IdxOperandPairs::const_iterator rhsIt = rhsPairVec.begin();</div>
|
|
971
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">for</span> (; it != pairVec.end() && rhsIt != rhsPairVec.end(); ++it, ++rhsIt)</div>
|
|
972
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  {</div>
|
|
973
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> (*it) < (*rhsIt);</div>
|
|
974
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  }</div>
|
|
975
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  </div>
|
|
976
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
|
977
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  }</div>
|
|
978
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div>
|
|
979
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div>
|
|
979
980
|
</div><!-- fragment -->
|
|
980
981
|
</div>
|
|
981
982
|
</div>
|
|
@@ -1237,12 +1238,13 @@ Friends</h2></td></tr>
|
|
|
1237
1238
|
<div class="ttc" id="aclassSVF_1_1SparseBitVector_html_abbd0e0cf759fad7858224ed8a63aade8"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abbd0e0cf759fad7858224ed8a63aade8">SVF::SparseBitVector::contains</a></div><div class="ttdeci">bool contains(const SparseBitVector< ElementSize > &RHS) const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01073">SparseBitVector.h:1073</a></div></div>
|
|
1238
1239
|
<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>
|
|
1239
1240
|
<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
|
+
<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>
|
|
1240
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>
|
|
1241
1243
|
<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>
|
|
1242
1244
|
<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>
|
|
1243
1245
|
<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>
|
|
1244
1246
|
<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>
|
|
1245
|
-
<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#
|
|
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#l00263">AccessPath.cpp:263</a></div></div>
|
|
1246
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#l00063">AccessPath.cpp:63</a></div></div>
|
|
1247
1249
|
<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>
|
|
1248
1250
|
<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>
|
|
@@ -1259,7 +1261,6 @@ Friends</h2></td></tr>
|
|
|
1259
1261
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a1d75baf851ba9982ac0861c850929985"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a1d75baf851ba9982ac0861c850929985">SVF::AccessPath::gepPointeeType</a></div><div class="ttdeci">const SVFType * gepPointeeType</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00176">AccessPath.h:176</a></div></div>
|
|
1260
1262
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a9035ac13134de4647d63507cd80ca3d6"><div class="ttname"><a href="classSVF_1_1SVFType.html#a9035ac13134de4647d63507cd80ca3d6">SVF::SVFType::toString</a></div><div class="ttdeci">std::string toString() const</div></div>
|
|
1261
1263
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a04ca154a70f40999a6a28c505bfd942d"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a04ca154a70f40999a6a28c505bfd942d">SVF::AccessPath::IdxOperandPairs</a></div><div class="ttdeci">std::vector< IdxOperandPair > IdxOperandPairs</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00065">AccessPath.h:65</a></div></div>
|
|
1262
|
-
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a8e0c5f7549c3b6a7808caacd57bf2035"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a8e0c5f7549c3b6a7808caacd57bf2035">SVF::AccessPath::getGepPointeeType</a></div><div class="ttdeci">const SVFType * getGepPointeeType() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00112">AccessPath.h:112</a></div></div>
|
|
1263
1264
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a47855e8ab3bba692f443903b58618229"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a47855e8ab3bba692f443903b58618229">SVF::AccessPath::idxOperandPairs</a></div><div class="ttdeci">IdxOperandPairs idxOperandPairs</div><div class="ttdoc">a vector of actual offset in the form of <SVF Var, iterator type></div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00175">AccessPath.h:175</a></div></div>
|
|
1264
1265
|
<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>
|
|
1265
1266
|
<div class="ttc" id="aclassSVF_1_1AccessPath_html_a586c71842e3e4487921aa3384ce9d025"><div class="ttname"><a href="classSVF_1_1AccessPath.html#a586c71842e3e4487921aa3384ce9d025">SVF::AccessPath::getIdxOperandPairVec</a></div><div class="ttdeci">const IdxOperandPairs & getIdxOperandPairVec() const</div><div class="ttdef"><b>Definition:</b> <a href="AccessPath_8h_source.html#l00108">AccessPath.h:108</a></div></div>
|