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
|
@@ -177,6 +177,7 @@ typedef llvm::VAStartInst VAStartInst;
|
|
|
177
177
|
typedef llvm::BinaryOperator BinaryOperator;
|
|
178
178
|
typedef llvm::UnaryOperator UnaryOperator;
|
|
179
179
|
typedef llvm::UndefValue UndefValue;
|
|
180
|
+
typedef llvm::GEPOperator GEPOperator;
|
|
180
181
|
|
|
181
182
|
// Related to Switch Case
|
|
182
183
|
typedef std::pair<const BasicBlock*, const ConstantInt*> SuccBBAndCondValPair;
|
|
@@ -126,6 +126,10 @@ static inline Type* getPtrElementType(const PointerType* pty)
|
|
|
126
126
|
#endif
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
/// Infer type based on llvm value, this is for the migration to opaque pointer
|
|
130
|
+
/// please refer to: https://llvm.org/docs/OpaquePointers.html#migration-instructions
|
|
131
|
+
Type *getPointeeType(const Value *value);
|
|
132
|
+
|
|
129
133
|
/// Get the reference type of heap/static object from an allocation site.
|
|
130
134
|
//@{
|
|
131
135
|
inline const PointerType *getRefTypeOfHeapAllocOrStatic(const CallBase* cs)
|
|
@@ -139,6 +143,7 @@ inline const PointerType *getRefTypeOfHeapAllocOrStatic(const CallBase* cs)
|
|
|
139
143
|
int argPos = SVFUtil::getHeapAllocHoldingArgPosition(svfcs);
|
|
140
144
|
const Value* arg = cs->getArgOperand(argPos);
|
|
141
145
|
if (const PointerType *argType = SVFUtil::dyn_cast<PointerType>(arg->getType()))
|
|
146
|
+
// TODO: getPtrElementType need type inference
|
|
142
147
|
refType = SVFUtil::dyn_cast<PointerType>(getPtrElementType(argType));
|
|
143
148
|
}
|
|
144
149
|
// Case 2: heap object held by return value.
|
|
@@ -389,6 +394,7 @@ inline u32_t SVFType2ByteSize(const SVFType* type)
|
|
|
389
394
|
const llvm::Type* llvm_rhs = LLVMModuleSet::getLLVMModuleSet()->getLLVMType(type);
|
|
390
395
|
const llvm::PointerType* llvm_rhs_ptr = SVFUtil::dyn_cast<PointerType>(llvm_rhs);
|
|
391
396
|
assert(llvm_rhs_ptr && "not a pointer type?");
|
|
397
|
+
// TODO: getPtrElementType need type inference
|
|
392
398
|
const Type *ptrElementType = getPtrElementType(llvm_rhs_ptr);
|
|
393
399
|
u32_t llvm_rhs_size = LLVMUtil::getTypeSizeInBytes(ptrElementType);
|
|
394
400
|
u32_t llvm_elem_size = -1;
|
|
@@ -1384,6 +1384,7 @@ SVFType* LLVMModuleSet::addSVFTypeInfo(const Type* T)
|
|
|
1384
1384
|
//cast svftype to SVFPointerType
|
|
1385
1385
|
SVFPointerType* svfPtrType = SVFUtil::dyn_cast<SVFPointerType>(svftype);
|
|
1386
1386
|
assert(svfPtrType && "this is not SVFPointerType");
|
|
1387
|
+
// TODO: getPtrElementType to be removed
|
|
1387
1388
|
svfPtrType->setPtrElementType(getSVFType(LLVMUtil::getPtrElementType(pt)));
|
|
1388
1389
|
}
|
|
1389
1390
|
|
|
@@ -241,6 +241,71 @@ const Value* LLVMUtil::stripConstantCasts(const Value* val)
|
|
|
241
241
|
return val;
|
|
242
242
|
}
|
|
243
243
|
|
|
244
|
+
/// Infer type based on llvm value, this is for the migration to opaque pointer
|
|
245
|
+
/// please refer to: https://llvm.org/docs/OpaquePointers.html#migration-instructions
|
|
246
|
+
Type *LLVMUtil::getPointeeType(const Value *value)
|
|
247
|
+
{
|
|
248
|
+
assert(value && "value cannot be nullptr!");
|
|
249
|
+
if (const LoadInst *loadInst = SVFUtil::dyn_cast<LoadInst>(value))
|
|
250
|
+
{
|
|
251
|
+
// get the pointee type of rhs based on lhs
|
|
252
|
+
// e.g., for `%lhs = load i64, ptr %rhs`, we return i64
|
|
253
|
+
return loadInst->getType();
|
|
254
|
+
}
|
|
255
|
+
else if (const StoreInst *storeInst = SVFUtil::dyn_cast<StoreInst>(value))
|
|
256
|
+
{
|
|
257
|
+
// get the pointee type of op1 based on op0
|
|
258
|
+
// e.g., for `store i64 %op0, ptr %op1`, we return i64
|
|
259
|
+
return storeInst->getValueOperand()->getType();
|
|
260
|
+
}
|
|
261
|
+
else if (const GetElementPtrInst *gepInst = SVFUtil::dyn_cast<GetElementPtrInst>(value))
|
|
262
|
+
{
|
|
263
|
+
// get the source element type of a gep instruction
|
|
264
|
+
// e.g., for `gep %struct.foo, ptr %base, i64 0`, we return struct.foo
|
|
265
|
+
return gepInst->getSourceElementType();
|
|
266
|
+
}
|
|
267
|
+
else if (const GEPOperator* gepOperator = SVFUtil::dyn_cast<GEPOperator>(value))
|
|
268
|
+
{
|
|
269
|
+
// get the source element type of a gep instruction
|
|
270
|
+
// e.g., for `gep %struct.foo, ptr %base, i64 0`, we return struct.foo
|
|
271
|
+
return gepOperator->getSourceElementType();
|
|
272
|
+
}
|
|
273
|
+
else if (const CallInst *callInst = SVFUtil::dyn_cast<CallInst>(value))
|
|
274
|
+
{
|
|
275
|
+
// get the pointee type of return value
|
|
276
|
+
// e.g., for `%call = call ptr @_Znwm(i64 noundef 8)`, we return i64
|
|
277
|
+
return callInst->getFunctionType();
|
|
278
|
+
}
|
|
279
|
+
else if (const CallBase *callBase = SVFUtil::dyn_cast<CallBase>(value))
|
|
280
|
+
{
|
|
281
|
+
// get the pointee type of return value
|
|
282
|
+
// e.g., for `%call = call ptr @_Znwm(i64 noundef 8)`, we return i64
|
|
283
|
+
return callBase->getFunctionType();
|
|
284
|
+
}
|
|
285
|
+
else if (const AllocaInst *allocaInst = SVFUtil::dyn_cast<AllocaInst>(value))
|
|
286
|
+
{
|
|
287
|
+
// get the type of the allocated memory
|
|
288
|
+
// e.g., for `%retval = alloca i64, align 4`, we return i64
|
|
289
|
+
return allocaInst->getAllocatedType();
|
|
290
|
+
}
|
|
291
|
+
else if (const GlobalVariable *globalVar = SVFUtil::dyn_cast<GlobalVariable>(value))
|
|
292
|
+
{
|
|
293
|
+
// get the pointee type of the global pointer
|
|
294
|
+
return globalVar->getValueType();
|
|
295
|
+
}
|
|
296
|
+
else if (const Function* func = SVFUtil::dyn_cast<Function>(value))
|
|
297
|
+
{
|
|
298
|
+
// get the pointee type of return value
|
|
299
|
+
// e.g., for `%call = call ptr @_Znwm(i64 noundef 8)`, we return i64
|
|
300
|
+
return func->getFunctionType();
|
|
301
|
+
}
|
|
302
|
+
else
|
|
303
|
+
{
|
|
304
|
+
assert(false && (LLVMUtil::dumpValue(value) + "Unknown llvm Type, cannot get Ptr Element Type").c_str());
|
|
305
|
+
abort();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
244
309
|
void LLVMUtil::viewCFG(const Function* fun)
|
|
245
310
|
{
|
|
246
311
|
if (fun != nullptr)
|
|
@@ -351,6 +416,7 @@ const Value* LLVMUtil::getFirstUseViaCastInst(const Value* val)
|
|
|
351
416
|
const PointerType * type = SVFUtil::dyn_cast<PointerType>(val->getType());
|
|
352
417
|
assert(type && "this value should be a pointer type!");
|
|
353
418
|
/// If type is void* (i8*) and val is immediately used at a bitcast instruction
|
|
419
|
+
// TODO: getPtrElementType to be removed
|
|
354
420
|
if (IntegerType *IT = SVFUtil::dyn_cast<IntegerType>(getPtrElementType(type)))
|
|
355
421
|
{
|
|
356
422
|
if (IT->getBitWidth() == 8)
|
|
@@ -397,6 +463,7 @@ const Type* LLVMUtil::getTypeOfHeapAlloc(const Instruction *inst)
|
|
|
397
463
|
}
|
|
398
464
|
|
|
399
465
|
assert(type && "not a pointer type?");
|
|
466
|
+
// TODO: getPtrElementType need type inference
|
|
400
467
|
return getPtrElementType(type);
|
|
401
468
|
}
|
|
402
469
|
|
|
@@ -922,6 +989,7 @@ bool LLVMUtil::isLoadVtblInst(const LoadInst* loadInst)
|
|
|
922
989
|
const Type* elemTy = valTy;
|
|
923
990
|
for (u32_t i = 0; i < 3; ++i)
|
|
924
991
|
{
|
|
992
|
+
// TODO: getPtrElementType to be removed
|
|
925
993
|
if (const PointerType* ptrTy = SVFUtil::dyn_cast<PointerType>(elemTy))
|
|
926
994
|
elemTy = LLVMUtil::getPtrElementType(ptrTy);
|
|
927
995
|
else
|
|
@@ -933,6 +1001,7 @@ bool LLVMUtil::isLoadVtblInst(const LoadInst* loadInst)
|
|
|
933
1001
|
std::string className = "";
|
|
934
1002
|
if(const PointerType* ptrTy = SVFUtil::dyn_cast<PointerType>(paramty))
|
|
935
1003
|
{
|
|
1004
|
+
// TODO: getPtrElementType need type inference
|
|
936
1005
|
if(const StructType* st = SVFUtil::dyn_cast<StructType>(getPtrElementType(ptrTy)))
|
|
937
1006
|
className = LLVMUtil::getClassNameFromType(st);
|
|
938
1007
|
}
|
|
@@ -1198,6 +1267,7 @@ std::string LLVMUtil::getClassNameOfThisPtr(const CallBase* inst)
|
|
|
1198
1267
|
{
|
|
1199
1268
|
const Value* thisPtr = LLVMUtil::getVCallThisPtr(inst);
|
|
1200
1269
|
if(const PointerType* ptrTy = SVFUtil::dyn_cast<PointerType>(thisPtr->getType()))
|
|
1270
|
+
// TODO: getPtrElementType need type inference
|
|
1201
1271
|
if(const StructType* st = SVFUtil::dyn_cast<StructType>(getPtrElementType(ptrTy)))
|
|
1202
1272
|
thisPtrClassName = getClassNameFromType(st);
|
|
1203
1273
|
}
|
|
@@ -318,8 +318,10 @@ bool SVFIRBuilder::computeGepOffset(const User *V, AccessPath& ap)
|
|
|
318
318
|
// If it's a non-constant offset access
|
|
319
319
|
// If its point-to target is struct or array, it's likely an array accessing (%result = gep %struct.A* %a, i32 %non-const-index)
|
|
320
320
|
// If its point-to target is single value (pointer arithmetic), then it's a variant gep (%result = gep i8* %p, i32 %non-const-index)
|
|
321
|
-
if(!op && gepTy->isPointerTy() &&
|
|
321
|
+
if(!op && gepTy->isPointerTy() && LLVMUtil::getPointeeType(V)->isSingleValueType())
|
|
322
|
+
{
|
|
322
323
|
isConst = false;
|
|
324
|
+
}
|
|
323
325
|
|
|
324
326
|
// The actual index
|
|
325
327
|
//s32_t idx = op->getSExtValue();
|
|
@@ -237,6 +237,7 @@ void SymbolTableBuilder::collectSVFTypeInfo(const Value* val)
|
|
|
237
237
|
(void)getOrAddSVFTypeInfo(val->getType());
|
|
238
238
|
if (const PointerType * ptrType = SVFUtil::dyn_cast<PointerType>(val->getType()))
|
|
239
239
|
{
|
|
240
|
+
// TODO: getPtrElementType to be removed
|
|
240
241
|
const Type* objtype = LLVMUtil::getPtrElementType(ptrType);
|
|
241
242
|
(void)getOrAddSVFTypeInfo(objtype);
|
|
242
243
|
}
|
|
@@ -575,6 +576,7 @@ void SymbolTableBuilder::handleGlobalInitializerCE(const Constant* C)
|
|
|
575
576
|
*/
|
|
576
577
|
ObjTypeInfo* SymbolTableBuilder::createObjTypeInfo(const Value* val)
|
|
577
578
|
{
|
|
579
|
+
/// TODO: getPtrElementType to be removed
|
|
578
580
|
const PointerType* refTy = nullptr;
|
|
579
581
|
|
|
580
582
|
const Instruction* I = SVFUtil::dyn_cast<Instruction>(val);
|
|
@@ -627,7 +629,8 @@ void SymbolTableBuilder::analyzeObjType(ObjTypeInfo* typeinfo, const Value* val)
|
|
|
627
629
|
|
|
628
630
|
const PointerType* refty = SVFUtil::dyn_cast<PointerType>(val->getType());
|
|
629
631
|
assert(refty && "this value should be a pointer type!");
|
|
630
|
-
|
|
632
|
+
// TODO: getPtrElementType need type inference
|
|
633
|
+
Type *elemTy = getPtrElementType(refty);
|
|
631
634
|
bool isPtrObj = false;
|
|
632
635
|
// Find the inter nested array element
|
|
633
636
|
while (const ArrayType* AT = SVFUtil::dyn_cast<ArrayType>(elemTy))
|