svf-tools 1.0.896 → 1.0.898
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/AbstractExecution_8cpp.html +1 -1
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1638 -1659
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +49 -49
- package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8h_source.html +2 -2
- package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
- package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
- package/SVF-doxygen/html/Andersen_8h_source.html +3 -3
- package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +59 -43
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +29 -28
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CDG_8h_source.html +2 -2
- package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/CFGrammar_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFGrammar_8h_source.html +3 -3
- package/SVF-doxygen/html/CFLAlias_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/ConditionalPT_8h_source.html +3 -3
- package/SVF-doxygen/html/ConsExeState_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ConsExeState_8h_source.html +3 -3
- package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
- package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/DPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8h_source.html +2 -2
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/GeneralType_8h.html +8 -0
- package/SVF-doxygen/html/GeneralType_8h_source.html +110 -102
- package/SVF-doxygen/html/GenericGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IntervalExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/IntervalValue_8h_source.html +862 -801
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +335 -316
- package/SVF-doxygen/html/LLVMModule_8h_source.html +11 -11
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/MHP_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MHP_8h_source.html +3 -3
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +4 -4
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +4 -4
- package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
- package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/NumericLiteral_8h_source.html +452 -418
- package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ObjTypeInference_8h_source.html +2 -2
- package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +195 -137
- package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PTACallGraph_8h_source.html +4 -4
- package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +2 -2
- package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8h_source.html +2 -2
- package/SVF-doxygen/html/RelExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/RelExeState_8h_source.html +3 -3
- package/SVF-doxygen/html/RelationSolver_8cpp_source.html +4 -4
- package/SVF-doxygen/html/RelationSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/SCC_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFBugReport_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1937 -1934
- package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +59 -59
- package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFG_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1101 -886
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +173 -154
- package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +172 -121
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +24 -22
- package/SVF-doxygen/html/SVFIR_8h_source.html +55 -53
- package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
- package/SVF-doxygen/html/SVFStatements_8h_source.html +979 -955
- package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8h_source.html +4 -4
- package/SVF-doxygen/html/SVFUtil_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +8 -8
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +4 -4
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
- package/SVF-doxygen/html/SymState_8h_source.html +2 -2
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +4 -4
- package/SVF-doxygen/html/TCT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/VFGNode_8h_source.html +12 -12
- package/SVF-doxygen/html/VFG_8cpp_source.html +18 -18
- package/SVF-doxygen/html/VFG_8h_source.html +17 -17
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/WPASolver_8h_source.html +2 -2
- package/SVF-doxygen/html/WTO_8h_source.html +2 -2
- package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
- package/SVF-doxygen/html/ae_8cpp_source.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEStat.html +119 -119
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +1517 -1538
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
- package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr-members.html +8 -4
- package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +149 -28
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +48 -33
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +206 -65
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ExeState.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GenericGraphReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
- package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFGWriter.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +40 -35
- package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +511 -306
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +331 -312
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +2 -2
- 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 +4 -4
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NumericLiteral-members.html +9 -3
- package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +527 -332
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +204 -135
- package/SVF-doxygen/html/classSVF_1_1PCG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PTAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1RelExeState.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +32 -25
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +49 -40
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1346 -909
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder-members.html +62 -61
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +211 -131
- package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1122 -1121
- package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +429 -427
- package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFModuleReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFModuleWriter.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +9 -9
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1SingleAbsValue-members.html +8 -4
- package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +8 -0
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
- package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
- package/SVF-doxygen/html/classSVF_1_1VFG.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/classSymblicAbstractionTest.html +2 -2
- package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
- package/SVF-doxygen/html/functions_a.html +2 -2
- package/SVF-doxygen/html/functions_b.html +12 -9
- package/SVF-doxygen/html/functions_c.html +23 -14
- package/SVF-doxygen/html/functions_e.html +1 -1
- package/SVF-doxygen/html/functions_enum.html +3 -0
- package/SVF-doxygen/html/functions_eval_b.html +3 -0
- package/SVF-doxygen/html/functions_eval_c.html +3 -0
- package/SVF-doxygen/html/functions_eval_f.html +9 -0
- package/SVF-doxygen/html/functions_eval_i.html +3 -0
- package/SVF-doxygen/html/functions_eval_p.html +3 -0
- package/SVF-doxygen/html/functions_eval_s.html +6 -0
- package/SVF-doxygen/html/functions_eval_t.html +3 -0
- package/SVF-doxygen/html/functions_eval_u.html +3 -0
- package/SVF-doxygen/html/functions_eval_z.html +79 -0
- package/SVF-doxygen/html/functions_f.html +21 -12
- package/SVF-doxygen/html/functions_func.html +2 -2
- package/SVF-doxygen/html/functions_func_g.html +45 -11
- package/SVF-doxygen/html/functions_func_i.html +21 -11
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_g.html +45 -11
- package/SVF-doxygen/html/functions_i.html +18 -5
- package/SVF-doxygen/html/functions_l.html +5 -5
- package/SVF-doxygen/html/functions_o.html +15 -15
- package/SVF-doxygen/html/functions_p.html +19 -16
- package/SVF-doxygen/html/functions_s.html +18 -14
- package/SVF-doxygen/html/functions_t.html +12 -9
- package/SVF-doxygen/html/functions_u.html +6 -3
- package/SVF-doxygen/html/functions_v.html +4 -6
- package/SVF-doxygen/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/functions_w.html +13 -7
- package/SVF-doxygen/html/functions_z.html +3 -0
- package/SVF-doxygen/html/globals_a.html +1 -1
- package/SVF-doxygen/html/globals_d.html +3 -0
- package/SVF-doxygen/html/globals_func_a.html +1 -1
- package/SVF-doxygen/html/globals_func_d.html +3 -0
- package/SVF-doxygen/html/globals_func_p.html +1 -1
- package/SVF-doxygen/html/globals_func_t.html +1 -1
- package/SVF-doxygen/html/globals_p.html +1 -1
- package/SVF-doxygen/html/globals_t.html +1 -1
- package/SVF-doxygen/html/globals_vars.html +3 -3
- package/SVF-doxygen/html/globals_z.html +3 -3
- package/SVF-doxygen/html/menudata.js +2 -1
- package/SVF-doxygen/html/namespaceSVF.html +689 -617
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +1 -1
- package/SVF-doxygen/html/namespacemembers_s.html +6 -0
- package/SVF-doxygen/html/namespacemembers_type_s.html +6 -0
- package/SVF-doxygen/html/namespacemembers_type_u.html +6 -0
- package/SVF-doxygen/html/namespacemembers_u.html +6 -0
- package/SVF-doxygen/html/search/all_1.js +3 -3
- package/SVF-doxygen/html/search/all_10.js +326 -325
- package/SVF-doxygen/html/search/all_11.js +226 -226
- package/SVF-doxygen/html/search/all_12.js +574 -570
- package/SVF-doxygen/html/search/all_13.js +208 -207
- package/SVF-doxygen/html/search/all_14.js +73 -70
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +77 -77
- 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 +27 -26
- package/SVF-doxygen/html/search/all_1a.js +179 -179
- package/SVF-doxygen/html/search/all_2.js +122 -121
- package/SVF-doxygen/html/search/all_3.js +642 -640
- package/SVF-doxygen/html/search/all_4.js +236 -235
- package/SVF-doxygen/html/search/all_5.js +126 -126
- package/SVF-doxygen/html/search/all_6.js +235 -232
- package/SVF-doxygen/html/search/all_7.js +1056 -1047
- package/SVF-doxygen/html/search/all_8.js +215 -215
- package/SVF-doxygen/html/search/all_9.js +632 -629
- 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 +204 -204
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +122 -122
- package/SVF-doxygen/html/search/classes_0.js +28 -28
- package/SVF-doxygen/html/search/classes_1.js +11 -11
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- 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 +19 -19
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +73 -73
- package/SVF-doxygen/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +59 -59
- 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 +19 -19
- 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 +3 -3
- package/SVF-doxygen/html/search/defines_10.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +3 -3
- 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 +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- 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 +9 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- 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 +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +16 -15
- package/SVF-doxygen/html/search/enumvalues_10.js +36 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +5 -4
- 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 +4 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +37 -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 +50 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +24 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- 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 +19 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +49 -47
- package/SVF-doxygen/html/search/files_0.js +16 -16
- package/SVF-doxygen/html/search/files_1.js +9 -9
- 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 +53 -53
- 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 +10 -10
- package/SVF-doxygen/html/search/files_7.js +17 -17
- 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 +4 -4
- 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 +368 -368
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +140 -140
- package/SVF-doxygen/html/search/functions_12.js +299 -299
- package/SVF-doxygen/html/search/functions_13.js +73 -73
- package/SVF-doxygen/html/search/functions_14.js +41 -41
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +179 -179
- package/SVF-doxygen/html/search/functions_2.js +94 -94
- package/SVF-doxygen/html/search/functions_3.js +261 -261
- package/SVF-doxygen/html/search/functions_4.js +85 -84
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +872 -863
- package/SVF-doxygen/html/search/functions_8.js +162 -162
- package/SVF-doxygen/html/search/functions_9.js +440 -438
- 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 +82 -82
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- 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 +4 -4
- 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 +5 -5
- 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 +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +65 -63
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +13 -11
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +125 -125
- 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 +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +54 -54
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- 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 +15 -15
- 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 +177 -177
- package/SVF-doxygen/html/search/variables_1.js +76 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- 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 +49 -49
- package/SVF-doxygen/html/search/variables_16.js +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +40 -40
- package/SVF-doxygen/html/search/variables_3.js +143 -142
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- 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 +8 -8
- package/SVF-doxygen/html/search/variables_9.js +79 -79
- 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 +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1Hash.html +6 -6
- package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +12 -12
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +5 -5
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +5 -5
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +280 -230
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +250 -223
- package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +3 -3
- package/package.json +1 -1
- package/svf/include/AE/Core/BoundedZ3Expr.h +31 -20
- package/svf/include/AE/Core/IntervalValue.h +56 -4
- package/svf/include/AE/Core/NumericLiteral.h +25 -1
- package/svf/include/AE/Svfexe/SVFIR2ItvExeState.h +10 -0
- package/svf/include/SVFIR/SVFIR.h +2 -1
- package/svf/include/SVFIR/SVFStatements.h +12 -2
- package/svf/include/Util/GeneralType.h +4 -0
- package/svf/lib/AE/Svfexe/AbstractExecution.cpp +13 -34
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +6 -6
- package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +217 -23
- package/svf/lib/SVFIR/PAGBuilderFromFile.cpp +62 -3
- package/svf/lib/SVFIR/SVFFileSystem.cpp +4 -1
- package/svf/lib/SVFIR/SVFIR.cpp +3 -3
- package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +39 -3
- package/svf-llvm/lib/LLVMModule.cpp +21 -2
- package/svf-llvm/lib/SVFIRBuilder.cpp +7 -7
- package/svf-llvm/lib/SVFIRExtAPI.cpp +3 -3
- package/svf-llvm/tools/Example/svf-ex.cpp +49 -30
|
@@ -424,7 +424,7 @@ $(function() {
|
|
|
424
424
|
<div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
|
|
425
425
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a1fc4116b134aa87420d055b193208e68"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1fc4116b134aa87420d055b193208e68">SVF::MTAResultValidator::collectCallsiteTargets</a></div><div class="ttdeci">bool collectCallsiteTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00215">MTAResultValidator.cpp:215</a></div></div>
|
|
426
426
|
<div class="ttc" id="aclassSVF_1_1MHP_html_ac30f283cb2ad020a054ee6525ca94025"><div class="ttname"><a href="classSVF_1_1MHP.html#ac30f283cb2ad020a054ee6525ca94025">SVF::MHP::ThreadStmtToThreadInterleav</a></div><div class="ttdeci">Map< CxtThreadStmt, NodeBS > ThreadStmtToThreadInterleav</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00054">MHP.h:54</a></div></div>
|
|
427
|
-
<div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector< u32_t > CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
427
|
+
<div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector< u32_t > CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00122">GeneralType.h:122</a></div></div>
|
|
428
428
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
|
|
429
429
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a7382b2759b01b8382c5e59b21e7e262a"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a7382b2759b01b8382c5e59b21e7e262a">SVF::MTAResultValidator::vthdTorthd</a></div><div class="ttdeci">vthdTorthdMap vthdTorthd</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
|
|
430
430
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a08d80c69c8cd11222233e0e88a41f58d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a08d80c69c8cd11222233e0e88a41f58d">SVF::MTAResultValidator::tcg</a></div><div class="ttdeci">ThreadCallGraph * tcg</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00136">MTAResultValidator.h:136</a></div></div>
|
|
@@ -446,7 +446,7 @@ $(function() {
|
|
|
446
446
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a432fa7a1a9af82c90583c779e8f63cf4"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a432fa7a1a9af82c90583c779e8f63cf4">SVF::MTAResultValidator::csnumToInst</a></div><div class="ttdeci">Map< NodeID, const SVFInstruction * > csnumToInst</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00121">MTAResultValidator.h:121</a></div></div>
|
|
447
447
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a8e26b7fe85478eef7b3d0551ab59d9c7"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a8e26b7fe85478eef7b3d0551ab59d9c7">SVF::MTAResultValidator::INTERLEV_FLAG</a></div><div class="ttdeci">int INTERLEV_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00026">MTAResultValidator.h:26</a></div></div>
|
|
448
448
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a9c9baeb57a645b57cc9053b3071f0602"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a9c9baeb57a645b57cc9053b3071f0602">SVF::MTAResultValidator::getOutput</a></div><div class="ttdeci">std::string getOutput(const char *scenario, bool analysisRes)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00149">MTAResultValidator.cpp:149</a></div></div>
|
|
449
|
-
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
449
|
+
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
|
|
450
450
|
<div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a90f7d527816acf808e3e54c2a4ed0532"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a90f7d527816acf808e3e54c2a4ed0532">SVF::RaceResultValidator::accessPairs</a></div><div class="ttdeci">std::vector< AccessPair > accessPairs</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00299">MTAResultValidator.h:299</a></div></div>
|
|
451
451
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a0e2fb93a69df487606c0eeaeadab805d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a0e2fb93a69df487606c0eeaeadab805d">SVF::MTAResultValidator::INTERLEV_UNSOUND</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_UNSOUND</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00148">MTAResultValidator.h:148</a></div></div>
|
|
452
452
|
<div class="ttc" id="aclassSVF_1_1RaceResultValidator_1_1AccessPair_html_a63f574da7298fd47d228592f512891d1"><div class="ttname"><a href="classSVF_1_1RaceResultValidator_1_1AccessPair.html#a63f574da7298fd47d228592f512891d1">SVF::RaceResultValidator::AccessPair::isFlaged</a></div><div class="ttdeci">bool isFlaged(const RC_FLAG flag) const</div><div class="ttdoc">Class member access.</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00189">MTAResultValidator.h:189</a></div></div>
|
|
@@ -545,7 +545,7 @@ $(function() {
|
|
|
545
545
|
<div class="ttc" id="anamespaceSVF_html_adefcb50414ea999d70cea5ccdbcb98d7"><div class="ttname"><a href="namespaceSVF.html#adefcb50414ea999d70cea5ccdbcb98d7">SVF::ConstantInt</a></div><div class="ttdeci">llvm::ConstantInt ConstantInt</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00125">BasicTypes.h:125</a></div></div>
|
|
546
546
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a1fc4116b134aa87420d055b193208e68"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a1fc4116b134aa87420d055b193208e68">SVF::MTAResultValidator::collectCallsiteTargets</a></div><div class="ttdeci">bool collectCallsiteTargets()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00215">MTAResultValidator.cpp:215</a></div></div>
|
|
547
547
|
<div class="ttc" id="aclassSVF_1_1MHP_html_ac30f283cb2ad020a054ee6525ca94025"><div class="ttname"><a href="classSVF_1_1MHP.html#ac30f283cb2ad020a054ee6525ca94025">SVF::MHP::ThreadStmtToThreadInterleav</a></div><div class="ttdeci">Map< CxtThreadStmt, NodeBS > ThreadStmtToThreadInterleav</div><div class="ttdef"><b>Definition:</b> <a href="MHP_8h_source.html#l00054">MHP.h:54</a></div></div>
|
|
548
|
-
<div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector< u32_t > CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
548
|
+
<div class="ttc" id="anamespaceSVF_html_ab700523619b089b952498f39a7f5b6b1"><div class="ttname"><a href="namespaceSVF.html#ab700523619b089b952498f39a7f5b6b1">SVF::CallStrCxt</a></div><div class="ttdeci">std::vector< u32_t > CallStrCxt</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00122">GeneralType.h:122</a></div></div>
|
|
549
549
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html"><div class="ttname"><a href="classSVF_1_1SVFModule.html">SVF::SVFModule</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00040">SVFModule.h:40</a></div></div>
|
|
550
550
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a7382b2759b01b8382c5e59b21e7e262a"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a7382b2759b01b8382c5e59b21e7e262a">SVF::MTAResultValidator::vthdTorthd</a></div><div class="ttdeci">vthdTorthdMap vthdTorthd</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00139">MTAResultValidator.h:139</a></div></div>
|
|
551
551
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_aed0b0b9f035057552a6a82154fd88e61"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aed0b0b9f035057552a6a82154fd88e61">SVF::SVFUtil::outs</a></div><div class="ttdeci">std::ostream & outs()</div><div class="ttdoc">Overwrite llvm::outs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00050">SVFUtil.h:50</a></div></div>
|
|
@@ -563,7 +563,7 @@ $(function() {
|
|
|
563
563
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_ab3ba3c6d9c40e97febdab0e7d4ad9a3e"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#ab3ba3c6d9c40e97febdab0e7d4ad9a3e">SVF::MTAResultValidator::getPreviousMemoryAccessInst</a></div><div class="ttdeci">const Instruction * getPreviousMemoryAccessInst(const Instruction *I)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00137">MTAResultValidator.cpp:137</a></div></div>
|
|
564
564
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_afa01b108b67ec2ac05a6444b55dbfe01"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#afa01b108b67ec2ac05a6444b55dbfe01">SVF::MTAResultValidator::validateCxtThread</a></div><div class="ttdeci">bool validateCxtThread()</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00372">MTAResultValidator.cpp:372</a></div></div>
|
|
565
565
|
<div class="ttc" id="aclassSVF_1_1RaceResultValidator_1_1AccessPair_html_a7dd2f8afab59ee4d107a6bfdb6c151ea"><div class="ttname"><a href="classSVF_1_1RaceResultValidator_1_1AccessPair.html#a7dd2f8afab59ee4d107a6bfdb6c151ea">SVF::RaceResultValidator::AccessPair::AccessPair</a></div><div class="ttdeci">AccessPair(const Instruction *I1, const Instruction *I2, const RC_FLAG flags)</div><div class="ttdoc">Constructor.</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00180">MTAResultValidator.h:180</a></div></div>
|
|
566
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
566
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01340">LLVMModule.cpp:1340</a></div></div>
|
|
567
567
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_aecaf875c6c88f7ba6fa45540e8436f57"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#aecaf875c6c88f7ba6fa45540e8436f57">SVF::MTAResultValidator::getModule</a></div><div class="ttdeci">SVFModule * getModule() const</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00040">MTAResultValidator.h:40</a></div></div>
|
|
568
568
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a5a0f25f5718d84f251331a2e2d207108"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a5a0f25f5718d84f251331a2e2d207108">SVF::MTAResultValidator::mod</a></div><div class="ttdeci">SVFModule * mod</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00143">MTAResultValidator.h:143</a></div></div>
|
|
569
569
|
<div class="ttc" id="anamespaceSVF_html_a43a65e0d33af3c743294f7a1139d2301"><div class="ttname"><a href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">SVF::NodeID</a></div><div class="ttdeci">unsigned NodeID</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00020">MTAResultValidator.h:20</a></div></div>
|
|
@@ -574,7 +574,7 @@ $(function() {
|
|
|
574
574
|
<div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00631">SVFValue.h:631</a></div></div>
|
|
575
575
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a8e26b7fe85478eef7b3d0551ab59d9c7"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a8e26b7fe85478eef7b3d0551ab59d9c7">SVF::MTAResultValidator::INTERLEV_FLAG</a></div><div class="ttdeci">int INTERLEV_FLAG</div><div class="ttdef"><b>Definition:</b> <a href="svf_2include_2MTA_2MTAResultValidator_8h_source.html#l00025">MTAResultValidator.h:25</a></div></div>
|
|
576
576
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a9c9baeb57a645b57cc9053b3071f0602"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a9c9baeb57a645b57cc9053b3071f0602">SVF::MTAResultValidator::getOutput</a></div><div class="ttdeci">std::string getOutput(const char *scenario, bool analysisRes)</div><div class="ttdef"><b>Definition:</b> <a href="MTAResultValidator_8cpp_source.html#l00149">MTAResultValidator.cpp:149</a></div></div>
|
|
577
|
-
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
577
|
+
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
|
|
578
578
|
<div class="ttc" id="aclassSVF_1_1RaceResultValidator_html_a90f7d527816acf808e3e54c2a4ed0532"><div class="ttname"><a href="classSVF_1_1RaceResultValidator.html#a90f7d527816acf808e3e54c2a4ed0532">SVF::RaceResultValidator::accessPairs</a></div><div class="ttdeci">std::vector< AccessPair > accessPairs</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00299">MTAResultValidator.h:299</a></div></div>
|
|
579
579
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a7effb0f37f486745e0cdc3ae5e9c732b"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a7effb0f37f486745e0cdc3ae5e9c732b">SVF::SVFValue::getSourceLoc</a></div><div class="ttdeci">virtual const std::string getSourceLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00280">SVFValue.h:280</a></div></div>
|
|
580
580
|
<div class="ttc" id="aclassSVF_1_1MTAResultValidator_html_a0e2fb93a69df487606c0eeaeadab805d"><div class="ttname"><a href="classSVF_1_1MTAResultValidator.html#a0e2fb93a69df487606c0eeaeadab805d">SVF::MTAResultValidator::INTERLEV_UNSOUND</a></div><div class="ttdeci">static const INTERLEV_FLAG INTERLEV_UNSOUND</div><div class="ttdef"><b>Definition:</b> <a href="svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html#l00148">MTAResultValidator.h:148</a></div></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.898",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -345,31 +345,42 @@ public:
|
|
|
345
345
|
return getExpr().is_true();
|
|
346
346
|
}
|
|
347
347
|
|
|
348
|
+
inline bool is_int() const
|
|
349
|
+
{
|
|
350
|
+
return getExpr().is_int();
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
inline bool is_real() const
|
|
354
|
+
{
|
|
355
|
+
return getExpr().is_real();
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
inline s64_t getIntNumeral() const
|
|
359
|
+
{
|
|
360
|
+
assert(is_int() && "not an integer");
|
|
361
|
+
int64_t i;
|
|
362
|
+
if (getExpr().is_numeral_i64(i))
|
|
363
|
+
return (s64_t)get_numeral_int64();
|
|
364
|
+
else
|
|
365
|
+
return (getExpr() < 0).simplify().is_true() ? INT64_MIN : INT64_MAX;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
inline double getRealNumeral() const
|
|
369
|
+
{
|
|
370
|
+
assert(is_real() && "not a real");
|
|
371
|
+
std::string decstr = getExpr().get_decimal_string(10);
|
|
372
|
+
return std::stod(decstr);
|
|
373
|
+
}
|
|
374
|
+
|
|
348
375
|
/// Return Numeral
|
|
349
376
|
inline s64_t getNumeral() const
|
|
350
377
|
{
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
if (getExpr().is_numeral_i64(i))
|
|
355
|
-
return (s64_t)get_numeral_int64();
|
|
356
|
-
else
|
|
357
|
-
{
|
|
358
|
-
return (getExpr() < 0).simplify().is_true() ? INT64_MIN : INT64_MAX;
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
if (is_minus_infinite())
|
|
362
|
-
{
|
|
363
|
-
return INT64_MIN;
|
|
364
|
-
}
|
|
365
|
-
else if (is_plus_infinite())
|
|
366
|
-
{
|
|
367
|
-
return INT64_MAX;
|
|
368
|
-
}
|
|
378
|
+
int64_t i;
|
|
379
|
+
if (getExpr().is_numeral_i64(i))
|
|
380
|
+
return (s64_t)get_numeral_int64();
|
|
369
381
|
else
|
|
370
382
|
{
|
|
371
|
-
|
|
372
|
-
abort();
|
|
383
|
+
return (getExpr() < 0).simplify().is_true() ? INT64_MIN : INT64_MAX;
|
|
373
384
|
}
|
|
374
385
|
}
|
|
375
386
|
|
|
@@ -111,7 +111,9 @@ public:
|
|
|
111
111
|
|
|
112
112
|
explicit IntervalValue(s64_t lb, s64_t ub) : IntervalValue(NumericLiteral(lb), NumericLiteral(ub)) {}
|
|
113
113
|
|
|
114
|
-
explicit IntervalValue(double lb, double ub) : IntervalValue(NumericLiteral(
|
|
114
|
+
explicit IntervalValue(double lb, double ub) : IntervalValue(NumericLiteral(lb), NumericLiteral(ub)) {}
|
|
115
|
+
|
|
116
|
+
explicit IntervalValue(float lb, float ub) : IntervalValue(NumericLiteral(lb), NumericLiteral(ub)) {}
|
|
115
117
|
|
|
116
118
|
explicit IntervalValue(s32_t lb, s32_t ub) : IntervalValue((s64_t) lb, (s64_t) ub) {}
|
|
117
119
|
|
|
@@ -259,6 +261,22 @@ public:
|
|
|
259
261
|
return _lb.is_infinity() || _ub.is_infinity();
|
|
260
262
|
}
|
|
261
263
|
|
|
264
|
+
bool is_int() const
|
|
265
|
+
{
|
|
266
|
+
bool lb_int = _lb.is_int();
|
|
267
|
+
bool ub_int = _ub.is_int();
|
|
268
|
+
assert (lb_int == ub_int && "lb and ub should be both int or both float");
|
|
269
|
+
return _lb.is_int();
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
bool is_real() const
|
|
273
|
+
{
|
|
274
|
+
bool lb_real = _lb.is_real();
|
|
275
|
+
bool ub_real = _ub.is_real();
|
|
276
|
+
assert (lb_real == ub_real && "lb and ub should be both real or both int");
|
|
277
|
+
return _lb.is_real();
|
|
278
|
+
}
|
|
279
|
+
|
|
262
280
|
/// Return
|
|
263
281
|
s64_t getNumeral() const
|
|
264
282
|
{
|
|
@@ -266,6 +284,18 @@ public:
|
|
|
266
284
|
return _lb.getNumeral();
|
|
267
285
|
}
|
|
268
286
|
|
|
287
|
+
s64_t getIntNumeral() const
|
|
288
|
+
{
|
|
289
|
+
assert(is_numeral() && "this IntervalValue is not numeral");
|
|
290
|
+
return _lb.getIntNumeral();
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
double getRealNumeral() const
|
|
294
|
+
{
|
|
295
|
+
assert(is_numeral() && "this IntervalValue is not numeral");
|
|
296
|
+
return _lb.getRealNumeral();
|
|
297
|
+
}
|
|
298
|
+
|
|
269
299
|
/// Return true if the IntervalValue is a number [num, num]
|
|
270
300
|
bool is_numeral() const
|
|
271
301
|
{
|
|
@@ -335,9 +365,31 @@ public:
|
|
|
335
365
|
}
|
|
336
366
|
else
|
|
337
367
|
{
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
368
|
+
if (this->is_real() && other.is_real())
|
|
369
|
+
{
|
|
370
|
+
return this->_lb.equal(other._lb) && this->_ub.equal(other._ub);
|
|
371
|
+
}
|
|
372
|
+
else if (this->is_int() && other.is_int())
|
|
373
|
+
{
|
|
374
|
+
return this->_lb.equal(other._lb) && this->_ub.equal(other._ub);
|
|
375
|
+
}
|
|
376
|
+
else if (this->is_int())
|
|
377
|
+
{
|
|
378
|
+
double thislb = this->_lb.getIntNumeral();
|
|
379
|
+
double thisub = this->_ub.getIntNumeral();
|
|
380
|
+
double otherlb = other._lb.getRealNumeral();
|
|
381
|
+
double otherub = other._ub.getRealNumeral();
|
|
382
|
+
return thislb == otherlb && thisub == otherub;
|
|
383
|
+
}
|
|
384
|
+
else
|
|
385
|
+
{
|
|
386
|
+
double thislb = this->_lb.getRealNumeral();
|
|
387
|
+
double thisub = this->_ub.getRealNumeral();
|
|
388
|
+
double otherlb = other._lb.getIntNumeral();
|
|
389
|
+
double otherub = other._ub.getIntNumeral();
|
|
390
|
+
return thislb == otherlb && thisub == otherub;
|
|
391
|
+
}
|
|
392
|
+
assert(false && "not implemented");
|
|
341
393
|
}
|
|
342
394
|
}
|
|
343
395
|
|
|
@@ -50,6 +50,10 @@ public:
|
|
|
50
50
|
|
|
51
51
|
NumericLiteral(const z3::expr &e) : _n(e) {}
|
|
52
52
|
|
|
53
|
+
NumericLiteral(float i) : _n(getContext().real_val(std::to_string(i).c_str())) {}
|
|
54
|
+
|
|
55
|
+
NumericLiteral(double i) : _n(getContext().real_val(std::to_string(i).c_str())) {}
|
|
56
|
+
|
|
53
57
|
NumericLiteral(s32_t i) : _n(i) {}
|
|
54
58
|
|
|
55
59
|
NumericLiteral(s64_t i) : _n(i) {}
|
|
@@ -114,12 +118,32 @@ public:
|
|
|
114
118
|
return _n.is_zero();
|
|
115
119
|
}
|
|
116
120
|
|
|
117
|
-
|
|
121
|
+
inline bool is_int() const
|
|
122
|
+
{
|
|
123
|
+
return _n.is_int();
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
inline bool is_real() const
|
|
127
|
+
{
|
|
128
|
+
return _n.is_real();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/// Return Numeral, default type is double in case to support both int and float
|
|
118
132
|
inline s64_t getNumeral() const
|
|
119
133
|
{
|
|
120
134
|
return _n.getNumeral();
|
|
121
135
|
}
|
|
122
136
|
|
|
137
|
+
inline double getRealNumeral() const
|
|
138
|
+
{
|
|
139
|
+
return _n.getRealNumeral();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
inline s64_t getIntNumeral() const
|
|
143
|
+
{
|
|
144
|
+
return _n.getIntNumeral();
|
|
145
|
+
}
|
|
146
|
+
|
|
123
147
|
/// Check two object is equal
|
|
124
148
|
bool equal(const NumericLiteral &rhs) const
|
|
125
149
|
{
|
|
@@ -79,6 +79,15 @@ public:
|
|
|
79
79
|
/// Return the value range of Integer SVF Type, e.g. unsigned i8 Type->[0, 255], signed i8 Type->[-128, 127]
|
|
80
80
|
IntervalValue getRangeLimitFromType(const SVFType* type);
|
|
81
81
|
|
|
82
|
+
IntervalValue getZExtValue(const SVFVar* var);
|
|
83
|
+
IntervalValue getSExtValue(const SVFVar* var);
|
|
84
|
+
IntervalValue getFPToSIntValue(const SVFVar* var);
|
|
85
|
+
IntervalValue getFPToUIntValue(const SVFVar* var);
|
|
86
|
+
IntervalValue getSIntToFPValue(const SVFVar* var);
|
|
87
|
+
IntervalValue getUIntToFPValue(const SVFVar* var);
|
|
88
|
+
IntervalValue getTruncValue(const SVFVar* var, const SVFType* dstType);
|
|
89
|
+
IntervalValue getFPTruncValue(const SVFVar* var, const SVFType* dstType);
|
|
90
|
+
|
|
82
91
|
/// Return the byte offset expression of a GepStmt
|
|
83
92
|
/// elemBytesize is the element byte size of an static alloc or heap alloc array
|
|
84
93
|
/// e.g. GepStmt* gep = [i32*10], x, and x is [0,3]
|
|
@@ -206,6 +215,7 @@ private:
|
|
|
206
215
|
RelExeState _relEs;
|
|
207
216
|
|
|
208
217
|
Map<NodeID, IntervalExeState *> _br_cond;
|
|
218
|
+
IntervalValue getZExtValue(const SVFVar* var, const SVFType*);
|
|
209
219
|
};
|
|
210
220
|
}
|
|
211
221
|
|
|
@@ -638,7 +638,8 @@ private:
|
|
|
638
638
|
/// Add Address edge
|
|
639
639
|
AddrStmt* addAddrStmt(NodeID src, NodeID dst);
|
|
640
640
|
/// Add Copy edge
|
|
641
|
-
CopyStmt* addCopyStmt(NodeID src, NodeID dst);
|
|
641
|
+
CopyStmt* addCopyStmt(NodeID src, NodeID dst, CopyStmt::CopyKind type);
|
|
642
|
+
|
|
642
643
|
/// Add phi node information
|
|
643
644
|
PhiStmt* addPhiStmt(NodeID res, NodeID opnd, const ICFGNode* pred);
|
|
644
645
|
/// Add SelectStmt
|
|
@@ -365,13 +365,15 @@ class CopyStmt: public AssignStmt
|
|
|
365
365
|
{
|
|
366
366
|
friend class SVFIRWriter;
|
|
367
367
|
friend class SVFIRReader;
|
|
368
|
-
|
|
369
368
|
private:
|
|
370
369
|
/// Constructs empty CopyStmt (for SVFIRReader/serialization)
|
|
371
370
|
CopyStmt() : AssignStmt(SVFStmt::Copy) {}
|
|
372
371
|
CopyStmt(const CopyStmt&); ///< place holder
|
|
373
372
|
void operator=(const CopyStmt&); ///< place holder
|
|
374
373
|
public:
|
|
374
|
+
enum CopyKind {COPYVAL, ZEXT, SEXT, BITCAST, TRUNC, FPTRUNC,
|
|
375
|
+
FPTOUI, FPTOSI, UITOFP, SITOFP, INTTOPTR, PTRTOINT
|
|
376
|
+
};
|
|
375
377
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
376
378
|
//@{
|
|
377
379
|
static inline bool classof(const CopyStmt*)
|
|
@@ -388,10 +390,18 @@ public:
|
|
|
388
390
|
}
|
|
389
391
|
//@}
|
|
390
392
|
|
|
393
|
+
/// Return the kind of the copy statement
|
|
394
|
+
inline u32_t getCopyKind() const
|
|
395
|
+
{
|
|
396
|
+
return copyKind;
|
|
397
|
+
}
|
|
398
|
+
|
|
391
399
|
/// constructor
|
|
392
|
-
CopyStmt(SVFVar* s, SVFVar* d) : AssignStmt(s, d, SVFStmt::Copy) {}
|
|
400
|
+
CopyStmt(SVFVar* s, SVFVar* d, CopyKind k) : AssignStmt(s, d, SVFStmt::Copy), copyKind(k) {}
|
|
393
401
|
|
|
394
402
|
virtual const std::string toString() const override;
|
|
403
|
+
private:
|
|
404
|
+
u32_t copyKind;
|
|
395
405
|
};
|
|
396
406
|
|
|
397
407
|
/*!
|
|
@@ -47,6 +47,10 @@ typedef unsigned u32_t;
|
|
|
47
47
|
typedef signed s32_t;
|
|
48
48
|
typedef unsigned long long u64_t;
|
|
49
49
|
typedef signed long long s64_t;
|
|
50
|
+
typedef unsigned char u8_t;
|
|
51
|
+
typedef signed char s8_t;
|
|
52
|
+
typedef unsigned short u16_t;
|
|
53
|
+
typedef signed short s16_t;
|
|
50
54
|
|
|
51
55
|
typedef u32_t NodeID;
|
|
52
56
|
typedef u32_t EdgeID;
|
|
@@ -168,28 +168,7 @@ void AbstractExecution::handleGlobalNode()
|
|
|
168
168
|
// Global Node, we just need to handle addr, load, store, copy and gep
|
|
169
169
|
for (const SVFStmt *stmt: node->getSVFStmts())
|
|
170
170
|
{
|
|
171
|
-
|
|
172
|
-
{
|
|
173
|
-
_svfir2ExeState->translateAddr(addr);
|
|
174
|
-
}
|
|
175
|
-
else if (const LoadStmt *load = SVFUtil::dyn_cast<LoadStmt>(stmt))
|
|
176
|
-
{
|
|
177
|
-
_svfir2ExeState->translateLoad(load);
|
|
178
|
-
}
|
|
179
|
-
else if (const StoreStmt *store = SVFUtil::dyn_cast<StoreStmt>(stmt))
|
|
180
|
-
{
|
|
181
|
-
_svfir2ExeState->translateStore(store);
|
|
182
|
-
}
|
|
183
|
-
else if (const CopyStmt *copy = SVFUtil::dyn_cast<CopyStmt>(stmt))
|
|
184
|
-
{
|
|
185
|
-
_svfir2ExeState->translateCopy(copy);
|
|
186
|
-
}
|
|
187
|
-
else if (const GepStmt *gep = SVFUtil::dyn_cast<GepStmt>(stmt))
|
|
188
|
-
{
|
|
189
|
-
_svfir2ExeState->translateGep(gep);
|
|
190
|
-
}
|
|
191
|
-
else
|
|
192
|
-
assert(false && "implement this part");
|
|
171
|
+
handleSVFStatement(stmt);
|
|
193
172
|
}
|
|
194
173
|
// for stmts in global node, exe state will move to global state to lower memory usage
|
|
195
174
|
_svfir2ExeState->moveToGlobal();
|
|
@@ -341,7 +320,7 @@ bool AbstractExecution::hasCmpBranchES(const CmpStmt* cmpStmt, s64_t succ, Inter
|
|
|
341
320
|
// for const X const, we may get concrete resVal instantly
|
|
342
321
|
// for var X const, we may get [0,1] if the intersection of var and const is not empty set
|
|
343
322
|
IntervalValue resVal = new_es[res_id];
|
|
344
|
-
resVal.meet_with(IntervalValue((
|
|
323
|
+
resVal.meet_with(IntervalValue((s64_t) succ, succ));
|
|
345
324
|
// If Var X const generates bottom value, it means this branch path is not feasible.
|
|
346
325
|
if (resVal.isBottom())
|
|
347
326
|
{
|
|
@@ -1139,7 +1118,7 @@ void AbstractExecution::initExtFunMap()
|
|
|
1139
1118
|
IntervalExeState &es = _svfir2ExeState->getEs(); \
|
|
1140
1119
|
u32_t rhs_id = _svfir->getValueNode(cs.getArgument(0)); \
|
|
1141
1120
|
if (!es.inVarToValTable(rhs_id)) return; \
|
|
1142
|
-
u32_t rhs = _svfir2ExeState->getEs()[rhs_id].lb().
|
|
1121
|
+
u32_t rhs = _svfir2ExeState->getEs()[rhs_id].lb().getIntNumeral(); \
|
|
1143
1122
|
s32_t res = FUNC_NAME(rhs); \
|
|
1144
1123
|
u32_t lhsId = _svfir->getValueNode(cs.getInstruction()); \
|
|
1145
1124
|
_svfir2ExeState->getEs()[lhsId] = IntervalValue(res); \
|
|
@@ -1223,11 +1202,11 @@ std::string AbstractExecution::strRead(const SVFValue* rhs)
|
|
|
1223
1202
|
{
|
|
1224
1203
|
break;
|
|
1225
1204
|
}
|
|
1226
|
-
if ((char) val.
|
|
1205
|
+
if ((char) val.getIntNumeral() == '\0')
|
|
1227
1206
|
{
|
|
1228
1207
|
break;
|
|
1229
1208
|
}
|
|
1230
|
-
str0.push_back((char) val.
|
|
1209
|
+
str0.push_back((char) val.getIntNumeral());
|
|
1231
1210
|
}
|
|
1232
1211
|
return str0;
|
|
1233
1212
|
}
|
|
@@ -1345,7 +1324,7 @@ void AbstractExecution::handleStrcpy(const CallICFGNode *call)
|
|
|
1345
1324
|
const SVFValue* arg1Val = cs.getArgument(1);
|
|
1346
1325
|
IntervalValue strLen = getStrlen(arg1Val);
|
|
1347
1326
|
// no need to -1, since it has \0 as the last byte
|
|
1348
|
-
handleMemcpy(arg0Val, arg1Val, strLen,strLen.lb().
|
|
1327
|
+
handleMemcpy(arg0Val, arg1Val, strLen,strLen.lb().getIntNumeral());
|
|
1349
1328
|
}
|
|
1350
1329
|
|
|
1351
1330
|
u32_t AbstractExecution::getAllocaInstByteSize(const AddrStmt *addr)
|
|
@@ -1372,7 +1351,7 @@ u32_t AbstractExecution::getAllocaInstByteSize(const AddrStmt *addr)
|
|
|
1372
1351
|
_svfir2ExeState->getEs()[_svfir->getValueNode(value)] = IntervalValue(Options::MaxFieldLimit());
|
|
1373
1352
|
}
|
|
1374
1353
|
IntervalValue itv = _svfir2ExeState->getEs()[_svfir->getValueNode(value)];
|
|
1375
|
-
res = res * itv.ub().
|
|
1354
|
+
res = res * itv.ub().getIntNumeral() > Options::MaxFieldLimit()? Options::MaxFieldLimit(): res * itv.ub().getIntNumeral();
|
|
1376
1355
|
}
|
|
1377
1356
|
return (u32_t)res;
|
|
1378
1357
|
}
|
|
@@ -1522,7 +1501,7 @@ IntervalValue AbstractExecution::getStrlen(const SVF::SVFValue *strValue)
|
|
|
1522
1501
|
u32_t elemSize = 1;
|
|
1523
1502
|
if (_svfir2ExeState->inVarToAddrsTable(dstid))
|
|
1524
1503
|
{
|
|
1525
|
-
for (u32_t index = 0; index < dst_size.lb().
|
|
1504
|
+
for (u32_t index = 0; index < dst_size.lb().getIntNumeral(); index++)
|
|
1526
1505
|
{
|
|
1527
1506
|
ExeState::Addrs expr0 = _svfir2ExeState->getGepObjAddress(dstid, index);
|
|
1528
1507
|
IntervalValue val = IntervalValue::bottom();
|
|
@@ -1530,7 +1509,7 @@ IntervalValue AbstractExecution::getStrlen(const SVF::SVFValue *strValue)
|
|
|
1530
1509
|
{
|
|
1531
1510
|
val.join_with(es.load(addr));
|
|
1532
1511
|
}
|
|
1533
|
-
if (val.is_numeral() && (char) val.
|
|
1512
|
+
if (val.is_numeral() && (char) val.getIntNumeral() == '\0')
|
|
1534
1513
|
{
|
|
1535
1514
|
break;
|
|
1536
1515
|
}
|
|
@@ -1582,7 +1561,7 @@ void AbstractExecution::handleStrcat(const SVF::CallICFGNode *call)
|
|
|
1582
1561
|
IntervalValue strLen0 = getStrlen(arg0Val);
|
|
1583
1562
|
IntervalValue strLen1 = getStrlen(arg1Val);
|
|
1584
1563
|
IntervalValue totalLen = strLen0 + strLen1;
|
|
1585
|
-
handleMemcpy(arg0Val, arg1Val, strLen1, strLen0.lb().
|
|
1564
|
+
handleMemcpy(arg0Val, arg1Val, strLen1, strLen0.lb().getIntNumeral());
|
|
1586
1565
|
// do memcpy
|
|
1587
1566
|
}
|
|
1588
1567
|
else if (std::find(strncatGroup.begin(), strncatGroup.end(), fun->getName()) != strncatGroup.end())
|
|
@@ -1594,7 +1573,7 @@ void AbstractExecution::handleStrcat(const SVF::CallICFGNode *call)
|
|
|
1594
1573
|
IntervalValue arg2Num = _svfir2ExeState->getEs()[_svfir->getValueNode(arg2Val)];
|
|
1595
1574
|
IntervalValue strLen0 = getStrlen(arg0Val);
|
|
1596
1575
|
IntervalValue totalLen = strLen0 + arg2Num;
|
|
1597
|
-
handleMemcpy(arg0Val, arg1Val, arg2Num, strLen0.lb().
|
|
1576
|
+
handleMemcpy(arg0Val, arg1Val, arg2Num, strLen0.lb().getIntNumeral());
|
|
1598
1577
|
// do memcpy
|
|
1599
1578
|
}
|
|
1600
1579
|
else
|
|
@@ -1632,7 +1611,7 @@ void AbstractExecution::handleMemcpy(const SVF::SVFValue *dst, const SVF::SVFVal
|
|
|
1632
1611
|
{
|
|
1633
1612
|
assert(false && "we cannot support this type");
|
|
1634
1613
|
}
|
|
1635
|
-
u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().
|
|
1614
|
+
u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().getIntNumeral());
|
|
1636
1615
|
u32_t range_val = size / elemSize;
|
|
1637
1616
|
if (_svfir2ExeState->inVarToAddrsTable(srcId) && _svfir2ExeState->inVarToAddrsTable(dstId))
|
|
1638
1617
|
{
|
|
@@ -1681,7 +1660,7 @@ void AbstractExecution::handleMemset(const SVF::SVFValue *dst, SVF::IntervalValu
|
|
|
1681
1660
|
{
|
|
1682
1661
|
IntervalExeState &es = _svfir2ExeState->getEs();
|
|
1683
1662
|
u32_t dstId = _svfir->getValueNode(dst);
|
|
1684
|
-
u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().
|
|
1663
|
+
u32_t size = std::min((u32_t)Options::MaxFieldLimit(), (u32_t) len.lb().getIntNumeral());
|
|
1685
1664
|
u32_t elemSize = 1;
|
|
1686
1665
|
if (dst->getType()->isArrayTy())
|
|
1687
1666
|
{
|
|
@@ -42,17 +42,17 @@ std::string IntervalToIntStr(const IntervalValue& inv)
|
|
|
42
42
|
}
|
|
43
43
|
else
|
|
44
44
|
{
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
s64_t lb_val = inv.lb().getNumeral();
|
|
46
|
+
s64_t ub_val = inv.ub().getNumeral();
|
|
47
47
|
|
|
48
48
|
// check lb
|
|
49
|
-
s32_t lb_s32 = (lb_val < static_cast<
|
|
50
|
-
(lb_val > static_cast<
|
|
49
|
+
s32_t lb_s32 = (lb_val < static_cast<s64_t>(INT_MIN)) ? INT_MIN :
|
|
50
|
+
(lb_val > static_cast<s64_t>(INT_MAX)) ? INT_MAX :
|
|
51
51
|
static_cast<s32_t>(lb_val);
|
|
52
52
|
|
|
53
53
|
// check ub
|
|
54
|
-
s32_t ub_s32 = (ub_val < static_cast<
|
|
55
|
-
(ub_val > static_cast<
|
|
54
|
+
s32_t ub_s32 = (ub_val < static_cast<s64_t>(INT_MIN)) ? INT_MIN :
|
|
55
|
+
(ub_val > static_cast<s64_t>(INT_MAX)) ? INT_MAX :
|
|
56
56
|
static_cast<s32_t>(ub_val);
|
|
57
57
|
|
|
58
58
|
return "[" + std::to_string(lb_s32) + ", " + std::to_string(ub_s32) + "]";
|