svf-tools 1.0.587 → 1.0.589
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +6 -6
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/Andersen_8h_source.html +17 -17
- package/SVF-doxygen/html/html/Annotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp.html +2 -2
- package/SVF-doxygen/html/html/BreakConstantExpr_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/BreakConstantExpr_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CFLBase_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +7 -7
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLGraphBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/CFLGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/CFLStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +27 -27
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CHG_8cpp.html +3 -3
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/CHG_8h_source.html +8 -8
- package/SVF-doxygen/html/html/CPPUtil_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CSC_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CSC_8h_source.html +4 -4
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/Casting_8h.html +1 -0
- package/SVF-doxygen/html/html/Casting_8h_source.html +42 -42
- package/SVF-doxygen/html/html/ConditionalPT_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +21 -21
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +38 -38
- package/SVF-doxygen/html/html/ConsG_8h_source.html +28 -28
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +25 -23
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +11 -11
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +36 -36
- package/SVF-doxygen/html/html/DCHG_8h_source.html +15 -15
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +4 -4
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/DDAStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +16 -16
- package/SVF-doxygen/html/html/DPItem_8h_source.html +5 -5
- package/SVF-doxygen/html/html/DataFlowUtil_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/DataFlowUtil_8h_source.html +11 -11
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ExtAPI_8cpp.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +3 -3
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +19 -19
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +8 -8
- package/SVF-doxygen/html/html/GEPTypeBridgeIterator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +61 -61
- package/SVF-doxygen/html/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ICFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +37 -34
- package/SVF-doxygen/html/html/ICFG_8h_source.html +30 -30
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +28 -28
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +10 -10
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +26 -26
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +18 -18
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +3 -3
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/LocationSet_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +11 -11
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp.html +3 -3
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +35 -36
- package/SVF-doxygen/html/html/MHP_8h_source.html +15 -15
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +11 -11
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/MTA_8h_source.html +7 -7
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +41 -41
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +14 -14
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +8 -8
- package/SVF-doxygen/html/html/MutablePointsToDS_8h_source.html +7 -7
- package/SVF-doxygen/html/html/NodeIDAllocator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/NodeIDAllocator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/PCG_8h_source.html +7 -7
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +9 -9
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/PTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PersistentPointsToCache_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PersistentPointsToDS_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +31 -31
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +63 -63
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +83 -84
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/PointsTo_8h_source.html +3 -3
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SCC_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +5 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +85 -85
- package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +23 -27
- package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +73 -74
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +14 -14
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFGStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/SVFGStat_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +25 -25
- package/SVF-doxygen/html/html/SVFG_8h_source.html +12 -12
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +58 -58
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +75 -75
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +34 -34
- package/SVF-doxygen/html/html/SVFLoop_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +13 -13
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +10 -10
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +23 -23
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +8 -8
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SaberAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +34 -34
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +47 -47
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +59 -59
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +4 -4
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +40 -40
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +16 -16
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +13 -13
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +22 -23
- package/SVF-doxygen/html/html/TCT_8h_source.html +21 -21
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +8 -8
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +6 -6
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/TypeAnalysis_8h_source.html +6 -6
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +1 -14
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +97 -97
- package/SVF-doxygen/html/html/VFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +8 -8
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +72 -69
- package/SVF-doxygen/html/html/VFG_8h_source.html +57 -57
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +7 -7
- package/SVF-doxygen/html/html/WPAFSSolver_8h_source.html +5 -5
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +6 -6
- package/SVF-doxygen/html/html/WPASolver_8h_source.html +3 -3
- package/SVF-doxygen/html/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WorkList_8h_source.html +2 -2
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +64 -66
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +216 -217
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +15 -17
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +259 -260
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +16 -18
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +271 -272
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +12 -14
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +257 -258
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +6 -8
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +164 -165
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +67 -69
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1BreakConstantGEPs.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias-members.html +191 -192
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +20 -22
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase-members.html +185 -186
- package/SVF-doxygen/html/html/classSVF_1_1CFLBase.html +9 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CFLStat.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF-members.html +189 -190
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +2 -4
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +57 -57
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CSC.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +153 -154
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +19 -21
- package/SVF-doxygen/html/html/classSVF_1_1CondStdSet.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CondVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +80 -80
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +120 -120
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +255 -256
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CxtProc.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadProc.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +88 -88
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +283 -284
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -5
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +249 -250
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +28 -30
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +274 -275
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +88 -90
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +31 -31
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +41 -42
- package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraph.html +44 -44
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase_1_1SymbolHash.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +71 -67
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ICFGStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +60 -60
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IteratedDominanceFrontier.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +51 -51
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +70 -71
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +108 -108
- package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +55 -55
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +40 -40
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemRegion.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1MemSSAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MergeFunctionRets.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MutableDFPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ObjTypeInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTACFInfoBuilder.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDFPTData.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PersistentDiffPTData.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPTData.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PersistentPointsToCache.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +120 -121
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +258 -276
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SCCDetection_1_1GNodeSCCInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +97 -97
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +52 -52
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SVFGStat.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +79 -79
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +255 -255
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +132 -132
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +103 -103
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html +45 -45
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +228 -229
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -7
- package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +71 -71
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +59 -60
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +221 -222
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +24 -26
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +168 -165
- package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +324 -325
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +70 -72
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive_1_1SCC.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAFSSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPAMinimumSolver.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1WPASCCSolver.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +1 -1
- package/SVF-doxygen/html/html/classllvm_1_1generic__bridge__gep__type__iterator.html +3 -3
- package/SVF-doxygen/html/html/functions_a.html +9 -12
- package/SVF-doxygen/html/html/functions_func.html +4 -4
- package/SVF-doxygen/html/html/functions_func_i.html +3 -3
- package/SVF-doxygen/html/html/functions_func_r.html +8 -8
- package/SVF-doxygen/html/html/functions_func_s.html +1 -1
- package/SVF-doxygen/html/html/functions_i.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +8 -8
- package/SVF-doxygen/html/html/functions_n.html +4 -4
- package/SVF-doxygen/html/html/functions_o.html +8 -8
- package/SVF-doxygen/html/html/functions_p.html +14 -16
- package/SVF-doxygen/html/html/functions_r.html +10 -12
- package/SVF-doxygen/html/html/functions_s.html +7 -7
- package/SVF-doxygen/html/html/functions_type.html +0 -3
- package/SVF-doxygen/html/html/functions_v.html +6 -6
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/namespaceSVF.html +175 -193
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +55 -55
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +44 -44
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +46 -46
- package/SVF-doxygen/html/html/namespacemembers_s.html +0 -3
- package/SVF-doxygen/html/html/namespacemembers_type_s.html +0 -3
- package/SVF-doxygen/html/html/search/all_1.js +4 -5
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_11.js +10 -10
- package/SVF-doxygen/html/html/search/all_12.js +5 -6
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_15.js +3 -3
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +2 -2
- package/SVF-doxygen/html/html/search/all_c.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +2 -2
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +4 -4
- package/SVF-doxygen/html/html/search/functions_10.js +8 -8
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_8.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +0 -1
- package/SVF-doxygen/html/html/search/typedefs_10.js +0 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1Hash.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__convert__val_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01const_01From_01_5const_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__impl_3_01To_00_01std_1_1unique__ptr_3_01From_01_4_01_4.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1cast__retty__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__simple__type.html +2 -2
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl_3_01To_00_01From_00_01typename_01std_1_1enable__if_3_01std_1_1101a002941fb8432b76e90258f1ec6b7.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01From_01_5const_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__cl_3_01To_00_01const_01std_1_1unique__ptr_3_01From_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap.html +5 -5
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1isa__impl__wrap_3_01To_00_01FromTy_00_01FromTy_01_4.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type.html +4 -4
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1simplify__type_3_01const_01From_01_4.html +6 -6
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +15 -15
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +3 -3
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +17 -17
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01TCT_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +21 -21
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_4_01_4.html +14 -14
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1ICFGNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01Inverse_3_01SVF_1_1VFGNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericGraph_3_01NodeTy_00_01EdgeTy_01_4_01_5_4.html +20 -20
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1GenericNode_3_01NodeTy_00_01EdgeTy_01_4_01_5_01_4.html +16 -16
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFGNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFGNode_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1GraphTraits_3_01SVF_1_1VFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1LocationSet_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1NodePair_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +6 -6
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +8 -8
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +9 -9
- package/include/Graphs/ConsGNode.h +48 -24
- package/include/Graphs/GenericGraph.h +4 -2
- package/include/Graphs/ICFG.h +3 -2
- package/include/Graphs/SVFGOPT.h +7 -7
- package/include/Graphs/VFG.h +3 -2
- package/include/MSSA/MemSSA.h +6 -6
- package/include/MemoryModel/PersistentPointsToDS.h +1 -1
- package/include/MemoryModel/PointerAnalysis.h +0 -1
- package/include/MemoryModel/SVFIR.h +3 -1
- package/include/SABER/SaberCondAllocator.h +7 -2
- package/include/SVF-FE/BasicTypes.h +7 -1
- package/include/SVF-FE/IRAnnotator.h +3 -1
- package/include/Util/BasicTypes.h +1 -22
- package/include/Util/Casting.h +1 -0
- package/include/Util/SVFBasicTypes.h +0 -5
- package/include/Util/SparseBitVector.h +2 -0
- package/lib/DDA/ContextDDA.cpp +8 -5
- package/lib/Graphs/ConsG.cpp +46 -23
- package/lib/Graphs/ICFG.cpp +8 -4
- package/lib/Graphs/VFG.cpp +6 -3
- package/lib/MSSA/MemRegion.cpp +1 -0
- package/lib/MTA/MHP.cpp +4 -4
- package/lib/MTA/TCT.cpp +2 -1
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +3 -1
- package/lib/SABER/SaberCondAllocator.cpp +3 -1
- package/lib/SVF-FE/CHGBuilder.cpp +2 -2
- package/lib/SVF-FE/SVFIRBuilder.cpp +4 -1
- package/lib/WPA/AndersenSFR.cpp +3 -0
- package/lib/WPA/TypeAnalysis.cpp +1 -0
- package/package.json +1 -1
package/include/MSSA/MemSSA.h
CHANGED
|
@@ -324,9 +324,9 @@ public:
|
|
|
324
324
|
{
|
|
325
325
|
if (const LoadStmt* load = SVFUtil::dyn_cast<LoadStmt>(inst))
|
|
326
326
|
{
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
return
|
|
327
|
+
bool hasMu = load2MuSetMap.count(load) != 0;
|
|
328
|
+
assert(hasMu && "not associated with mem region!");
|
|
329
|
+
return hasMu;
|
|
330
330
|
}
|
|
331
331
|
else
|
|
332
332
|
return false;
|
|
@@ -336,9 +336,9 @@ public:
|
|
|
336
336
|
if (const StoreStmt* store = SVFUtil::dyn_cast<StoreStmt>(
|
|
337
337
|
inst))
|
|
338
338
|
{
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
return
|
|
339
|
+
bool has_store = store2ChiSetMap.count(store) != 0;
|
|
340
|
+
assert(has_store && "not associated with mem region!");
|
|
341
|
+
return has_store;
|
|
342
342
|
}
|
|
343
343
|
else
|
|
344
344
|
return false;
|
|
@@ -363,7 +363,7 @@ public:
|
|
|
363
363
|
virtual inline const KeySet& getRevPts(const Data&) override
|
|
364
364
|
{
|
|
365
365
|
assert(false && "PersistentDFPTData::getRevPts: not supported yet!");
|
|
366
|
-
|
|
366
|
+
abort();
|
|
367
367
|
}
|
|
368
368
|
|
|
369
369
|
virtual inline bool unionPts(const Key& dstKey, const Key& srcKey) override
|
|
@@ -99,7 +99,6 @@ public:
|
|
|
99
99
|
|
|
100
100
|
/// Indirect call edges type, map a callsite to a set of callees
|
|
101
101
|
//@{
|
|
102
|
-
typedef llvm::AliasAnalysis AliasAnalysis;
|
|
103
102
|
typedef Set<const CallICFGNode*> CallSiteSet;
|
|
104
103
|
typedef SVFIR::CallSiteToFunPtrMap CallSiteToFunPtrMap;
|
|
105
104
|
typedef Set<const SVFFunction*> FunctionSet;
|
|
@@ -456,6 +456,7 @@ private:
|
|
|
456
456
|
inline void addToStmt2TypeMap(SVFStmt* edge)
|
|
457
457
|
{
|
|
458
458
|
bool added = KindToSVFStmtSetMap[edge->getEdgeKind()].insert(edge).second;
|
|
459
|
+
(void)added; // Suppress warning of unused variable under release build
|
|
459
460
|
assert(added && "duplicated edge, not added!!!");
|
|
460
461
|
if (edge->isPTAEdge())
|
|
461
462
|
{
|
|
@@ -494,7 +495,8 @@ private:
|
|
|
494
495
|
/// Add indirect callsites
|
|
495
496
|
inline void addIndirectCallsites(const CallICFGNode* cs,NodeID funPtr)
|
|
496
497
|
{
|
|
497
|
-
bool added = indCallSiteToFunPtrMap.
|
|
498
|
+
bool added = indCallSiteToFunPtrMap.emplace(cs, funPtr).second;
|
|
499
|
+
(void) added;
|
|
498
500
|
funPtrToCallSitesMap[funPtr].insert(cs);
|
|
499
501
|
assert(added && "adding the same indirect callsite twice?");
|
|
500
502
|
}
|
|
@@ -148,7 +148,9 @@ public:
|
|
|
148
148
|
{
|
|
149
149
|
const SVFFunction* keyFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbKey->getParent());
|
|
150
150
|
const SVFFunction* valueFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbValue->getParent());
|
|
151
|
-
|
|
151
|
+
bool funcEq = (keyFunc == valueFunc);
|
|
152
|
+
(void)funcEq; // Suppress warning of unused variable under release build
|
|
153
|
+
assert(funcEq && "two basicblocks should be in the same function!");
|
|
152
154
|
|
|
153
155
|
return keyFunc->postDominate(bbKey,bbValue);
|
|
154
156
|
}
|
|
@@ -157,7 +159,10 @@ public:
|
|
|
157
159
|
{
|
|
158
160
|
const SVFFunction* keyFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbKey->getParent());
|
|
159
161
|
const SVFFunction* valueFunc = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(bbValue->getParent());
|
|
160
|
-
|
|
162
|
+
bool funcEq = (keyFunc == valueFunc);
|
|
163
|
+
(void)funcEq; // Suppress warning of unused variable under release build
|
|
164
|
+
|
|
165
|
+
assert(funcEq && "two basicblocks should be in the same function!");
|
|
161
166
|
|
|
162
167
|
return keyFunc->dominate(bbKey,bbValue);
|
|
163
168
|
}
|
|
@@ -27,7 +27,13 @@
|
|
|
27
27
|
|
|
28
28
|
#include <llvm/Support/SourceMgr.h>
|
|
29
29
|
|
|
30
|
-
#include
|
|
30
|
+
#include <llvm/Bitcode/BitcodeWriter.h> // for WriteBitcodeToFile
|
|
31
|
+
#include <llvm/Bitcode/BitcodeReader.h> /// for isBitcode
|
|
32
|
+
#include <llvm/IRReader/IRReader.h> // IR reader for bit file
|
|
33
|
+
#include <llvm/IR/InstVisitor.h> // for instruction visitor
|
|
34
|
+
#include <llvm/IR/InstIterator.h> // for inst iteration
|
|
35
|
+
|
|
36
|
+
#include <llvm/Analysis/LoopInfo.h>
|
|
31
37
|
|
|
32
38
|
namespace SVF
|
|
33
39
|
{
|
|
@@ -101,7 +101,9 @@ private:
|
|
|
101
101
|
LocationSet locationSet = LocationSet(locationSetOffset);
|
|
102
102
|
SVF::NodeID gepnodeId = pag->getGepObjVar(baseNodeId, locationSet);
|
|
103
103
|
|
|
104
|
-
|
|
104
|
+
bool idEq = (nodeId == gepnodeId);
|
|
105
|
+
(void)idEq; // Suppress warning of unused variable under release build
|
|
106
|
+
assert(idEq && "nodeId is not equal to gepnodeId?");
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
109
|
|
|
@@ -33,37 +33,16 @@
|
|
|
33
33
|
#include "Util/SVFBasicTypes.h"
|
|
34
34
|
#include "Graphs/GraphPrinter.h"
|
|
35
35
|
#include "Util/Casting.h"
|
|
36
|
-
#include <llvm/ADT/SparseBitVector.h>
|
|
37
36
|
#include <llvm/IR/Instructions.h>
|
|
38
|
-
#include <llvm/IR/InstVisitor.h> // for instruction visitor
|
|
39
|
-
#include <llvm/IR/InstIterator.h> // for inst iteration
|
|
40
37
|
#include <llvm/IR/GetElementPtrTypeIterator.h> //for gep iterator
|
|
41
|
-
#include <llvm/ADT/StringExtras.h> // for utostr_32
|
|
42
|
-
#include <llvm/Analysis/AliasAnalysis.h>
|
|
43
|
-
#include <llvm/Analysis/CallGraph.h> // call graph
|
|
44
38
|
#include <llvm/IR/GlobalVariable.h> // for GlobalVariable
|
|
39
|
+
#include <llvm/IR/BasicBlock.h>
|
|
45
40
|
|
|
46
|
-
#include <llvm/Bitcode/BitcodeWriter.h> // for WriteBitcodeToFile
|
|
47
|
-
#include <llvm/Bitcode/BitcodeReader.h> /// for isBitcode
|
|
48
|
-
#include <llvm/IRReader/IRReader.h> // IR reader for bit file
|
|
49
|
-
#include <llvm/Analysis/DominanceFrontier.h>
|
|
50
|
-
#include <llvm/Analysis/PostDominators.h>
|
|
51
|
-
#include <llvm/ADT/GraphTraits.h> // for Graphtraits
|
|
52
|
-
#include <llvm/Transforms/Utils/Local.h> // for FindDbgAddrUses
|
|
53
|
-
|
|
54
|
-
#if (LLVM_VERSION_MAJOR >= 14)
|
|
55
|
-
#include <llvm/BinaryFormat/Dwarf.h>
|
|
56
|
-
#endif
|
|
57
|
-
|
|
58
|
-
#include "llvm/IR/CFG.h"
|
|
59
41
|
#include "llvm/BinaryFormat/Dwarf.h"
|
|
60
42
|
|
|
61
43
|
namespace SVF
|
|
62
44
|
{
|
|
63
45
|
|
|
64
|
-
class BddCond;
|
|
65
|
-
|
|
66
|
-
|
|
67
46
|
/// LLVM Basic classes
|
|
68
47
|
typedef llvm::Type Type;
|
|
69
48
|
typedef llvm::Function Function;
|
package/include/Util/Casting.h
CHANGED
|
@@ -31,10 +31,6 @@
|
|
|
31
31
|
#ifndef INCLUDE_UTIL_SVFBASICTYPES_H_
|
|
32
32
|
#define INCLUDE_UTIL_SVFBASICTYPES_H_
|
|
33
33
|
|
|
34
|
-
// TODO: these are just for SmallBBVector.
|
|
35
|
-
#include <llvm/IR/BasicBlock.h>
|
|
36
|
-
#include <llvm/ADT/SmallVector.h>
|
|
37
|
-
|
|
38
34
|
#include <llvm/Support/CommandLine.h> // for command line options
|
|
39
35
|
|
|
40
36
|
#include <Util/SparseBitVector.h>
|
|
@@ -116,7 +112,6 @@ template<typename Key, typename Value, typename Hash = Hash<Key>,
|
|
|
116
112
|
typename Allocator = std::allocator<std::pair<const Key, Value>>>
|
|
117
113
|
using OrderedMap = std::map<Key, Value, Compare, Allocator>;
|
|
118
114
|
|
|
119
|
-
typedef llvm::SmallVector<llvm::BasicBlock*, 8> SmallBBVector;
|
|
120
115
|
typedef std::pair<NodeID, NodeID> NodePair;
|
|
121
116
|
typedef OrderedSet<NodeID> OrderedNodeSet;
|
|
122
117
|
typedef Set<NodeID> NodeSet;
|
|
@@ -321,6 +321,7 @@ public:
|
|
|
321
321
|
if (Bits[i] != 0)
|
|
322
322
|
return i * BITWORD_SIZE + countTrailingZeros(Bits[i]);
|
|
323
323
|
assert(false && "SBV: find_first: SBV cannot be empty");
|
|
324
|
+
abort();
|
|
324
325
|
}
|
|
325
326
|
|
|
326
327
|
/// find_last - Returns the index of the last set bit.
|
|
@@ -334,6 +335,7 @@ public:
|
|
|
334
335
|
countLeadingZeros(Bits[Idx]) - 1;
|
|
335
336
|
}
|
|
336
337
|
assert(false && "SBV: find_last: SBV cannot be empty");
|
|
338
|
+
abort();
|
|
337
339
|
}
|
|
338
340
|
|
|
339
341
|
/// find_next - Returns the index of the next set bit starting from the
|
package/lib/DDA/ContextDDA.cpp
CHANGED
|
@@ -335,22 +335,25 @@ bool ContextDDA::isHeapCondMemObj(const CxtVar& var, const StoreSVFGNode*)
|
|
|
335
335
|
{
|
|
336
336
|
const MemObj* mem = _pag->getObject(getPtrNodeID(var));
|
|
337
337
|
assert(mem && "memory object is null??");
|
|
338
|
-
if(mem->isHeap())
|
|
338
|
+
if (mem->isHeap())
|
|
339
339
|
{
|
|
340
340
|
if (!mem->getValue())
|
|
341
341
|
{
|
|
342
342
|
PAGNode *pnode = _pag->getGNode(getPtrNodeID(var));
|
|
343
|
-
|
|
343
|
+
GepObjVar* gepobj = SVFUtil::dyn_cast<GepObjVar>(pnode);
|
|
344
|
+
if (gepobj != nullptr)
|
|
344
345
|
{
|
|
345
|
-
assert(SVFUtil::isa<DummyObjVar>(_pag->getGNode(gepobj->getBaseNode()))
|
|
346
|
+
assert(SVFUtil::isa<DummyObjVar>(_pag->getGNode(gepobj->getBaseNode()))
|
|
347
|
+
&& "emtpy refVal in a gep object whose base is a non-dummy object");
|
|
346
348
|
}
|
|
347
349
|
else
|
|
348
350
|
{
|
|
349
|
-
assert((SVFUtil::isa<DummyObjVar>(pnode) || SVFUtil::isa<DummyValVar>(pnode))
|
|
351
|
+
assert((SVFUtil::isa<DummyObjVar>(pnode) || SVFUtil::isa<DummyValVar>(pnode))
|
|
352
|
+
&& "empty refVal in non-dummy object");
|
|
350
353
|
}
|
|
351
354
|
return true;
|
|
352
355
|
}
|
|
353
|
-
else if(const Instruction* mallocSite = SVFUtil::dyn_cast<Instruction>(mem->getValue()))
|
|
356
|
+
else if (const Instruction* mallocSite = SVFUtil::dyn_cast<Instruction>(mem->getValue()))
|
|
354
357
|
{
|
|
355
358
|
const Function* fun = mallocSite->getFunction();
|
|
356
359
|
const SVFFunction* svfFun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(fun);
|
package/lib/Graphs/ConsG.cpp
CHANGED
|
@@ -157,8 +157,11 @@ AddrCGEdge::AddrCGEdge(ConstraintNode* s, ConstraintNode* d, EdgeID id)
|
|
|
157
157
|
{
|
|
158
158
|
// Retarget addr edges may lead s to be a dummy node
|
|
159
159
|
PAGNode* node = SVFIR::getPAG()->getGNode(s->getId());
|
|
160
|
+
(void)node; // Suppress warning of unused variable under release build
|
|
160
161
|
if (!SVFModule::pagReadFromTXT())
|
|
162
|
+
{
|
|
161
163
|
assert(!SVFUtil::isa<DummyValVar>(node) && "a dummy node??");
|
|
164
|
+
}
|
|
162
165
|
}
|
|
163
166
|
|
|
164
167
|
/*!
|
|
@@ -168,11 +171,14 @@ AddrCGEdge* ConstraintGraph::addAddrCGEdge(NodeID src, NodeID dst)
|
|
|
168
171
|
{
|
|
169
172
|
ConstraintNode* srcNode = getConstraintNode(src);
|
|
170
173
|
ConstraintNode* dstNode = getConstraintNode(dst);
|
|
171
|
-
if(hasEdge(srcNode,dstNode,ConstraintEdge::Addr))
|
|
174
|
+
if (hasEdge(srcNode, dstNode, ConstraintEdge::Addr))
|
|
172
175
|
return nullptr;
|
|
173
176
|
AddrCGEdge* edge = new AddrCGEdge(srcNode, dstNode, edgeIndex++);
|
|
174
|
-
|
|
175
|
-
|
|
177
|
+
|
|
178
|
+
bool inserted = AddrCGEdgeSet.insert(edge).second;
|
|
179
|
+
(void)inserted; // Suppress warning of unused variable under release build
|
|
180
|
+
assert(inserted && "new AddrCGEdge not added??");
|
|
181
|
+
|
|
176
182
|
srcNode->addOutgoingAddrEdge(edge);
|
|
177
183
|
dstNode->addIncomingAddrEdge(edge);
|
|
178
184
|
return edge;
|
|
@@ -186,13 +192,15 @@ CopyCGEdge* ConstraintGraph::addCopyCGEdge(NodeID src, NodeID dst)
|
|
|
186
192
|
|
|
187
193
|
ConstraintNode* srcNode = getConstraintNode(src);
|
|
188
194
|
ConstraintNode* dstNode = getConstraintNode(dst);
|
|
189
|
-
if(hasEdge(srcNode,dstNode,ConstraintEdge::Copy)
|
|
190
|
-
|| srcNode == dstNode)
|
|
195
|
+
if (hasEdge(srcNode, dstNode, ConstraintEdge::Copy) || srcNode == dstNode)
|
|
191
196
|
return nullptr;
|
|
192
197
|
|
|
193
198
|
CopyCGEdge* edge = new CopyCGEdge(srcNode, dstNode, edgeIndex++);
|
|
194
|
-
|
|
195
|
-
|
|
199
|
+
|
|
200
|
+
bool inserted = directEdgeSet.insert(edge).second;
|
|
201
|
+
(void)inserted; // Suppress warning of unused variable under release build
|
|
202
|
+
assert(inserted && "new CopyCGEdge not added??");
|
|
203
|
+
|
|
196
204
|
srcNode->addOutgoingCopyEdge(edge);
|
|
197
205
|
dstNode->addIncomingCopyEdge(edge);
|
|
198
206
|
return edge;
|
|
@@ -206,12 +214,15 @@ NormalGepCGEdge* ConstraintGraph::addNormalGepCGEdge(NodeID src, NodeID dst, co
|
|
|
206
214
|
{
|
|
207
215
|
ConstraintNode* srcNode = getConstraintNode(src);
|
|
208
216
|
ConstraintNode* dstNode = getConstraintNode(dst);
|
|
209
|
-
if(hasEdge(srcNode,dstNode,ConstraintEdge::NormalGep))
|
|
217
|
+
if (hasEdge(srcNode, dstNode, ConstraintEdge::NormalGep))
|
|
210
218
|
return nullptr;
|
|
211
219
|
|
|
212
220
|
NormalGepCGEdge* edge = new NormalGepCGEdge(srcNode, dstNode,ls, edgeIndex++);
|
|
213
|
-
|
|
214
|
-
|
|
221
|
+
|
|
222
|
+
bool inserted = directEdgeSet.insert(edge).second;
|
|
223
|
+
(void)inserted; // Suppress warning of unused variable under release build
|
|
224
|
+
assert(inserted && "new NormalGepCGEdge not added??");
|
|
225
|
+
|
|
215
226
|
srcNode->addOutgoingGepEdge(edge);
|
|
216
227
|
dstNode->addIncomingGepEdge(edge);
|
|
217
228
|
return edge;
|
|
@@ -224,12 +235,15 @@ VariantGepCGEdge* ConstraintGraph::addVariantGepCGEdge(NodeID src, NodeID dst)
|
|
|
224
235
|
{
|
|
225
236
|
ConstraintNode* srcNode = getConstraintNode(src);
|
|
226
237
|
ConstraintNode* dstNode = getConstraintNode(dst);
|
|
227
|
-
if(hasEdge(srcNode,dstNode,ConstraintEdge::VariantGep))
|
|
238
|
+
if (hasEdge(srcNode, dstNode, ConstraintEdge::VariantGep))
|
|
228
239
|
return nullptr;
|
|
229
240
|
|
|
230
241
|
VariantGepCGEdge* edge = new VariantGepCGEdge(srcNode, dstNode, edgeIndex++);
|
|
231
|
-
|
|
232
|
-
|
|
242
|
+
|
|
243
|
+
bool inserted = directEdgeSet.insert(edge).second;
|
|
244
|
+
(void)inserted; // Suppress warning of unused variable under release build
|
|
245
|
+
assert(inserted && "new VariantGepCGEdge not added??");
|
|
246
|
+
|
|
233
247
|
srcNode->addOutgoingGepEdge(edge);
|
|
234
248
|
dstNode->addIncomingGepEdge(edge);
|
|
235
249
|
return edge;
|
|
@@ -242,12 +256,15 @@ LoadCGEdge* ConstraintGraph::addLoadCGEdge(NodeID src, NodeID dst)
|
|
|
242
256
|
{
|
|
243
257
|
ConstraintNode* srcNode = getConstraintNode(src);
|
|
244
258
|
ConstraintNode* dstNode = getConstraintNode(dst);
|
|
245
|
-
if(hasEdge(srcNode,dstNode,ConstraintEdge::Load))
|
|
259
|
+
if (hasEdge(srcNode, dstNode, ConstraintEdge::Load))
|
|
246
260
|
return nullptr;
|
|
247
261
|
|
|
248
262
|
LoadCGEdge* edge = new LoadCGEdge(srcNode, dstNode, edgeIndex++);
|
|
249
|
-
|
|
250
|
-
|
|
263
|
+
|
|
264
|
+
bool inserted = LoadCGEdgeSet.insert(edge).second;
|
|
265
|
+
(void)inserted; // Suppress warning of unused variable under release build
|
|
266
|
+
assert(inserted && "new LoadCGEdge not added??");
|
|
267
|
+
|
|
251
268
|
srcNode->addOutgoingLoadEdge(edge);
|
|
252
269
|
dstNode->addIncomingLoadEdge(edge);
|
|
253
270
|
return edge;
|
|
@@ -260,12 +277,15 @@ StoreCGEdge* ConstraintGraph::addStoreCGEdge(NodeID src, NodeID dst)
|
|
|
260
277
|
{
|
|
261
278
|
ConstraintNode* srcNode = getConstraintNode(src);
|
|
262
279
|
ConstraintNode* dstNode = getConstraintNode(dst);
|
|
263
|
-
if(hasEdge(srcNode,dstNode,ConstraintEdge::Store))
|
|
280
|
+
if (hasEdge(srcNode, dstNode, ConstraintEdge::Store))
|
|
264
281
|
return nullptr;
|
|
265
282
|
|
|
266
283
|
StoreCGEdge* edge = new StoreCGEdge(srcNode, dstNode, edgeIndex++);
|
|
267
|
-
|
|
268
|
-
|
|
284
|
+
|
|
285
|
+
bool inserted = StoreCGEdgeSet.insert(edge).second;
|
|
286
|
+
(void)inserted; // Suppress warning of unused variable under release build
|
|
287
|
+
assert(inserted && "new StoreCGEdge not added??");
|
|
288
|
+
|
|
269
289
|
srcNode->addOutgoingStoreEdge(edge);
|
|
270
290
|
dstNode->addIncomingStoreEdge(edge);
|
|
271
291
|
return edge;
|
|
@@ -369,8 +389,9 @@ void ConstraintGraph::removeAddrEdge(AddrCGEdge* edge)
|
|
|
369
389
|
getConstraintNode(edge->getSrcID())->removeOutgoingAddrEdge(edge);
|
|
370
390
|
getConstraintNode(edge->getDstID())->removeIncomingAddrEdge(edge);
|
|
371
391
|
u32_t num = AddrCGEdgeSet.erase(edge);
|
|
372
|
-
|
|
392
|
+
(void)num; // Suppress warning of unused variable under release build
|
|
373
393
|
assert(num && "edge not in the set, can not remove!!!");
|
|
394
|
+
delete edge;
|
|
374
395
|
}
|
|
375
396
|
|
|
376
397
|
/*!
|
|
@@ -381,8 +402,9 @@ void ConstraintGraph::removeLoadEdge(LoadCGEdge* edge)
|
|
|
381
402
|
getConstraintNode(edge->getSrcID())->removeOutgoingLoadEdge(edge);
|
|
382
403
|
getConstraintNode(edge->getDstID())->removeIncomingLoadEdge(edge);
|
|
383
404
|
u32_t num = LoadCGEdgeSet.erase(edge);
|
|
384
|
-
|
|
405
|
+
(void)num; // Suppress warning of unused variable under release build
|
|
385
406
|
assert(num && "edge not in the set, can not remove!!!");
|
|
407
|
+
delete edge;
|
|
386
408
|
}
|
|
387
409
|
|
|
388
410
|
/*!
|
|
@@ -393,8 +415,9 @@ void ConstraintGraph::removeStoreEdge(StoreCGEdge* edge)
|
|
|
393
415
|
getConstraintNode(edge->getSrcID())->removeOutgoingStoreEdge(edge);
|
|
394
416
|
getConstraintNode(edge->getDstID())->removeIncomingStoreEdge(edge);
|
|
395
417
|
u32_t num = StoreCGEdgeSet.erase(edge);
|
|
396
|
-
|
|
418
|
+
(void)num; // Suppress warning of unused variable under release build
|
|
397
419
|
assert(num && "edge not in the set, can not remove!!!");
|
|
420
|
+
delete edge;
|
|
398
421
|
}
|
|
399
422
|
|
|
400
423
|
/*!
|
|
@@ -406,7 +429,7 @@ void ConstraintGraph::removeDirectEdge(ConstraintEdge* edge)
|
|
|
406
429
|
getConstraintNode(edge->getSrcID())->removeOutgoingDirectEdge(edge);
|
|
407
430
|
getConstraintNode(edge->getDstID())->removeIncomingDirectEdge(edge);
|
|
408
431
|
u32_t num = directEdgeSet.erase(edge);
|
|
409
|
-
|
|
432
|
+
(void)num; // Suppress warning of unused variable under release build
|
|
410
433
|
assert(num && "edge not in the set, can not remove!!!");
|
|
411
434
|
delete edge;
|
|
412
435
|
}
|
package/lib/Graphs/ICFG.cpp
CHANGED
|
@@ -364,7 +364,8 @@ ICFGEdge* ICFG::getICFGEdge(const ICFGNode* src, const ICFGNode* dst, ICFGEdge::
|
|
|
364
364
|
ICFGEdge* ICFG::addIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode)
|
|
365
365
|
{
|
|
366
366
|
checkIntraEdgeParents(srcNode, dstNode);
|
|
367
|
-
|
|
367
|
+
ICFGEdge* edge = hasIntraICFGEdge(srcNode, dstNode, ICFGEdge::IntraCF);
|
|
368
|
+
if (edge != nullptr)
|
|
368
369
|
{
|
|
369
370
|
assert(edge->isIntraCFGEdge() && "this should be an intra CFG edge!");
|
|
370
371
|
return nullptr;
|
|
@@ -383,7 +384,8 @@ ICFGEdge* ICFG::addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, co
|
|
|
383
384
|
{
|
|
384
385
|
|
|
385
386
|
checkIntraEdgeParents(srcNode, dstNode);
|
|
386
|
-
|
|
387
|
+
ICFGEdge* edge = hasIntraICFGEdge(srcNode, dstNode, ICFGEdge::IntraCF);
|
|
388
|
+
if (edge != nullptr)
|
|
387
389
|
{
|
|
388
390
|
assert(edge->isIntraCFGEdge() && "this should be an intra CFG edge!");
|
|
389
391
|
return nullptr;
|
|
@@ -402,7 +404,8 @@ ICFGEdge* ICFG::addConditionalIntraEdge(ICFGNode* srcNode, ICFGNode* dstNode, co
|
|
|
402
404
|
*/
|
|
403
405
|
ICFGEdge* ICFG::addCallEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruction* cs)
|
|
404
406
|
{
|
|
405
|
-
|
|
407
|
+
ICFGEdge* edge = hasInterICFGEdge(srcNode,dstNode, ICFGEdge::CallCF);
|
|
408
|
+
if (edge != nullptr)
|
|
406
409
|
{
|
|
407
410
|
assert(edge->isCallCFGEdge() && "this should be a call CFG edge!");
|
|
408
411
|
return nullptr;
|
|
@@ -419,7 +422,8 @@ ICFGEdge* ICFG::addCallEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruct
|
|
|
419
422
|
*/
|
|
420
423
|
ICFGEdge* ICFG::addRetEdge(ICFGNode* srcNode, ICFGNode* dstNode, const Instruction* cs)
|
|
421
424
|
{
|
|
422
|
-
|
|
425
|
+
ICFGEdge* edge = hasInterICFGEdge(srcNode, dstNode, ICFGEdge::RetCF);
|
|
426
|
+
if (edge != nullptr)
|
|
423
427
|
{
|
|
424
428
|
assert(edge->isRetCFGEdge() && "this should be a return CFG edge!");
|
|
425
429
|
return nullptr;
|
package/lib/Graphs/VFG.cpp
CHANGED
|
@@ -677,7 +677,8 @@ VFGEdge* VFG::addIntraDirectVFEdge(NodeID srcId, NodeID dstId)
|
|
|
677
677
|
VFGNode* srcNode = getVFGNode(srcId);
|
|
678
678
|
VFGNode* dstNode = getVFGNode(dstId);
|
|
679
679
|
checkIntraEdgeParents(srcNode, dstNode);
|
|
680
|
-
|
|
680
|
+
VFGEdge* edge = hasIntraVFGEdge(srcNode, dstNode, VFGEdge::IntraDirectVF);
|
|
681
|
+
if (edge != nullptr)
|
|
681
682
|
{
|
|
682
683
|
assert(edge->isDirectVFGEdge() && "this should be a direct value flow edge!");
|
|
683
684
|
return nullptr;
|
|
@@ -701,7 +702,8 @@ VFGEdge* VFG::addCallEdge(NodeID srcId, NodeID dstId, CallSiteID csId)
|
|
|
701
702
|
{
|
|
702
703
|
VFGNode* srcNode = getVFGNode(srcId);
|
|
703
704
|
VFGNode* dstNode = getVFGNode(dstId);
|
|
704
|
-
|
|
705
|
+
VFGEdge* edge = hasInterVFGEdge(srcNode, dstNode, VFGEdge::CallDirVF, csId);
|
|
706
|
+
if (edge != nullptr)
|
|
705
707
|
{
|
|
706
708
|
assert(edge->isCallDirectVFGEdge() && "this should be a direct value flow edge!");
|
|
707
709
|
return nullptr;
|
|
@@ -720,7 +722,8 @@ VFGEdge* VFG::addRetEdge(NodeID srcId, NodeID dstId, CallSiteID csId)
|
|
|
720
722
|
{
|
|
721
723
|
VFGNode* srcNode = getVFGNode(srcId);
|
|
722
724
|
VFGNode* dstNode = getVFGNode(dstId);
|
|
723
|
-
|
|
725
|
+
VFGEdge* edge = hasInterVFGEdge(srcNode, dstNode, VFGEdge::RetDirVF, csId);
|
|
726
|
+
if (edge != nullptr)
|
|
724
727
|
{
|
|
725
728
|
assert(edge->isRetDirectVFGEdge() && "this should be a direct value flow edge!");
|
|
726
729
|
return nullptr;
|
package/lib/MSSA/MemRegion.cpp
CHANGED
|
@@ -562,6 +562,7 @@ void MRGenerator::getEscapObjviaGlobals(NodeBS& globs, const NodeBS& calleeModRe
|
|
|
562
562
|
for(NodeBS::iterator it = calleeModRef.begin(), eit = calleeModRef.end(); it!=eit; ++it)
|
|
563
563
|
{
|
|
564
564
|
const MemObj* obj = pta->getPAG()->getObject(*it);
|
|
565
|
+
(void)obj; // Suppress warning of unused variable under release build
|
|
565
566
|
assert(obj && "object not found!!");
|
|
566
567
|
if(allGlobals.test(*it))
|
|
567
568
|
globs.set(*it);
|
package/lib/MTA/MHP.cpp
CHANGED
|
@@ -267,7 +267,7 @@ void MHP::handleJoin(const CxtThreadStmt& cts, NodeID rootTid)
|
|
|
267
267
|
{
|
|
268
268
|
if(const Loop* joinLoop = fja->getJoinLoop(call))
|
|
269
269
|
{
|
|
270
|
-
|
|
270
|
+
llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
|
|
271
271
|
joinLoop->getExitBlocks(exitbbs);
|
|
272
272
|
while(!exitbbs.empty())
|
|
273
273
|
{
|
|
@@ -290,7 +290,7 @@ void MHP::handleJoin(const CxtThreadStmt& cts, NodeID rootTid)
|
|
|
290
290
|
{
|
|
291
291
|
if(const Loop* joinLoop = fja->getJoinLoop(call))
|
|
292
292
|
{
|
|
293
|
-
|
|
293
|
+
llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
|
|
294
294
|
joinLoop->getExitBlocks(exitbbs);
|
|
295
295
|
while(!exitbbs.empty())
|
|
296
296
|
{
|
|
@@ -853,7 +853,7 @@ void ForkJoinAnalysis::handleJoin(const CxtStmt& cts, NodeID rootTid)
|
|
|
853
853
|
{
|
|
854
854
|
if(const Loop* joinLoop = getJoinLoop(joinSite))
|
|
855
855
|
{
|
|
856
|
-
|
|
856
|
+
llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
|
|
857
857
|
joinLoop->getExitBlocks(exitbbs);
|
|
858
858
|
while(!exitbbs.empty())
|
|
859
859
|
{
|
|
@@ -882,7 +882,7 @@ void ForkJoinAnalysis::handleJoin(const CxtStmt& cts, NodeID rootTid)
|
|
|
882
882
|
{
|
|
883
883
|
if(const Loop* joinLoop = getJoinLoop(joinSite))
|
|
884
884
|
{
|
|
885
|
-
|
|
885
|
+
llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
|
|
886
886
|
joinLoop->getExitBlocks(exitbbs);
|
|
887
887
|
while(!exitbbs.empty())
|
|
888
888
|
{
|
package/lib/MTA/TCT.cpp
CHANGED
|
@@ -353,7 +353,7 @@ bool TCT::isLoopExitOfJoinLoop(const BasicBlock* bb)
|
|
|
353
353
|
{
|
|
354
354
|
for(InstToLoopMap::const_iterator it = joinSiteToLoopMap.begin(), eit = joinSiteToLoopMap.end(); it!=eit; ++it)
|
|
355
355
|
{
|
|
356
|
-
|
|
356
|
+
llvm::SmallVector<llvm::BasicBlock*, 8> exitbbs;
|
|
357
357
|
it->second->getExitBlocks(exitbbs);
|
|
358
358
|
while(!exitbbs.empty())
|
|
359
359
|
{
|
|
@@ -661,6 +661,7 @@ struct DOTGraphTraits<TCT*> : public DefaultDOTGraphTraits
|
|
|
661
661
|
{
|
|
662
662
|
|
|
663
663
|
TCTEdge* edge = csThreadTree->getGraphEdge(node, *EI, TCTEdge::ThreadCreateEdge);
|
|
664
|
+
(void)edge; // Suppress warning of unused variable under release build
|
|
664
665
|
assert(edge && "No edge found!!");
|
|
665
666
|
/// black edge for direct call while two functions contain indirect calls will be label with red color
|
|
666
667
|
return "color=black";
|
|
@@ -322,7 +322,9 @@ bool BVDataPTAImpl::readFromFile(const string& filename)
|
|
|
322
322
|
ss >> id >> base >> offset;
|
|
323
323
|
|
|
324
324
|
NodeID n = pag->getGepObjVar(base, LocationSet(offset));
|
|
325
|
-
|
|
325
|
+
bool matched = (id == n);
|
|
326
|
+
(void)matched;
|
|
327
|
+
assert(matched && "Error adding GepObjNode into SVFIR!");
|
|
326
328
|
|
|
327
329
|
getline(F, line);
|
|
328
330
|
}
|
|
@@ -309,7 +309,9 @@ SaberCondAllocator::Condition SaberCondAllocator::evaluateBranchCond(const Basic
|
|
|
309
309
|
{
|
|
310
310
|
const BasicBlock *succ1 = branchStmt->getSuccessor(0)->getBB();
|
|
311
311
|
const BasicBlock *succ2 = branchStmt->getSuccessor(1)->getBB();
|
|
312
|
-
|
|
312
|
+
bool is_succ = (succ1 == succ || succ2 == succ);
|
|
313
|
+
(void)is_succ; // Suppress warning of unused variable under release build
|
|
314
|
+
assert(is_succ && "not a successor??");
|
|
313
315
|
|
|
314
316
|
Condition evalLoopExit = evaluateLoopExitBranch(bb, succ);
|
|
315
317
|
if (!eq(evalLoopExit, Condition::nullExpr()))
|
|
@@ -491,8 +491,8 @@ void CHGBuilder::analyzeVTables(const Module &M)
|
|
|
491
491
|
else if (const ConstantExpr *aliasconst =
|
|
492
492
|
SVFUtil::dyn_cast<ConstantExpr>(aliasValue))
|
|
493
493
|
{
|
|
494
|
-
|
|
495
|
-
assert(
|
|
494
|
+
(void)aliasconst; // Suppress warning of unused variable under release build
|
|
495
|
+
assert(aliasconst->getOpcode() == Instruction::BitCast &&
|
|
496
496
|
"aliased constantexpr in vtable not a bitcast");
|
|
497
497
|
const Function* aliasbitcastfunc =
|
|
498
498
|
SVFUtil::dyn_cast<Function>(aliasconst->getOperand(0));
|
|
@@ -621,7 +621,10 @@ void SVFIRBuilder::visitPHINode(PHINode &inst)
|
|
|
621
621
|
{
|
|
622
622
|
const Value* val = inst.getIncomingValue(i);
|
|
623
623
|
const Instruction* incomingInst = SVFUtil::dyn_cast<Instruction>(val);
|
|
624
|
-
|
|
624
|
+
bool matched = (incomingInst == nullptr ||
|
|
625
|
+
incomingInst->getFunction() == inst.getFunction());
|
|
626
|
+
(void) matched; // Suppress warning of unused variable under release build
|
|
627
|
+
assert(matched && "incomingInst's Function incorrect");
|
|
625
628
|
const Instruction* predInst = &inst.getIncomingBlock(i)->back();
|
|
626
629
|
const ICFGNode* icfgNode = pag->getICFG()->getICFGNode(predInst);
|
|
627
630
|
NodeID src = getValueNode(val);
|
package/lib/WPA/AndersenSFR.cpp
CHANGED
|
@@ -139,7 +139,10 @@ void AndersenSFR::fieldExpand(NodeSet& initials, s32_t offset, NodeBS& strides,
|
|
|
139
139
|
else if (SVFUtil::isa<FIObjVar>(initPN) || SVFUtil::isa<DummyObjVar>(initPN))
|
|
140
140
|
initOffset = 0;
|
|
141
141
|
else
|
|
142
|
+
{
|
|
142
143
|
assert(false && "Not an object node!!");
|
|
144
|
+
abort();
|
|
145
|
+
}
|
|
143
146
|
|
|
144
147
|
Set<s32_t> offsets;
|
|
145
148
|
offsets.insert(offset);
|
package/lib/WPA/TypeAnalysis.cpp
CHANGED
|
@@ -85,6 +85,7 @@ void TypeAnalysis::callGraphSolveBasedOnCHA(const CallSiteToFunPtrMap& callsites
|
|
|
85
85
|
{
|
|
86
86
|
virtualCallSites.insert(cs);
|
|
87
87
|
const Value *vtbl = getVCallVtblPtr(cs);
|
|
88
|
+
(void)vtbl; // Suppress warning of unused variable under release build
|
|
88
89
|
assert(pag->hasValueNode(vtbl));
|
|
89
90
|
VFunSet vfns;
|
|
90
91
|
getVFnsFromCHA(cbn, vfns);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.589",
|
|
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": {
|