svf-tools 1.0.320 → 1.0.324
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/AndersenSFR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsGNode_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/ConsG_8h_source.html +15 -15
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +8 -8
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/FlowSensitiveTBHC_8h_source.html +2 -2
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +9 -9
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +24 -24
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +13 -13
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +13 -13
- package/SVF-doxygen/html/html/OfflineConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PTAStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +17 -17
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +18 -18
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +42 -42
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +58 -58
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +153 -154
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +22 -22
- package/SVF-doxygen/html/html/SVFStatements_8h.html +11 -11
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +133 -132
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFVariables_8h.html +9 -9
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +78 -78
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +17 -17
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +48 -48
- package/SVF-doxygen/html/html/VFG_8h_source.html +35 -35
- package/SVF-doxygen/html/html/VersionedFlowSensitiveStat_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt-members.html +137 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +500 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenBase.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1AndersenStat.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt-members.html +155 -0
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +756 -0
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +33 -31
- package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1CallBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallPE-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar-members.html +169 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +537 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar-members.html +169 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +547 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar-members.html +172 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +556 -0
- package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt-members.html +75 -22
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +479 -93
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1CondPTAImpl.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +46 -46
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode-members.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt-members.html +57 -21
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +253 -89
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1DDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DDAStat.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG-members.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar-members.html +167 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +531 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar-members.html +165 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +502 -0
- package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar-members.html +167 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +577 -0
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveTBHC.html +26 -26
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunExitBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1GenericNode.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.html +61 -61
- package/SVF-doxygen/html/html/classSVF_1_1GepObjPN.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt-members.html +57 -22
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +259 -118
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar-members.html +170 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +752 -0
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1GlobalBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +22 -22
- package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1IRGraph.html +43 -43
- package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1InterBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG-members.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode-members.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG-members.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadMU.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt-members.html +57 -21
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +253 -89
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator-members.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +147 -147
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA-members.html +25 -25
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +102 -102
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt-members.html +24 -23
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +36 -34
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt-members.html +142 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.html +649 -0
- package/SVF-doxygen/html/html/classSVF_1_1NormalGepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar-members.html +165 -0
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +644 -0
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1OfflineConsG.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1PTAStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt-members.html +74 -22
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +447 -98
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode-members.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RetBlockNode.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1RetPE-members.html +20 -19
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +24 -22
- package/SVF-doxygen/html/html/classSVF_1_1RetPN-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1SVFG-members.html +56 -56
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +58 -58
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT-members.html +68 -68
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR-members.html +132 -133
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +730 -748
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +180 -180
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +57 -39
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +82 -82
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI-members.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1StoreCHI.html +20 -20
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt-members.html +57 -21
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +260 -89
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode-members.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +18 -16
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE-members.html +23 -22
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +18 -16
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt-members.html +147 -0
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +794 -0
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VFG-members.html +42 -42
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +145 -145
- package/SVF-doxygen/html/html/classSVF_1_1ValVar-members.html +163 -0
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +521 -0
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN-members.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt-members.html +139 -0
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.html +544 -0
- package/SVF-doxygen/html/html/classSVF_1_1VariantGepStmt.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive-members.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +16 -16
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitiveStat.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
- package/SVF-doxygen/html/html/classes.html +18 -18
- package/SVF-doxygen/html/html/functions_a.html +55 -55
- package/SVF-doxygen/html/html/functions_b.html +2 -2
- package/SVF-doxygen/html/html/functions_c.html +52 -57
- package/SVF-doxygen/html/html/functions_d.html +4 -4
- package/SVF-doxygen/html/html/functions_f.html +5 -5
- package/SVF-doxygen/html/html/functions_func.html +54 -54
- package/SVF-doxygen/html/html/functions_func_b.html +2 -2
- package/SVF-doxygen/html/html/functions_func_c.html +30 -30
- package/SVF-doxygen/html/html/functions_func_d.html +4 -4
- package/SVF-doxygen/html/html/functions_func_f.html +2 -2
- package/SVF-doxygen/html/html/functions_func_g.html +107 -105
- package/SVF-doxygen/html/html/functions_func_h.html +6 -6
- package/SVF-doxygen/html/html/functions_func_l.html +3 -3
- package/SVF-doxygen/html/html/functions_func_n.html +2 -2
- package/SVF-doxygen/html/html/functions_func_o.html +15 -15
- package/SVF-doxygen/html/html/functions_func_p.html +2 -2
- package/SVF-doxygen/html/html/functions_func_s.html +4 -4
- package/SVF-doxygen/html/html/functions_func_t.html +20 -20
- package/SVF-doxygen/html/html/functions_func_u.html +2 -2
- package/SVF-doxygen/html/html/functions_func_v.html +5 -5
- package/SVF-doxygen/html/html/functions_g.html +123 -121
- package/SVF-doxygen/html/html/functions_h.html +6 -6
- package/SVF-doxygen/html/html/functions_i.html +15 -15
- package/SVF-doxygen/html/html/functions_k.html +9 -0
- package/SVF-doxygen/html/html/functions_l.html +11 -11
- package/SVF-doxygen/html/html/functions_m.html +1 -1
- package/SVF-doxygen/html/html/functions_n.html +2 -2
- package/SVF-doxygen/html/html/functions_o.html +32 -35
- package/SVF-doxygen/html/html/functions_p.html +34 -51
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +32 -16
- package/SVF-doxygen/html/html/functions_t.html +24 -24
- package/SVF-doxygen/html/html/functions_type_c.html +1 -4
- package/SVF-doxygen/html/html/functions_type_f.html +2 -2
- package/SVF-doxygen/html/html/functions_type_g.html +2 -2
- package/SVF-doxygen/html/html/functions_type_i.html +3 -3
- package/SVF-doxygen/html/html/functions_type_k.html +3 -0
- package/SVF-doxygen/html/html/functions_type_l.html +3 -3
- package/SVF-doxygen/html/html/functions_type_p.html +3 -19
- package/SVF-doxygen/html/html/functions_type_s.html +19 -3
- package/SVF-doxygen/html/html/functions_type_v.html +1 -1
- package/SVF-doxygen/html/html/functions_u.html +2 -2
- package/SVF-doxygen/html/html/functions_v.html +10 -10
- package/SVF-doxygen/html/html/functions_vars_f.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_g.html +8 -8
- package/SVF-doxygen/html/html/functions_vars_i.html +9 -9
- package/SVF-doxygen/html/html/functions_vars_k.html +6 -0
- package/SVF-doxygen/html/html/functions_vars_l.html +2 -2
- package/SVF-doxygen/html/html/functions_vars_m.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_o.html +3 -4
- package/SVF-doxygen/html/html/functions_vars_p.html +4 -7
- package/SVF-doxygen/html/html/functions_w.html +5 -9
- package/SVF-doxygen/html/html/hierarchy.html +65 -65
- package/SVF-doxygen/html/html/namespaceSVF.html +24 -24
- package/SVF-doxygen/html/html/search/all_1.js +39 -39
- package/SVF-doxygen/html/html/search/all_10.js +12 -17
- package/SVF-doxygen/html/html/search/all_12.js +1 -1
- package/SVF-doxygen/html/html/search/all_13.js +15 -11
- package/SVF-doxygen/html/html/search/all_14.js +7 -7
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +4 -4
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.js +8 -9
- package/SVF-doxygen/html/html/search/all_4.js +2 -2
- package/SVF-doxygen/html/html/search/all_6.js +4 -4
- package/SVF-doxygen/html/html/search/all_7.js +54 -53
- package/SVF-doxygen/html/html/search/all_8.js +2 -2
- package/SVF-doxygen/html/html/search/all_9.js +4 -4
- package/SVF-doxygen/html/html/search/all_b.js +3 -0
- package/SVF-doxygen/html/html/search/all_c.js +7 -7
- package/SVF-doxygen/html/html/search/all_d.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +4 -4
- package/SVF-doxygen/html/html/search/all_f.js +6 -6
- package/SVF-doxygen/html/html/search/classes_0.js +1 -1
- package/SVF-doxygen/html/html/search/classes_1.js +1 -1
- package/SVF-doxygen/html/html/search/classes_11.js +1 -1
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_2.js +5 -5
- package/SVF-doxygen/html/html/search/classes_3.js +2 -2
- package/SVF-doxygen/html/html/search/classes_5.js +1 -1
- package/SVF-doxygen/html/html/search/classes_6.js +2 -2
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_b.js +1 -1
- package/SVF-doxygen/html/html/search/classes_c.js +1 -1
- package/SVF-doxygen/html/html/search/classes_d.js +1 -1
- package/SVF-doxygen/html/html/search/classes_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_0.js +39 -39
- package/SVF-doxygen/html/html/search/functions_1.js +1 -1
- package/SVF-doxygen/html/html/search/functions_10.js +4 -4
- package/SVF-doxygen/html/html/search/functions_11.js +1 -1
- package/SVF-doxygen/html/html/search/functions_12.js +1 -1
- package/SVF-doxygen/html/html/search/functions_13.js +2 -2
- package/SVF-doxygen/html/html/search/functions_2.js +7 -7
- package/SVF-doxygen/html/html/search/functions_3.js +2 -2
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +49 -48
- package/SVF-doxygen/html/html/search/functions_7.js +2 -2
- package/SVF-doxygen/html/html/search/functions_a.js +3 -3
- package/SVF-doxygen/html/html/search/functions_c.js +1 -1
- package/SVF-doxygen/html/html/search/functions_d.js +2 -2
- package/SVF-doxygen/html/html/search/functions_e.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_11.js +7 -3
- package/SVF-doxygen/html/html/search/typedefs_14.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_2.js +1 -2
- package/SVF-doxygen/html/html/search/typedefs_5.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_6.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_a.js +2 -1
- package/SVF-doxygen/html/html/search/typedefs_b.js +3 -3
- package/SVF-doxygen/html/html/search/typedefs_f.js +3 -7
- package/SVF-doxygen/html/html/search/variables_10.js +2 -3
- package/SVF-doxygen/html/html/search/variables_14.js +4 -4
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +4 -4
- package/SVF-doxygen/html/html/search/variables_9.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +3 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_d.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +2 -2
- package/SVF-doxygen/html/html/search/variables_f.js +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ICFG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +4 -4
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01OfflineConsG_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01SVFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01VFG_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +1 -1
- package/include/DDA/ContextDDA.h +1 -1
- package/include/DDA/FlowDDA.h +1 -1
- package/include/Graphs/CHG.h +2 -2
- package/include/Graphs/ConsG.h +10 -10
- package/include/Graphs/ICFGNode.h +4 -4
- package/include/Graphs/IRGraph.h +7 -7
- package/include/Graphs/VFG.h +13 -13
- package/include/Graphs/VFGNode.h +6 -6
- package/include/MSSA/MSSAMuChi.h +6 -6
- package/include/MSSA/MemRegion.h +11 -11
- package/include/MSSA/MemSSA.h +11 -11
- package/include/MemoryModel/PointerAnalysis.h +9 -9
- package/include/MemoryModel/PointerAnalysisImpl.h +4 -4
- package/include/MemoryModel/SVFIR.h +82 -83
- package/include/MemoryModel/SVFStatements.h +97 -92
- package/include/MemoryModel/SVFVariables.h +71 -71
- package/include/SVF-FE/SVFIRBuilder.h +24 -24
- package/include/Util/IRAnnotator.h +1 -1
- package/include/Util/TypeBasedHeapCloning.h +2 -2
- package/include/WPA/Andersen.h +1 -1
- package/include/WPA/FlowSensitiveTBHC.h +1 -1
- package/lib/DDA/ContextDDA.cpp +6 -6
- package/lib/DDA/DDAClient.cpp +6 -6
- package/lib/DDA/DDAStat.cpp +2 -2
- package/lib/DDA/FlowDDA.cpp +4 -4
- package/lib/Graphs/ConsG.cpp +34 -34
- package/lib/Graphs/ICFG.cpp +4 -4
- package/lib/Graphs/IRGraph.cpp +21 -21
- package/lib/Graphs/OfflineConsG.cpp +8 -8
- package/lib/Graphs/SVFG.cpp +14 -14
- package/lib/Graphs/ThreadCallGraph.cpp +2 -2
- package/lib/Graphs/VFG.cpp +52 -52
- package/lib/MSSA/MemRegion.cpp +23 -23
- package/lib/MSSA/MemSSA.cpp +15 -15
- package/lib/MTA/MTAAnnotator.cpp +5 -5
- package/lib/MemoryModel/PAGBuilderFromFile.cpp +13 -13
- package/lib/MemoryModel/PointerAnalysis.cpp +9 -9
- package/lib/MemoryModel/PointerAnalysisImpl.cpp +14 -14
- package/lib/MemoryModel/SVFIR.cpp +95 -95
- package/lib/MemoryModel/SVFStatements.cpp +24 -24
- package/lib/MemoryModel/SVFVariables.cpp +19 -19
- package/lib/SABER/LeakChecker.cpp +2 -2
- package/lib/SABER/SaberSVFGBuilder.cpp +5 -5
- package/lib/SVF-FE/Graph2Json.cpp +3 -3
- package/lib/SVF-FE/SVFIRBuilder.cpp +22 -22
- package/lib/Util/PTAStat.cpp +8 -8
- package/lib/Util/TypeBasedHeapCloning.cpp +22 -22
- package/lib/WPA/Andersen.cpp +13 -13
- package/lib/WPA/AndersenSFR.cpp +2 -2
- package/lib/WPA/AndersenStat.cpp +6 -6
- package/lib/WPA/FlowSensitive.cpp +8 -8
- package/lib/WPA/FlowSensitiveStat.cpp +4 -4
- package/lib/WPA/FlowSensitiveTBHC.cpp +9 -9
- package/lib/WPA/VersionedFlowSensitive.cpp +2 -2
- package/lib/WPA/VersionedFlowSensitiveStat.cpp +1 -1
- package/package.json +1 -1
|
@@ -41,15 +41,15 @@ namespace SVF
|
|
|
41
41
|
class SVFVar;
|
|
42
42
|
|
|
43
43
|
/*
|
|
44
|
-
* SVFIR
|
|
44
|
+
* SVFIR program statements (PAGEdges)
|
|
45
45
|
*/
|
|
46
46
|
typedef GenericEdge<SVFVar> GenericPAGEdgeTy;
|
|
47
47
|
class SVFStmt : public GenericPAGEdgeTy
|
|
48
48
|
{
|
|
49
49
|
|
|
50
50
|
public:
|
|
51
|
-
///
|
|
52
|
-
/// Gep represents offset
|
|
51
|
+
/// Types of SVFIR statements
|
|
52
|
+
/// Gep represents (base + offset) for field sensitivity
|
|
53
53
|
/// ThreadFork/ThreadJoin is to model parameter passings between thread spawners and spawnees.
|
|
54
54
|
enum PEDGEK
|
|
55
55
|
{
|
|
@@ -175,9 +175,10 @@ public:
|
|
|
175
175
|
}
|
|
176
176
|
//@}
|
|
177
177
|
|
|
178
|
-
typedef GenericNode<SVFVar,SVFStmt>::GEdgeSetTy
|
|
179
|
-
typedef Map<EdgeID,
|
|
180
|
-
typedef PAGEdgeToSetMapTy
|
|
178
|
+
typedef GenericNode<SVFVar,SVFStmt>::GEdgeSetTy SVFStmtSetTy;
|
|
179
|
+
typedef Map<EdgeID, SVFStmtSetTy> PAGEdgeToSetMapTy;
|
|
180
|
+
typedef PAGEdgeToSetMapTy KindToSVFStmtMapTy;
|
|
181
|
+
typedef SVFStmtSetTy PAGEdgeSetTy;
|
|
181
182
|
|
|
182
183
|
private:
|
|
183
184
|
typedef Map<const ICFGNode*, u32_t> Inst2LabelMap;
|
|
@@ -191,18 +192,18 @@ private:
|
|
|
191
192
|
|
|
192
193
|
|
|
193
194
|
/*!
|
|
194
|
-
*
|
|
195
|
+
* Address statement (memory allocations)
|
|
195
196
|
*/
|
|
196
|
-
class
|
|
197
|
+
class AddrStmt: public SVFStmt
|
|
197
198
|
{
|
|
198
199
|
private:
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
void operator=(const
|
|
200
|
+
AddrStmt(); ///< place holder
|
|
201
|
+
AddrStmt(const AddrStmt &); ///< place holder
|
|
202
|
+
void operator=(const AddrStmt &); ///< place holder
|
|
202
203
|
public:
|
|
203
204
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
204
205
|
//@{
|
|
205
|
-
static inline bool classof(const
|
|
206
|
+
static inline bool classof(const AddrStmt *)
|
|
206
207
|
{
|
|
207
208
|
return true;
|
|
208
209
|
}
|
|
@@ -217,7 +218,7 @@ public:
|
|
|
217
218
|
//@}
|
|
218
219
|
|
|
219
220
|
/// constructor
|
|
220
|
-
|
|
221
|
+
AddrStmt(SVFVar* s, SVFVar* d) : SVFStmt(s,d,SVFStmt::Addr)
|
|
221
222
|
{
|
|
222
223
|
}
|
|
223
224
|
|
|
@@ -226,18 +227,18 @@ public:
|
|
|
226
227
|
|
|
227
228
|
|
|
228
229
|
/*!
|
|
229
|
-
* Copy
|
|
230
|
+
* Copy statements (simple assignment and casting)
|
|
230
231
|
*/
|
|
231
|
-
class
|
|
232
|
+
class CopyStmt: public SVFStmt
|
|
232
233
|
{
|
|
233
234
|
private:
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
void operator=(const
|
|
235
|
+
CopyStmt(); ///< place holder
|
|
236
|
+
CopyStmt(const CopyStmt &); ///< place holder
|
|
237
|
+
void operator=(const CopyStmt &); ///< place holder
|
|
237
238
|
public:
|
|
238
239
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
239
240
|
//@{
|
|
240
|
-
static inline bool classof(const
|
|
241
|
+
static inline bool classof(const CopyStmt *)
|
|
241
242
|
{
|
|
242
243
|
return true;
|
|
243
244
|
}
|
|
@@ -252,13 +253,16 @@ public:
|
|
|
252
253
|
//@}
|
|
253
254
|
|
|
254
255
|
/// constructor
|
|
255
|
-
|
|
256
|
+
CopyStmt(SVFVar* s, SVFVar* d) : SVFStmt(s,d,SVFStmt::Copy)
|
|
256
257
|
{
|
|
257
258
|
}
|
|
258
259
|
|
|
259
260
|
virtual const std::string toString() const override;
|
|
260
261
|
};
|
|
261
262
|
|
|
263
|
+
/*
|
|
264
|
+
* Program statements with multiple operands including BinaryOPStmt, CmpStmt and PhiStmt
|
|
265
|
+
*/
|
|
262
266
|
class MultiOpndStmt : public SVFStmt{
|
|
263
267
|
public:
|
|
264
268
|
typedef std::vector<SVFVar*> OPVars;
|
|
@@ -323,14 +327,15 @@ public:
|
|
|
323
327
|
};
|
|
324
328
|
|
|
325
329
|
/*!
|
|
326
|
-
* Phi
|
|
330
|
+
* Phi statement (e.g., p = phi(q,r) which receives values from variables q and r from different paths)
|
|
331
|
+
* it is typically at a joint point of the control-flow graph
|
|
327
332
|
*/
|
|
328
|
-
class
|
|
333
|
+
class PhiStmt: public MultiOpndStmt
|
|
329
334
|
{
|
|
330
335
|
private:
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
void operator=(const
|
|
336
|
+
PhiStmt(); ///< place holder
|
|
337
|
+
PhiStmt(const PhiStmt &); ///< place holder
|
|
338
|
+
void operator=(const PhiStmt &); ///< place holder
|
|
334
339
|
SVFVar* getSrcNode(); ///< place holder, not allowed since this SVFStmt has multiple operands but not a single source
|
|
335
340
|
SVFVar* getDstNode(); ///< place holder, use getRes() instead
|
|
336
341
|
SVFVar* getSrcID(); ///< place holder, use getOpVarID(pos) instead
|
|
@@ -339,7 +344,7 @@ private:
|
|
|
339
344
|
public:
|
|
340
345
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
341
346
|
//@{
|
|
342
|
-
static inline bool classof(const
|
|
347
|
+
static inline bool classof(const PhiStmt *)
|
|
343
348
|
{
|
|
344
349
|
return true;
|
|
345
350
|
}
|
|
@@ -358,7 +363,7 @@ public:
|
|
|
358
363
|
//@}
|
|
359
364
|
|
|
360
365
|
/// constructor
|
|
361
|
-
|
|
366
|
+
PhiStmt(SVFVar* s, const OPVars& opnds) : MultiOpndStmt(s,opnds,SVFStmt::Phi)
|
|
362
367
|
{
|
|
363
368
|
}
|
|
364
369
|
void addOpVar(SVFVar* op){
|
|
@@ -369,24 +374,24 @@ public:
|
|
|
369
374
|
|
|
370
375
|
|
|
371
376
|
/*!
|
|
372
|
-
*
|
|
377
|
+
* Comparison statement
|
|
373
378
|
*/
|
|
374
|
-
class
|
|
379
|
+
class CmpStmt: public MultiOpndStmt
|
|
375
380
|
{
|
|
376
381
|
private:
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
void operator=(const
|
|
382
|
+
CmpStmt(); ///< place holder
|
|
383
|
+
CmpStmt(const CmpStmt &); ///< place holder
|
|
384
|
+
void operator=(const CmpStmt &); ///< place holder
|
|
380
385
|
SVFVar* getSrcNode(); ///< place holder, not allowed since this SVFStmt has multiple operands but not a single source
|
|
381
386
|
SVFVar* getDstNode(); ///< place holder, use getRes() instead
|
|
382
387
|
SVFVar* getSrcID(); ///< place holder, use getOpVarID(pos) instead
|
|
383
388
|
SVFVar* getDstID(); ///< place holder, use getResID() instead
|
|
384
389
|
|
|
385
|
-
u32_t
|
|
390
|
+
u32_t predicate;
|
|
386
391
|
public:
|
|
387
392
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
388
393
|
//@{
|
|
389
|
-
static inline bool classof(const
|
|
394
|
+
static inline bool classof(const CmpStmt *)
|
|
390
395
|
{
|
|
391
396
|
return true;
|
|
392
397
|
}
|
|
@@ -405,13 +410,13 @@ public:
|
|
|
405
410
|
//@}
|
|
406
411
|
|
|
407
412
|
/// constructor
|
|
408
|
-
|
|
413
|
+
CmpStmt(SVFVar* s, const OPVars& opnds, u32_t pre) : MultiOpndStmt(s,opnds,SVFStmt::Cmp), predicate(pre)
|
|
409
414
|
{
|
|
410
415
|
}
|
|
411
416
|
|
|
412
|
-
u32_t
|
|
417
|
+
u32_t getPredicate() const
|
|
413
418
|
{
|
|
414
|
-
return
|
|
419
|
+
return predicate;
|
|
415
420
|
}
|
|
416
421
|
|
|
417
422
|
virtual const std::string toString() const override;
|
|
@@ -419,14 +424,14 @@ public:
|
|
|
419
424
|
|
|
420
425
|
|
|
421
426
|
/*!
|
|
422
|
-
* Binary
|
|
427
|
+
* Binary statement
|
|
423
428
|
*/
|
|
424
|
-
class
|
|
429
|
+
class BinaryOPStmt: public MultiOpndStmt
|
|
425
430
|
{
|
|
426
431
|
private:
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
void operator=(const
|
|
432
|
+
BinaryOPStmt(); ///< place holder
|
|
433
|
+
BinaryOPStmt(const BinaryOPStmt &); ///< place holder
|
|
434
|
+
void operator=(const BinaryOPStmt &); ///< place holder
|
|
430
435
|
SVFVar* getSrcNode(); ///< place holder, not allowed since this SVFStmt has multiple operands but not a single source
|
|
431
436
|
SVFVar* getDstNode(); ///< place holder, use getRes() instead
|
|
432
437
|
SVFVar* getSrcID(); ///< place holder, use getOpVarID(pos) instead
|
|
@@ -437,7 +442,7 @@ private:
|
|
|
437
442
|
public:
|
|
438
443
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
439
444
|
//@{
|
|
440
|
-
static inline bool classof(const
|
|
445
|
+
static inline bool classof(const BinaryOPStmt *)
|
|
441
446
|
{
|
|
442
447
|
return true;
|
|
443
448
|
}
|
|
@@ -456,7 +461,7 @@ public:
|
|
|
456
461
|
//@}
|
|
457
462
|
|
|
458
463
|
/// constructor
|
|
459
|
-
|
|
464
|
+
BinaryOPStmt(SVFVar* s, const OPVars& opnds, u32_t oc) : MultiOpndStmt(s,opnds,SVFStmt::BinaryOp), opcode(oc)
|
|
460
465
|
{
|
|
461
466
|
}
|
|
462
467
|
|
|
@@ -469,14 +474,14 @@ public:
|
|
|
469
474
|
};
|
|
470
475
|
|
|
471
476
|
/*!
|
|
472
|
-
* Unary
|
|
477
|
+
* Unary statement
|
|
473
478
|
*/
|
|
474
|
-
class
|
|
479
|
+
class UnaryOPStmt: public SVFStmt
|
|
475
480
|
{
|
|
476
481
|
private:
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
void operator=(const
|
|
482
|
+
UnaryOPStmt(); ///< place holder
|
|
483
|
+
UnaryOPStmt(const UnaryOPStmt &); ///< place holder
|
|
484
|
+
void operator=(const UnaryOPStmt &); ///< place holder
|
|
480
485
|
SVFVar* getSrcNode(); ///< place holder, use getOpVar() instead
|
|
481
486
|
SVFVar* getDstNode(); ///< place holder, use getRes() instead
|
|
482
487
|
SVFVar* getSrcID(); ///< place holder, use getOpVarID() instead
|
|
@@ -486,7 +491,7 @@ private:
|
|
|
486
491
|
public:
|
|
487
492
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
488
493
|
//@{
|
|
489
|
-
static inline bool classof(const
|
|
494
|
+
static inline bool classof(const UnaryOPStmt *)
|
|
490
495
|
{
|
|
491
496
|
return true;
|
|
492
497
|
}
|
|
@@ -501,7 +506,7 @@ public:
|
|
|
501
506
|
//@}
|
|
502
507
|
|
|
503
508
|
/// constructor
|
|
504
|
-
|
|
509
|
+
UnaryOPStmt(SVFVar* s, SVFVar* d, u32_t oc) : SVFStmt(s,d,SVFStmt::UnaryOp), opcode(oc)
|
|
505
510
|
{
|
|
506
511
|
}
|
|
507
512
|
|
|
@@ -586,19 +591,19 @@ public:
|
|
|
586
591
|
};
|
|
587
592
|
|
|
588
593
|
/*!
|
|
589
|
-
* Store
|
|
594
|
+
* Store statement
|
|
590
595
|
*/
|
|
591
|
-
class
|
|
596
|
+
class StoreStmt: public SVFStmt
|
|
592
597
|
{
|
|
593
598
|
private:
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
void operator=(const
|
|
599
|
+
StoreStmt(); ///< place holder
|
|
600
|
+
StoreStmt(const StoreStmt &); ///< place holder
|
|
601
|
+
void operator=(const StoreStmt &); ///< place holder
|
|
597
602
|
|
|
598
603
|
public:
|
|
599
604
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
600
605
|
//@{
|
|
601
|
-
static inline bool classof(const
|
|
606
|
+
static inline bool classof(const StoreStmt *)
|
|
602
607
|
{
|
|
603
608
|
return true;
|
|
604
609
|
}
|
|
@@ -613,7 +618,7 @@ public:
|
|
|
613
618
|
//@}
|
|
614
619
|
|
|
615
620
|
/// constructor
|
|
616
|
-
|
|
621
|
+
StoreStmt(SVFVar* s, SVFVar* d, const IntraBlockNode* st) :
|
|
617
622
|
SVFStmt(s, d, makeEdgeFlagWithStoreInst(SVFStmt::Store, st))
|
|
618
623
|
{
|
|
619
624
|
}
|
|
@@ -623,19 +628,19 @@ public:
|
|
|
623
628
|
|
|
624
629
|
|
|
625
630
|
/*!
|
|
626
|
-
* Load
|
|
631
|
+
* Load statement
|
|
627
632
|
*/
|
|
628
|
-
class
|
|
633
|
+
class LoadStmt: public SVFStmt
|
|
629
634
|
{
|
|
630
635
|
private:
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
void operator=(const
|
|
636
|
+
LoadStmt(); ///< place holder
|
|
637
|
+
LoadStmt(const LoadStmt &); ///< place holder
|
|
638
|
+
void operator=(const LoadStmt &); ///< place holder
|
|
634
639
|
|
|
635
640
|
public:
|
|
636
641
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
637
642
|
//@{
|
|
638
|
-
static inline bool classof(const
|
|
643
|
+
static inline bool classof(const LoadStmt *)
|
|
639
644
|
{
|
|
640
645
|
return true;
|
|
641
646
|
}
|
|
@@ -650,7 +655,7 @@ public:
|
|
|
650
655
|
//@}
|
|
651
656
|
|
|
652
657
|
/// constructor
|
|
653
|
-
|
|
658
|
+
LoadStmt(SVFVar* s, SVFVar* d) : SVFStmt(s,d,SVFStmt::Load)
|
|
654
659
|
{
|
|
655
660
|
}
|
|
656
661
|
|
|
@@ -659,19 +664,19 @@ public:
|
|
|
659
664
|
|
|
660
665
|
|
|
661
666
|
/*!
|
|
662
|
-
* Gep
|
|
667
|
+
* Gep statement for field access and pointer arithmetic
|
|
663
668
|
*/
|
|
664
|
-
class
|
|
669
|
+
class GepStmt: public SVFStmt
|
|
665
670
|
{
|
|
666
671
|
private:
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
void operator=(const
|
|
672
|
+
GepStmt(); ///< place holder
|
|
673
|
+
GepStmt(const GepStmt &); ///< place holder
|
|
674
|
+
void operator=(const GepStmt &); ///< place holder
|
|
670
675
|
|
|
671
676
|
public:
|
|
672
677
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
673
678
|
//@{
|
|
674
|
-
static inline bool classof(const
|
|
679
|
+
static inline bool classof(const GepStmt *)
|
|
675
680
|
{
|
|
676
681
|
return true;
|
|
677
682
|
}
|
|
@@ -689,7 +694,7 @@ public:
|
|
|
689
694
|
|
|
690
695
|
protected:
|
|
691
696
|
/// constructor
|
|
692
|
-
|
|
697
|
+
GepStmt(SVFVar* s, SVFVar* d, PEDGEK k) : SVFStmt(s,d,k)
|
|
693
698
|
{
|
|
694
699
|
|
|
695
700
|
}
|
|
@@ -699,25 +704,25 @@ protected:
|
|
|
699
704
|
|
|
700
705
|
|
|
701
706
|
/*!
|
|
702
|
-
* Gep
|
|
707
|
+
* Gep statement with a fixed offset
|
|
703
708
|
*/
|
|
704
|
-
class
|
|
709
|
+
class NormalGepStmt : public GepStmt
|
|
705
710
|
{
|
|
706
711
|
private:
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
void operator=(const
|
|
712
|
+
NormalGepStmt(); ///< place holder
|
|
713
|
+
NormalGepStmt(const NormalGepStmt&); ///< place holder
|
|
714
|
+
void operator=(const NormalGepStmt&); ///< place holder
|
|
710
715
|
|
|
711
716
|
LocationSet ls; ///< location set of the gep edge
|
|
712
717
|
|
|
713
718
|
public:
|
|
714
719
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
715
720
|
//@{
|
|
716
|
-
static inline bool classof(const
|
|
721
|
+
static inline bool classof(const NormalGepStmt *)
|
|
717
722
|
{
|
|
718
723
|
return true;
|
|
719
724
|
}
|
|
720
|
-
static inline bool classof(const
|
|
725
|
+
static inline bool classof(const GepStmt *edge)
|
|
721
726
|
{
|
|
722
727
|
return edge->getEdgeKind() == SVFStmt::NormalGep;
|
|
723
728
|
}
|
|
@@ -732,7 +737,7 @@ public:
|
|
|
732
737
|
//@}
|
|
733
738
|
|
|
734
739
|
/// constructor
|
|
735
|
-
|
|
740
|
+
NormalGepStmt(SVFVar* s, SVFVar* d, const LocationSet& l) : GepStmt(s,d,SVFStmt::NormalGep), ls(l)
|
|
736
741
|
{}
|
|
737
742
|
|
|
738
743
|
/// offset of the gep edge
|
|
@@ -749,23 +754,23 @@ public:
|
|
|
749
754
|
};
|
|
750
755
|
|
|
751
756
|
/*!
|
|
752
|
-
* Gep
|
|
757
|
+
* Gep statement with a variant offset
|
|
753
758
|
*/
|
|
754
|
-
class
|
|
759
|
+
class VariantGepStmt : public GepStmt
|
|
755
760
|
{
|
|
756
761
|
private:
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
void operator=(const
|
|
762
|
+
VariantGepStmt(); ///< place holder
|
|
763
|
+
VariantGepStmt(const VariantGepStmt&); ///< place holder
|
|
764
|
+
void operator=(const VariantGepStmt&); ///< place holder
|
|
760
765
|
|
|
761
766
|
public:
|
|
762
767
|
/// Methods for support type inquiry through isa, cast, and dyn_cast:
|
|
763
768
|
//@{
|
|
764
|
-
static inline bool classof(const
|
|
769
|
+
static inline bool classof(const VariantGepStmt *)
|
|
765
770
|
{
|
|
766
771
|
return true;
|
|
767
772
|
}
|
|
768
|
-
static inline bool classof(const
|
|
773
|
+
static inline bool classof(const GepStmt *edge)
|
|
769
774
|
{
|
|
770
775
|
return edge->getEdgeKind() == SVFStmt::VariantGep;
|
|
771
776
|
}
|
|
@@ -780,7 +785,7 @@ public:
|
|
|
780
785
|
//@}
|
|
781
786
|
|
|
782
787
|
/// constructor
|
|
783
|
-
|
|
788
|
+
VariantGepStmt(SVFVar* s, SVFVar* d) : GepStmt(s,d,SVFStmt::VariantGep) {}
|
|
784
789
|
|
|
785
790
|
virtual const std::string toString() const override;
|
|
786
791
|
|
|
@@ -788,7 +793,7 @@ public:
|
|
|
788
793
|
|
|
789
794
|
|
|
790
795
|
/*!
|
|
791
|
-
* Call
|
|
796
|
+
* Call
|
|
792
797
|
*/
|
|
793
798
|
class CallPE: public SVFStmt
|
|
794
799
|
{
|
|
@@ -840,7 +845,7 @@ public:
|
|
|
840
845
|
|
|
841
846
|
|
|
842
847
|
/*!
|
|
843
|
-
* Return
|
|
848
|
+
* Return
|
|
844
849
|
*/
|
|
845
850
|
class RetPE: public SVFStmt
|
|
846
851
|
{
|
|
@@ -892,7 +897,7 @@ public:
|
|
|
892
897
|
|
|
893
898
|
|
|
894
899
|
/*!
|
|
895
|
-
* Thread Fork
|
|
900
|
+
* Thread Fork
|
|
896
901
|
*/
|
|
897
902
|
class TDForkPE: public CallPE
|
|
898
903
|
{
|
|
@@ -930,7 +935,7 @@ public:
|
|
|
930
935
|
|
|
931
936
|
|
|
932
937
|
/*!
|
|
933
|
-
* Thread Join
|
|
938
|
+
* Thread Join
|
|
934
939
|
*/
|
|
935
940
|
class TDJoinPE: public RetPE
|
|
936
941
|
{
|