svf-tools 1.0.897 → 1.0.899
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/AbstractExecution_8cpp.html +1 -1
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +1638 -1659
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +49 -49
- package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8h_source.html +2 -2
- package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
- package/SVF-doxygen/html/AndersenPWC_8h_source.html +4 -4
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +3 -3
- package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +3 -3
- package/SVF-doxygen/html/AndersenStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenWaveDiff_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Andersen_8cpp_source.html +5 -5
- package/SVF-doxygen/html/Andersen_8h_source.html +3 -3
- package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +4 -4
- package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +400 -380
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +29 -28
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CDGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CDG_8h_source.html +2 -2
- package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CFGNormalizer_8h_source.html +3 -3
- package/SVF-doxygen/html/CFGrammar_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CFGrammar_8h_source.html +3 -3
- package/SVF-doxygen/html/CFLAlias_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/CSC_8cpp_source.html +2 -2
- package/SVF-doxygen/html/CSC_8h_source.html +3 -3
- package/SVF-doxygen/html/ConditionalPT_8h_source.html +3 -3
- package/SVF-doxygen/html/ConsExeState_8cpp_source.html +6 -6
- package/SVF-doxygen/html/ConsExeState_8h_source.html +6 -6
- package/SVF-doxygen/html/ConsGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/ConsG_8cpp_source.html +14 -14
- package/SVF-doxygen/html/ConsG_8h_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/ContextDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DCHG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/DCHG_8h_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAClient_8h_source.html +3 -3
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +2 -2
- package/SVF-doxygen/html/DPItem_8h_source.html +2 -2
- package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8h_source.html +2 -2
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +6 -6
- package/SVF-doxygen/html/FlowSensitive_8h_source.html +2 -2
- package/SVF-doxygen/html/GeneralType_8h.html +8 -0
- package/SVF-doxygen/html/GeneralType_8h_source.html +110 -102
- package/SVF-doxygen/html/GenericGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +3 -3
- package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +2 -2
- package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ICFG_8h_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +2 -2
- package/SVF-doxygen/html/IntervalExeState_8h_source.html +4 -4
- package/SVF-doxygen/html/IntervalValue_8h_source.html +863 -802
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +335 -316
- package/SVF-doxygen/html/LLVMModule_8h_source.html +11 -11
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +3 -3
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/MHP_8cpp_source.html +3 -3
- package/SVF-doxygen/html/MHP_8h_source.html +3 -3
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +4 -4
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAAnnotator_8h_source.html +1 -1
- package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/MTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/MemPartition_8h_source.html +2 -2
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +4 -4
- package/SVF-doxygen/html/MemRegion_8h_source.html +5 -5
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/MemSSA_8h_source.html +5 -5
- package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +2 -2
- package/SVF-doxygen/html/NumericLiteral_8h_source.html +465 -424
- package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +3 -3
- package/SVF-doxygen/html/ObjTypeInference_8h_source.html +2 -2
- package/SVF-doxygen/html/Options_8cpp_source.html +10 -1
- package/SVF-doxygen/html/Options_8h_source.html +8 -4
- package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +195 -137
- package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +3 -3
- package/SVF-doxygen/html/PCG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/PTACallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PTACallGraph_8h_source.html +4 -4
- package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +2 -2
- package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +3 -3
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +5 -5
- package/SVF-doxygen/html/PointsTo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/PointsTo_8h_source.html +3 -3
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8h_source.html +2 -2
- package/SVF-doxygen/html/RelExeState_8cpp_source.html +5 -5
- package/SVF-doxygen/html/RelExeState_8h_source.html +6 -6
- package/SVF-doxygen/html/RelationSolver_8cpp.html +2 -0
- package/SVF-doxygen/html/RelationSolver_8cpp_source.html +386 -378
- package/SVF-doxygen/html/RelationSolver_8h_source.html +11 -11
- package/SVF-doxygen/html/SCC_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFBugReport_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1937 -1934
- package/SVF-doxygen/html/SVFFileSystem_8h.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +59 -59
- package/SVF-doxygen/html/SVFGEdge_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFGNode_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGOPT_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGStat_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFG_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +60 -60
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +9 -9
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1101 -886
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +173 -154
- package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +35 -35
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +172 -121
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +24 -22
- package/SVF-doxygen/html/SVFIR_8h_source.html +55 -53
- package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFStat_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFStatements_8cpp_source.html +20 -20
- package/SVF-doxygen/html/SVFStatements_8h_source.html +979 -955
- package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8h_source.html +4 -4
- package/SVF-doxygen/html/SVFUtil_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +3 -3
- package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +10 -10
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +8 -8
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/SingleAbsValue_8h_source.html +6 -6
- package/SVF-doxygen/html/SparseBitVector_8h_source.html +3 -3
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +2 -2
- package/SVF-doxygen/html/Steensgaard_8h_source.html +4 -4
- package/SVF-doxygen/html/SymState_8h_source.html +2 -2
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +4 -4
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +3 -3
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +4 -4
- package/SVF-doxygen/html/TCT_8cpp_source.html +3 -3
- package/SVF-doxygen/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/ThreadAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ThreadAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ThreadCallGraph_8h_source.html +3 -3
- package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/VFGNode_8h_source.html +12 -12
- package/SVF-doxygen/html/VFG_8cpp_source.html +18 -18
- package/SVF-doxygen/html/VFG_8h_source.html +17 -17
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +3 -3
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +4 -4
- package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +4 -4
- package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/WPASolver_8h_source.html +2 -2
- package/SVF-doxygen/html/WTO_8h_source.html +2 -2
- package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
- package/SVF-doxygen/html/Z3Expr_8cpp_source.html +5 -5
- package/SVF-doxygen/html/Z3Expr_8h_source.html +303 -294
- package/SVF-doxygen/html/ae_8cpp_source.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1AEStat.html +119 -119
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +1517 -1538
- package/SVF-doxygen/html/classSVF_1_1AccessPath.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1AndersenBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenSCD.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1AndersenStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1AndersenWaveDiff.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BVDataPTAImpl.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1BinaryOPStmt.html +68 -68
- package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr-members.html +77 -72
- package/SVF-doxygen/html/classSVF_1_1BoundedZ3Expr.html +450 -294
- package/SVF-doxygen/html/classSVF_1_1BranchStmt.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1BranchVFGNode.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1CDGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFGNormalizer.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1CFLSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CSC.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CallPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1CmpStmt.html +97 -97
- package/SVF-doxygen/html/classSVF_1_1CondPTAImpl.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ConsExeState.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1ConstraintGraph.html +13 -13
- package/SVF-doxygen/html/classSVF_1_1ContextDDA.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1CopyStmt-members.html +48 -33
- package/SVF-doxygen/html/classSVF_1_1CopyStmt.html +206 -65
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1DDAVFSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ExeState.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1FlowDDA.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FlowSensitive.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1FlowSensitiveStat.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ForkJoinAnalysis.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1FunptrDDAClient.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GenericGraphReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1GepStmt.html +56 -56
- package/SVF-doxygen/html/classSVF_1_1GrammarBase.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ICFGWriter.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1IntervalESBase.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1IntervalValue-members.html +40 -35
- package/SVF-doxygen/html/classSVF_1_1IntervalValue.html +512 -307
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +331 -312
- package/SVF-doxygen/html/classSVF_1_1LoadStmt.html +19 -19
- package/SVF-doxygen/html/classSVF_1_1LockAnalysis.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MHP.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1MRGenerator.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MTAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1MemSSA.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1MultiOpndStmt.html +48 -48
- package/SVF-doxygen/html/classSVF_1_1MutableDFPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NodeIDAllocator_1_1Clusterer.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1NumericLiteral-members.html +50 -43
- package/SVF-doxygen/html/classSVF_1_1NumericLiteral.html +574 -343
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1Options-members.html +129 -128
- package/SVF-doxygen/html/classSVF_1_1Options.html +26 -0
- package/SVF-doxygen/html/classSVF_1_1PAGBuilderFromFile.html +204 -135
- package/SVF-doxygen/html/classSVF_1_1PCG.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1POCRSolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PTAStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentDFPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentDiffPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentPTData.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PersistentPointsToCache.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PhiStmt.html +46 -46
- package/SVF-doxygen/html/classSVF_1_1PointerAnalysis.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ProgSlice.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ReaderPtrPool.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1RelExeState.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1RelationSolver-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1RelationSolver.html +362 -358
- package/SVF-doxygen/html/classSVF_1_1RetPE.html +35 -35
- package/SVF-doxygen/html/classSVF_1_1SVFG.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SVFGOPT.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFGStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR-members.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFIR.html +32 -25
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ConsExeState.html +51 -51
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState-members.html +49 -40
- package/SVF-doxygen/html/classSVF_1_1SVFIR2ItvExeState.html +1346 -909
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder-members.html +62 -61
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +211 -131
- package/SVF-doxygen/html/classSVF_1_1SVFIRReader.html +1122 -1121
- package/SVF-doxygen/html/classSVF_1_1SVFIRWriter.html +429 -427
- package/SVF-doxygen/html/classSVF_1_1SVFLoopAndDomInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFModuleReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SVFModuleWriter.html +23 -23
- package/SVF-doxygen/html/classSVF_1_1SVFStat.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1SaberCondAllocator.html +14 -14
- package/SVF-doxygen/html/classSVF_1_1SaberSVFGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1SelectStmt.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1SingleAbsValue-members.html +96 -91
- package/SVF-doxygen/html/classSVF_1_1SingleAbsValue.html +19 -5
- package/SVF-doxygen/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1StInfo.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Steensgaard.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1StoreStmt.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfo.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1TCT.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1TDForkPE.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1TDJoinPE.html +21 -21
- package/SVF-doxygen/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1UnaryOPStmt.html +44 -44
- package/SVF-doxygen/html/classSVF_1_1VFG.html +17 -17
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitive.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1VersionedFlowSensitiveStat.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1WPAFSSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPAMinimumSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPASCCSolver.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1WPASolver.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Z3Expr-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1Z3Expr.html +227 -221
- package/SVF-doxygen/html/classSymblicAbstractionTest.html +6 -6
- package/SVF-doxygen/html/fastcluster__dm_8cpp_8inc_source.html +1 -1
- package/SVF-doxygen/html/functions_a.html +11 -8
- package/SVF-doxygen/html/functions_b.html +8 -5
- package/SVF-doxygen/html/functions_c.html +23 -14
- package/SVF-doxygen/html/functions_e.html +1 -1
- package/SVF-doxygen/html/functions_enum.html +3 -0
- package/SVF-doxygen/html/functions_eval_b.html +3 -0
- package/SVF-doxygen/html/functions_eval_c.html +3 -0
- package/SVF-doxygen/html/functions_eval_f.html +9 -0
- package/SVF-doxygen/html/functions_eval_i.html +3 -0
- package/SVF-doxygen/html/functions_eval_p.html +3 -0
- package/SVF-doxygen/html/functions_eval_s.html +6 -0
- package/SVF-doxygen/html/functions_eval_t.html +3 -0
- package/SVF-doxygen/html/functions_eval_u.html +3 -0
- package/SVF-doxygen/html/functions_eval_z.html +79 -0
- package/SVF-doxygen/html/functions_f.html +21 -12
- package/SVF-doxygen/html/functions_func.html +2 -2
- package/SVF-doxygen/html/functions_func_b.html +3 -3
- package/SVF-doxygen/html/functions_func_g.html +47 -12
- package/SVF-doxygen/html/functions_func_i.html +19 -9
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/functions_func_z.html +1 -1
- package/SVF-doxygen/html/functions_g.html +54 -19
- package/SVF-doxygen/html/functions_i.html +18 -5
- package/SVF-doxygen/html/functions_l.html +3 -3
- package/SVF-doxygen/html/functions_o.html +15 -15
- package/SVF-doxygen/html/functions_p.html +28 -29
- package/SVF-doxygen/html/functions_r.html +1 -1
- package/SVF-doxygen/html/functions_s.html +24 -16
- package/SVF-doxygen/html/functions_t.html +7 -4
- package/SVF-doxygen/html/functions_u.html +6 -3
- package/SVF-doxygen/html/functions_v.html +4 -6
- package/SVF-doxygen/html/functions_vars_a.html +3 -0
- package/SVF-doxygen/html/functions_vars_c.html +3 -0
- package/SVF-doxygen/html/functions_w.html +13 -7
- package/SVF-doxygen/html/functions_z.html +4 -1
- package/SVF-doxygen/html/menudata.js +2 -1
- package/SVF-doxygen/html/namespaceSVF.html +689 -617
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1SVFUtil.html +1 -1
- package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +1 -1
- package/SVF-doxygen/html/namespacemembers_s.html +6 -0
- package/SVF-doxygen/html/namespacemembers_type_s.html +6 -0
- package/SVF-doxygen/html/namespacemembers_type_u.html +6 -0
- package/SVF-doxygen/html/namespacemembers_u.html +6 -0
- package/SVF-doxygen/html/search/all_1.js +135 -134
- package/SVF-doxygen/html/search/all_10.js +326 -325
- package/SVF-doxygen/html/search/all_11.js +226 -226
- package/SVF-doxygen/html/search/all_12.js +574 -570
- package/SVF-doxygen/html/search/all_13.js +208 -207
- package/SVF-doxygen/html/search/all_14.js +73 -70
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +77 -77
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +27 -26
- package/SVF-doxygen/html/search/all_1a.js +179 -179
- package/SVF-doxygen/html/search/all_2.js +182 -181
- package/SVF-doxygen/html/search/all_3.js +642 -640
- package/SVF-doxygen/html/search/all_4.js +236 -236
- package/SVF-doxygen/html/search/all_5.js +126 -126
- package/SVF-doxygen/html/search/all_6.js +235 -232
- package/SVF-doxygen/html/search/all_7.js +1056 -1047
- package/SVF-doxygen/html/search/all_8.js +215 -215
- package/SVF-doxygen/html/search/all_9.js +632 -629
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +204 -204
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +122 -122
- package/SVF-doxygen/html/search/classes_0.js +28 -28
- package/SVF-doxygen/html/search/classes_1.js +11 -11
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +19 -19
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +73 -73
- package/SVF-doxygen/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/search/classes_4.js +8 -8
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +59 -59
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +19 -19
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +3 -3
- package/SVF-doxygen/html/search/defines_10.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +9 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +16 -15
- package/SVF-doxygen/html/search/enumvalues_10.js +36 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +5 -4
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +4 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +37 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +50 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +24 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +19 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +49 -47
- package/SVF-doxygen/html/search/files_0.js +16 -16
- package/SVF-doxygen/html/search/files_1.js +9 -9
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +53 -53
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +10 -10
- package/SVF-doxygen/html/search/files_7.js +17 -17
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +4 -4
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +368 -368
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +140 -140
- package/SVF-doxygen/html/search/functions_12.js +299 -299
- package/SVF-doxygen/html/search/functions_13.js +73 -73
- package/SVF-doxygen/html/search/functions_14.js +41 -41
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +179 -179
- package/SVF-doxygen/html/search/functions_2.js +94 -94
- package/SVF-doxygen/html/search/functions_3.js +261 -261
- package/SVF-doxygen/html/search/functions_4.js +85 -85
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +872 -863
- package/SVF-doxygen/html/search/functions_8.js +162 -162
- package/SVF-doxygen/html/search/functions_9.js +440 -438
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +82 -82
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +4 -4
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +5 -5
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +19 -19
- package/SVF-doxygen/html/search/typedefs_1.js +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +65 -63
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +13 -11
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +125 -125
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +17 -17
- package/SVF-doxygen/html/search/typedefs_5.js +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +54 -54
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +177 -177
- package/SVF-doxygen/html/search/variables_1.js +77 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +40 -40
- package/SVF-doxygen/html/search/variables_3.js +143 -142
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +8 -8
- package/SVF-doxygen/html/search/variables_9.js +79 -79
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1Hash.html +6 -6
- package/SVF-doxygen/html/structSVF_1_1Hash_3_01std_1_1pair_3_01S_00_01T_01_4_01_4.html +12 -12
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1AccessPath_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +6 -6
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CondStdSet_3_01Element_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtDPItem_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1CxtStmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1NumericLiteral_01_4.html +5 -5
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SingleAbsValue_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SparseBitVector_3_01N_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1StmtDPItem_3_01LocCond_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1SymState_01_4.html +1 -1
- package/SVF-doxygen/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +6 -6
- package/SVF-doxygen/html/structstd_1_1hash_3_01std_1_1vector_3_01T_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp.html +21 -21
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +21 -21
- package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +3 -3
- package/package.json +1 -1
- package/svf/include/AE/Core/BoundedZ3Expr.h +33 -20
- package/svf/include/AE/Core/IntervalValue.h +57 -5
- package/svf/include/AE/Core/NumericLiteral.h +31 -1
- package/svf/include/AE/Core/RelationSolver.h +1 -1
- package/svf/include/AE/Svfexe/SVFIR2ItvExeState.h +10 -0
- package/svf/include/SVFIR/SVFIR.h +2 -1
- package/svf/include/SVFIR/SVFStatements.h +12 -2
- package/svf/include/Util/GeneralType.h +4 -0
- package/svf/include/Util/Options.h +3 -0
- package/svf/include/Util/Z3Expr.h +9 -2
- package/svf/lib/AE/Core/RelationSolver.cpp +11 -6
- package/svf/lib/AE/Svfexe/AbstractExecution.cpp +13 -34
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +6 -6
- package/svf/lib/AE/Svfexe/SVFIR2ItvExeState.cpp +217 -23
- package/svf/lib/SVFIR/PAGBuilderFromFile.cpp +62 -3
- package/svf/lib/SVFIR/SVFFileSystem.cpp +4 -1
- package/svf/lib/SVFIR/SVFIR.cpp +3 -3
- package/svf/lib/Util/Options.cpp +8 -0
- package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +39 -3
- package/svf-llvm/lib/LLVMModule.cpp +21 -2
- package/svf-llvm/lib/SVFIRBuilder.cpp +7 -7
- package/svf-llvm/lib/SVFIRExtAPI.cpp +3 -3
|
@@ -1307,318 +1307,337 @@ $(function() {
|
|
|
1307
1307
|
<div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>  {</div>
|
|
1308
1308
|
<div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>  <span class="keywordtype">double</span> dval = 0;</div>
|
|
1309
1309
|
<div class="line"><a name="l01265"></a><span class="lineno"> 1265</span>  <span class="comment">// TODO: Why only double is considered? What about float?</span></div>
|
|
1310
|
-
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>  <span class="keywordflow">if</span>(cfp->isNormalFP()
|
|
1311
|
-
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> 
|
|
1312
|
-
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> 
|
|
1313
|
-
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> 
|
|
1314
|
-
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> 
|
|
1315
|
-
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> 
|
|
1316
|
-
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span> 
|
|
1317
|
-
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> 
|
|
1318
|
-
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span> 
|
|
1319
|
-
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span> 
|
|
1320
|
-
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  </div>
|
|
1321
|
-
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> 
|
|
1322
|
-
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span> 
|
|
1323
|
-
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span> 
|
|
1324
|
-
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> 
|
|
1325
|
-
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> 
|
|
1326
|
-
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> 
|
|
1327
|
-
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span> 
|
|
1328
|
-
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span> 
|
|
1329
|
-
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  </div>
|
|
1330
|
-
<div class="line"><a name="l01286"></a><span class="lineno"
|
|
1331
|
-
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span> 
|
|
1332
|
-
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> 
|
|
1333
|
-
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> 
|
|
1334
|
-
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span> 
|
|
1335
|
-
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordflow">
|
|
1336
|
-
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> 
|
|
1337
|
-
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span> 
|
|
1338
|
-
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> 
|
|
1339
|
-
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span> 
|
|
1340
|
-
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  <
|
|
1341
|
-
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> 
|
|
1342
|
-
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span> 
|
|
1343
|
-
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> 
|
|
1344
|
-
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> 
|
|
1345
|
-
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  </div>
|
|
1346
|
-
<div class="line"><a name="l01302"></a><span class="lineno"
|
|
1347
|
-
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> 
|
|
1348
|
-
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> 
|
|
1349
|
-
<div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> 
|
|
1350
|
-
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> 
|
|
1351
|
-
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> 
|
|
1352
|
-
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> 
|
|
1353
|
-
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> 
|
|
1354
|
-
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> 
|
|
1355
|
-
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> 
|
|
1356
|
-
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> 
|
|
1357
|
-
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> 
|
|
1358
|
-
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> 
|
|
1359
|
-
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#
|
|
1360
|
-
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#
|
|
1361
|
-
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <span class="keywordflow">return</span>
|
|
1310
|
+
<div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>  <span class="keywordflow">if</span> (cfp->isNormalFP())</div>
|
|
1311
|
+
<div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>  {</div>
|
|
1312
|
+
<div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>  <span class="keywordflow">if</span> (&cfp->getValueAPF().getSemantics()== &llvm::APFloatBase::IEEEsingle())</div>
|
|
1313
|
+
<div class="line"><a name="l01269"></a><span class="lineno"> 1269</span>  {</div>
|
|
1314
|
+
<div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>  dval = cfp->getValueAPF().convertToFloat();</div>
|
|
1315
|
+
<div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>  }</div>
|
|
1316
|
+
<div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (&cfp->getValueAPF().getSemantics()== &llvm::APFloatBase::IEEEdouble())</div>
|
|
1317
|
+
<div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  {</div>
|
|
1318
|
+
<div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  dval = cfp->getValueAPF().convertToDouble();</div>
|
|
1319
|
+
<div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  }</div>
|
|
1320
|
+
<div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  <span class="keywordflow">else</span></div>
|
|
1321
|
+
<div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  {</div>
|
|
1322
|
+
<div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  assert (<span class="keyword">false</span> && <span class="stringliteral">"Unsupported floating point type"</span>);</div>
|
|
1323
|
+
<div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>  abort();</div>
|
|
1324
|
+
<div class="line"><a name="l01280"></a><span class="lineno"> 1280</span>  }</div>
|
|
1325
|
+
<div class="line"><a name="l01281"></a><span class="lineno"> 1281</span>  }</div>
|
|
1326
|
+
<div class="line"><a name="l01282"></a><span class="lineno"> 1282</span>  <span class="keywordflow">else</span></div>
|
|
1327
|
+
<div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>  {</div>
|
|
1328
|
+
<div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  <span class="comment">// other cfp type, like isZero(), isInfinity(), isNegative(), etc.</span></div>
|
|
1329
|
+
<div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  <span class="comment">// do nothing</span></div>
|
|
1330
|
+
<div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  }</div>
|
|
1331
|
+
<div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  svfcd = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFConstantFP.html">SVFConstantFP</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(cd->getType()), dval);</div>
|
|
1332
|
+
<div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  }</div>
|
|
1333
|
+
<div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(SVFUtil::isa<ConstantPointerNull>(cd))</div>
|
|
1334
|
+
<div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  svfcd = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFConstantNullPtr.html">SVFConstantNullPtr</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(cd->getType()));</div>
|
|
1335
|
+
<div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SVFUtil::isa<UndefValue>(cd))</div>
|
|
1336
|
+
<div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>  svfcd = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFBlackHoleValue.html">SVFBlackHoleValue</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(cd->getType()));</div>
|
|
1337
|
+
<div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>  <span class="keywordflow">else</span></div>
|
|
1338
|
+
<div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>  svfcd = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFConstantData.html">SVFConstantData</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(cd->getType()));</div>
|
|
1339
|
+
<div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  </div>
|
|
1340
|
+
<div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  <span class="keywordflow">if</span> (cd->hasName())</div>
|
|
1341
|
+
<div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>  svfcd-><a class="code" href="classSVF_1_1SVFValue.html#a8325774df9d65d78ef6a66fef59b9a97">setName</a>(cd->getName().str());</div>
|
|
1342
|
+
<div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>  </div>
|
|
1343
|
+
<div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#ae64d24569942d7c4b18d2198be4839f3">addConstant</a>(svfcd);</div>
|
|
1344
|
+
<div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#af4bd487b3b6efe55bf869b869f5e8a80">addConstantDataMap</a>(cd,svfcd);</div>
|
|
1345
|
+
<div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  <span class="keywordflow">return</span> svfcd;</div>
|
|
1346
|
+
<div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>  }</div>
|
|
1347
|
+
<div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> }</div>
|
|
1348
|
+
<div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  </div>
|
|
1349
|
+
<div class="line"><a name="l01305"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a74256f36f0fdc242df9729906c34efbc"> 1305</a></span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a74256f36f0fdc242df9729906c34efbc">LLVMModuleSet::getOtherSVFConstant</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7e230c0cba2e3a7c2e5a5f2ee7d88af9">Constant</a>* oc)</div>
|
|
1350
|
+
<div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> {</div>
|
|
1351
|
+
<div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>  LLVMConst2SVFConstMap::const_iterator it = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a4b94c96898dbbc71bc1cee04786cf3dc">LLVMConst2SVFConst</a>.find(oc);</div>
|
|
1352
|
+
<div class="line"><a name="l01308"></a><span class="lineno"> 1308</span>  <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1LLVMModuleSet.html#a4b94c96898dbbc71bc1cee04786cf3dc">LLVMConst2SVFConst</a>.end())</div>
|
|
1353
|
+
<div class="line"><a name="l01309"></a><span class="lineno"> 1309</span>  {</div>
|
|
1354
|
+
<div class="line"><a name="l01310"></a><span class="lineno"> 1310</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
1355
|
+
<div class="line"><a name="l01311"></a><span class="lineno"> 1311</span>  }</div>
|
|
1356
|
+
<div class="line"><a name="l01312"></a><span class="lineno"> 1312</span>  <span class="keywordflow">else</span></div>
|
|
1357
|
+
<div class="line"><a name="l01313"></a><span class="lineno"> 1313</span>  {</div>
|
|
1358
|
+
<div class="line"><a name="l01314"></a><span class="lineno"> 1314</span>  <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>* svfoc = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFConstant.html">SVFConstant</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(oc->getType()));</div>
|
|
1359
|
+
<div class="line"><a name="l01315"></a><span class="lineno"> 1315</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#ae64d24569942d7c4b18d2198be4839f3">addConstant</a>(svfoc);</div>
|
|
1360
|
+
<div class="line"><a name="l01316"></a><span class="lineno"> 1316</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5badf03aeb1ebda02bc186bbb58a892a">addOtherConstantMap</a>(oc,svfoc);</div>
|
|
1361
|
+
<div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <span class="keywordflow">return</span> svfoc;</div>
|
|
1362
1362
|
<div class="line"><a name="l01318"></a><span class="lineno"> 1318</span>  }</div>
|
|
1363
1363
|
<div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> }</div>
|
|
1364
1364
|
<div class="line"><a name="l01320"></a><span class="lineno"> 1320</span>  </div>
|
|
1365
|
-
<div class="line"><a name="l01321"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#
|
|
1365
|
+
<div class="line"><a name="l01321"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a0ef17c1d5e6a95c597d2334ea577a965"> 1321</a></span> <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a0ef17c1d5e6a95c597d2334ea577a965">LLVMModuleSet::getSVFOtherValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* ov)</div>
|
|
1366
1366
|
<div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> {</div>
|
|
1367
|
-
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> 
|
|
1368
|
-
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> 
|
|
1369
|
-
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> 
|
|
1370
|
-
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  <span class="keywordflow">return</span>
|
|
1371
|
-
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> 
|
|
1372
|
-
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> 
|
|
1373
|
-
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> 
|
|
1374
|
-
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>  <
|
|
1375
|
-
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> 
|
|
1376
|
-
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> 
|
|
1377
|
-
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> 
|
|
1378
|
-
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> 
|
|
1379
|
-
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  <
|
|
1380
|
-
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> 
|
|
1381
|
-
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> 
|
|
1382
|
-
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> 
|
|
1383
|
-
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> 
|
|
1384
|
-
<div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> 
|
|
1385
|
-
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> 
|
|
1386
|
-
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> 
|
|
1387
|
-
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  </div>
|
|
1388
|
-
<div class="line"><a name="l01344"></a><span class="lineno"
|
|
1389
|
-
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> 
|
|
1390
|
-
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>  <span class="keywordflow">
|
|
1391
|
-
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> 
|
|
1392
|
-
<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> 
|
|
1393
|
-
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> 
|
|
1394
|
-
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> 
|
|
1395
|
-
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> 
|
|
1396
|
-
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> 
|
|
1397
|
-
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> 
|
|
1398
|
-
<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>  </div>
|
|
1399
|
-
<div class="line"><a name="
|
|
1400
|
-
<div class="line"><a name="
|
|
1401
|
-
<div class="line"><a name="
|
|
1402
|
-
<div class="line"><a name="
|
|
1403
|
-
<div class="line"><a name="
|
|
1404
|
-
<div class="line"><a name="
|
|
1405
|
-
<div class="line"><a name="
|
|
1406
|
-
<div class="line"><a name="
|
|
1407
|
-
<div class="line"><a name="
|
|
1408
|
-
<div class="line"><a name="
|
|
1409
|
-
<div class="line"><a name="
|
|
1410
|
-
<div class="line"><a name="
|
|
1411
|
-
<div class="line"><a name="
|
|
1412
|
-
<div class="line"><a name="
|
|
1413
|
-
<div class="line"><a name="
|
|
1414
|
-
<div class="line"><a name="
|
|
1415
|
-
<div class="line"><a name="
|
|
1416
|
-
<div class="line"><a name="
|
|
1417
|
-
<div class="line"><a name="
|
|
1418
|
-
<div class="line"><a name="l01377"></a><span class="lineno"> 1377</span> 
|
|
1419
|
-
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> 
|
|
1420
|
-
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>  <
|
|
1421
|
-
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> 
|
|
1422
|
-
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span> 
|
|
1423
|
-
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> 
|
|
1424
|
-
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> 
|
|
1425
|
-
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>  <
|
|
1426
|
-
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span> 
|
|
1427
|
-
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> 
|
|
1428
|
-
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> 
|
|
1429
|
-
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> 
|
|
1430
|
-
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span> 
|
|
1431
|
-
<div class="line"><a name="l01390"></a><span class="lineno"> 1390</span> 
|
|
1432
|
-
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> 
|
|
1433
|
-
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span> 
|
|
1434
|
-
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> 
|
|
1435
|
-
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span> 
|
|
1436
|
-
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span> 
|
|
1437
|
-
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span> 
|
|
1438
|
-
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span> 
|
|
1439
|
-
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  <a class="code" href="
|
|
1440
|
-
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  <
|
|
1441
|
-
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span> 
|
|
1442
|
-
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span> 
|
|
1443
|
-
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span> 
|
|
1444
|
-
<div class="line"><a name="l01403"></a><span class="lineno"
|
|
1445
|
-
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span> {</div>
|
|
1446
|
-
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span> 
|
|
1447
|
-
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span> 
|
|
1448
|
-
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  </div>
|
|
1449
|
-
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span> 
|
|
1450
|
-
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span> 
|
|
1451
|
-
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span> 
|
|
1452
|
-
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span> 
|
|
1453
|
-
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> 
|
|
1454
|
-
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span> 
|
|
1455
|
-
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span> 
|
|
1456
|
-
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span> 
|
|
1367
|
+
<div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>  LLVMValue2SVFOtherValueMap::const_iterator it = <a class="code" href="classSVF_1_1LLVMModuleSet.html#ac3e70bd338be3a54330be5dc10321eb3">LLVMValue2SVFOtherValue</a>.find(ov);</div>
|
|
1368
|
+
<div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>  <span class="keywordflow">if</span>(it!=<a class="code" href="classSVF_1_1LLVMModuleSet.html#ac3e70bd338be3a54330be5dc10321eb3">LLVMValue2SVFOtherValue</a>.end())</div>
|
|
1369
|
+
<div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  {</div>
|
|
1370
|
+
<div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
1371
|
+
<div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  }</div>
|
|
1372
|
+
<div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>  <span class="keywordflow">else</span></div>
|
|
1373
|
+
<div class="line"><a name="l01329"></a><span class="lineno"> 1329</span>  {</div>
|
|
1374
|
+
<div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>  <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>* svfov =</div>
|
|
1375
|
+
<div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>  SVFUtil::isa<MetadataAsValue>(ov)</div>
|
|
1376
|
+
<div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>  ? <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFMetadataAsValue.html">SVFMetadataAsValue</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ov->getType()))</div>
|
|
1377
|
+
<div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  : <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFOtherValue.html">SVFOtherValue</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ov->getType()));</div>
|
|
1378
|
+
<div class="line"><a name="l01334"></a><span class="lineno"> 1334</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">svfModule</a>-><a class="code" href="classSVF_1_1SVFModule.html#a48d7f0643bb228701dcabb88ef541fca">addOtherValue</a>(svfov);</div>
|
|
1379
|
+
<div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a023ea6f179433fa4d007c98ddc38e3c5">addOtherValueMap</a>(ov,svfov);</div>
|
|
1380
|
+
<div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  <span class="keywordflow">return</span> svfov;</div>
|
|
1381
|
+
<div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  }</div>
|
|
1382
|
+
<div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> }</div>
|
|
1383
|
+
<div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>  </div>
|
|
1384
|
+
<div class="line"><a name="l01340"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392"> 1340</a></span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">LLVMModuleSet::getSVFValue</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* value)</div>
|
|
1385
|
+
<div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> {</div>
|
|
1386
|
+
<div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = SVFUtil::dyn_cast<Function>(value))</div>
|
|
1387
|
+
<div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">getSVFFunction</a>(fun);</div>
|
|
1388
|
+
<div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb = SVFUtil::dyn_cast<BasicBlock>(value))</div>
|
|
1389
|
+
<div class="line"><a name="l01345"></a><span class="lineno"> 1345</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#ab0c0f321b6bfbfab2e4ff06d81920ab9">getSVFBasicBlock</a>(bb);</div>
|
|
1390
|
+
<div class="line"><a name="l01346"></a><span class="lineno"> 1346</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst = SVFUtil::dyn_cast<Instruction>(value))</div>
|
|
1391
|
+
<div class="line"><a name="l01347"></a><span class="lineno"> 1347</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">getSVFInstruction</a>(inst);</div>
|
|
1392
|
+
<div class="line"><a name="l01348"></a><span class="lineno"> 1348</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* arg = SVFUtil::dyn_cast<Argument>(value))</div>
|
|
1393
|
+
<div class="line"><a name="l01349"></a><span class="lineno"> 1349</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#ad3f66b40ad360003845253f452d6a711">getSVFArgument</a>(arg);</div>
|
|
1394
|
+
<div class="line"><a name="l01350"></a><span class="lineno"> 1350</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7e230c0cba2e3a7c2e5a5f2ee7d88af9">Constant</a>* cons = SVFUtil::dyn_cast<Constant>(value))</div>
|
|
1395
|
+
<div class="line"><a name="l01351"></a><span class="lineno"> 1351</span>  {</div>
|
|
1396
|
+
<div class="line"><a name="l01352"></a><span class="lineno"> 1352</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7332f8059ea95472dcc231de884a5768">ConstantData</a>* cd = SVFUtil::dyn_cast<ConstantData>(cons))</div>
|
|
1397
|
+
<div class="line"><a name="l01353"></a><span class="lineno"> 1353</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a25821b0feeb3b08e00ec9d444520b727">getSVFConstantData</a>(cd);</div>
|
|
1398
|
+
<div class="line"><a name="l01354"></a><span class="lineno"> 1354</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">GlobalValue</a>* glob = SVFUtil::dyn_cast<GlobalValue>(cons))</div>
|
|
1399
|
+
<div class="line"><a name="l01355"></a><span class="lineno"> 1355</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a3cbba2eb702a3481478b2590dfffa352">getSVFGlobalValue</a>(glob);</div>
|
|
1400
|
+
<div class="line"><a name="l01356"></a><span class="lineno"> 1356</span>  <span class="keywordflow">else</span></div>
|
|
1401
|
+
<div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a74256f36f0fdc242df9729906c34efbc">getOtherSVFConstant</a>(cons);</div>
|
|
1402
|
+
<div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  }</div>
|
|
1403
|
+
<div class="line"><a name="l01359"></a><span class="lineno"> 1359</span>  <span class="keywordflow">else</span></div>
|
|
1404
|
+
<div class="line"><a name="l01360"></a><span class="lineno"> 1360</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1LLVMModuleSet.html#a0ef17c1d5e6a95c597d2334ea577a965">getSVFOtherValue</a>(value);</div>
|
|
1405
|
+
<div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> }</div>
|
|
1406
|
+
<div class="line"><a name="l01362"></a><span class="lineno"> 1362</span>  </div>
|
|
1407
|
+
<div class="line"><a name="l01363"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044"> 1363</a></span> <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">LLVMModuleSet::getLLVMType</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* T)<span class="keyword"> const</span></div>
|
|
1408
|
+
<div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="keyword"></span>{</div>
|
|
1409
|
+
<div class="line"><a name="l01365"></a><span class="lineno"> 1365</span>  <span class="keywordflow">for</span>(LLVMType2SVFTypeMap::const_iterator it = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.begin(), eit = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.end(); it!=eit; ++it)</div>
|
|
1410
|
+
<div class="line"><a name="l01366"></a><span class="lineno"> 1366</span>  {</div>
|
|
1411
|
+
<div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>  <span class="keywordflow">if</span> (it->second == T)</div>
|
|
1412
|
+
<div class="line"><a name="l01368"></a><span class="lineno"> 1368</span>  <span class="keywordflow">return</span> it->first;</div>
|
|
1413
|
+
<div class="line"><a name="l01369"></a><span class="lineno"> 1369</span>  }</div>
|
|
1414
|
+
<div class="line"><a name="l01370"></a><span class="lineno"> 1370</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"can't find the corresponding LLVM Type"</span>);</div>
|
|
1415
|
+
<div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>  abort();</div>
|
|
1416
|
+
<div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> }</div>
|
|
1417
|
+
<div class="line"><a name="l01373"></a><span class="lineno"> 1373</span>  </div>
|
|
1418
|
+
<div class="line"><a name="l01377"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99"> 1377</a></span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">LLVMModuleSet::getSVFType</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* T)</div>
|
|
1419
|
+
<div class="line"><a name="l01378"></a><span class="lineno"> 1378</span> {</div>
|
|
1420
|
+
<div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>  assert(T && <span class="stringliteral">"SVFType should not be null"</span>);</div>
|
|
1421
|
+
<div class="line"><a name="l01380"></a><span class="lineno"> 1380</span>  LLVMType2SVFTypeMap::const_iterator it = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.find(T);</div>
|
|
1422
|
+
<div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.end())</div>
|
|
1423
|
+
<div class="line"><a name="l01382"></a><span class="lineno"> 1382</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
1424
|
+
<div class="line"><a name="l01383"></a><span class="lineno"> 1383</span>  </div>
|
|
1425
|
+
<div class="line"><a name="l01384"></a><span class="lineno"> 1384</span>  <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#aab7b08db9252ef7e21e54d019f44b073">addSVFTypeInfo</a>(T);</div>
|
|
1426
|
+
<div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stinfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(T);</div>
|
|
1427
|
+
<div class="line"><a name="l01386"></a><span class="lineno"> 1386</span>  svfType-><a class="code" href="classSVF_1_1SVFType.html#aef5999ada62dac3cc946d832ac66948c">setTypeInfo</a>(stinfo);</div>
|
|
1428
|
+
<div class="line"><a name="l01387"></a><span class="lineno"> 1387</span>  <span class="keywordflow">return</span> svfType;</div>
|
|
1429
|
+
<div class="line"><a name="l01388"></a><span class="lineno"> 1388</span> }</div>
|
|
1430
|
+
<div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  </div>
|
|
1431
|
+
<div class="line"><a name="l01390"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92"> 1390</a></span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">LLVMModuleSet::collectTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* T)</div>
|
|
1432
|
+
<div class="line"><a name="l01391"></a><span class="lineno"> 1391</span> {</div>
|
|
1433
|
+
<div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>  Type2TypeInfoMap::iterator tit = <a class="code" href="classSVF_1_1LLVMModuleSet.html#af2c555af91679d9e6d3009547ee11486">Type2TypeInfo</a>.find(T);</div>
|
|
1434
|
+
<div class="line"><a name="l01393"></a><span class="lineno"> 1393</span>  <span class="keywordflow">if</span> (tit != <a class="code" href="classSVF_1_1LLVMModuleSet.html#af2c555af91679d9e6d3009547ee11486">Type2TypeInfo</a>.end())</div>
|
|
1435
|
+
<div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>  {</div>
|
|
1436
|
+
<div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>  <span class="keywordflow">return</span> tit->second;</div>
|
|
1437
|
+
<div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>  }</div>
|
|
1438
|
+
<div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  <span class="comment">// No such StInfo for T, create it now.</span></div>
|
|
1439
|
+
<div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo;</div>
|
|
1440
|
+
<div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* aty = SVFUtil::dyn_cast<ArrayType>(T))</div>
|
|
1441
|
+
<div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>  {</div>
|
|
1442
|
+
<div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  stInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">collectArrayInfo</a>(aty);</div>
|
|
1443
|
+
<div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  }</div>
|
|
1444
|
+
<div class="line"><a name="l01403"></a><span class="lineno"> 1403</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* sty = SVFUtil::dyn_cast<StructType>(T))</div>
|
|
1445
|
+
<div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  {</div>
|
|
1446
|
+
<div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nf;</div>
|
|
1447
|
+
<div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  stInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">collectStructInfo</a>(sty, nf);</div>
|
|
1448
|
+
<div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  <span class="keywordflow">if</span> (nf > <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#abb8550c9ef856e45cb7675c3796f9a35">maxStSize</a>)</div>
|
|
1449
|
+
<div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>  {</div>
|
|
1450
|
+
<div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a0c1143eff451edf8ea47d4487a8d3a55">maxStruct</a> = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(sty);</div>
|
|
1451
|
+
<div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#abb8550c9ef856e45cb7675c3796f9a35">maxStSize</a> = nf;</div>
|
|
1452
|
+
<div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>  }</div>
|
|
1453
|
+
<div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>  }</div>
|
|
1454
|
+
<div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  <span class="keywordflow">else</span></div>
|
|
1455
|
+
<div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>  {</div>
|
|
1456
|
+
<div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  stInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">collectSimpleTypeInfo</a>(T);</div>
|
|
1457
1457
|
<div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  }</div>
|
|
1458
|
-
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  </div>
|
|
1459
|
-
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  <a class="code" href="
|
|
1460
|
-
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  <span class="keywordflow">
|
|
1461
|
-
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> 
|
|
1462
|
-
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span> 
|
|
1463
|
-
<div class="line"><a name="l01422"></a><span class="lineno"> 1422</span> 
|
|
1464
|
-
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> 
|
|
1465
|
-
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span> 
|
|
1466
|
-
<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> 
|
|
1467
|
-
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span> 
|
|
1468
|
-
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span> 
|
|
1469
|
-
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span> 
|
|
1470
|
-
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span> 
|
|
1471
|
-
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span> 
|
|
1472
|
-
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span> 
|
|
1473
|
-
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span> 
|
|
1474
|
-
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span> 
|
|
1475
|
-
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span> 
|
|
1476
|
-
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span> 
|
|
1477
|
-
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span> 
|
|
1478
|
-
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span> 
|
|
1479
|
-
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span> 
|
|
1480
|
-
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span> 
|
|
1481
|
-
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span> 
|
|
1482
|
-
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span> 
|
|
1483
|
-
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span> 
|
|
1484
|
-
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span> 
|
|
1485
|
-
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> 
|
|
1486
|
-
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span> 
|
|
1487
|
-
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span> 
|
|
1488
|
-
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span> 
|
|
1489
|
-
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span> 
|
|
1490
|
-
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> 
|
|
1491
|
-
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span> 
|
|
1492
|
-
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span> 
|
|
1493
|
-
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span> 
|
|
1494
|
-
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span> 
|
|
1495
|
-
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span> 
|
|
1496
|
-
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  </div>
|
|
1497
|
-
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span> 
|
|
1498
|
-
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span> 
|
|
1499
|
-
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> 
|
|
1500
|
-
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  <span class="keywordflow">
|
|
1501
|
-
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> 
|
|
1502
|
-
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>  </div>
|
|
1503
|
-
<div class="line"><a name="
|
|
1504
|
-
<div class="line"><a name="
|
|
1505
|
-
<div class="line"><a name="
|
|
1506
|
-
<div class="line"><a name="
|
|
1507
|
-
<div class="line"><a name="
|
|
1508
|
-
<div class="line"><a name="
|
|
1509
|
-
<div class="line"><a name="
|
|
1510
|
-
<div class="line"><a name="
|
|
1458
|
+
<div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#af2c555af91679d9e6d3009547ee11486">Type2TypeInfo</a>.emplace(T, stInfo);</div>
|
|
1459
|
+
<div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a72be32d606db86090067159de44e01ec">addStInfo</a>(stInfo);</div>
|
|
1460
|
+
<div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  <span class="keywordflow">return</span> stInfo;</div>
|
|
1461
|
+
<div class="line"><a name="l01420"></a><span class="lineno"> 1420</span> }</div>
|
|
1462
|
+
<div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>  </div>
|
|
1463
|
+
<div class="line"><a name="l01422"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#aab7b08db9252ef7e21e54d019f44b073"> 1422</a></span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#aab7b08db9252ef7e21e54d019f44b073">LLVMModuleSet::addSVFTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* T)</div>
|
|
1464
|
+
<div class="line"><a name="l01423"></a><span class="lineno"> 1423</span> {</div>
|
|
1465
|
+
<div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>  assert(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.find(T) == <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>.end() &&</div>
|
|
1466
|
+
<div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>  <span class="stringliteral">"SVFType has been added before"</span>);</div>
|
|
1467
|
+
<div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>  </div>
|
|
1468
|
+
<div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>  <span class="comment">// add SVFType's LLVM byte size iff T isSized(), otherwise byteSize is 1 (default value)</span></div>
|
|
1469
|
+
<div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> byteSize = 1;</div>
|
|
1470
|
+
<div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>  <span class="keywordflow">if</span> (T->isSized())</div>
|
|
1471
|
+
<div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>  {</div>
|
|
1472
|
+
<div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a03db82b8a7914367024723dba4d6ca3c">llvm::DataLayout</a> &DL = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-></div>
|
|
1473
|
+
<div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a9fe3fa15a6a0ec25864cb8439a45596e">getMainLLVMModule</a>()->getDataLayout();</div>
|
|
1474
|
+
<div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>  <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *mut_T = <span class="keyword">const_cast<</span><a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a> *<span class="keyword">></span>(T);</div>
|
|
1475
|
+
<div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  byteSize = DL.getTypeAllocSize(mut_T);</div>
|
|
1476
|
+
<div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  }</div>
|
|
1477
|
+
<div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>  </div>
|
|
1478
|
+
<div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>  <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svftype;</div>
|
|
1479
|
+
<div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  <span class="keywordflow">if</span> (SVFUtil::isa<PointerType>(T))</div>
|
|
1480
|
+
<div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  {</div>
|
|
1481
|
+
<div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>  svftype = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFPointerType.html">SVFPointerType</a>(byteSize);</div>
|
|
1482
|
+
<div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>  }</div>
|
|
1483
|
+
<div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">IntegerType</a>* intT = SVFUtil::dyn_cast<IntegerType>(T))</div>
|
|
1484
|
+
<div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>  {</div>
|
|
1485
|
+
<div class="line"><a name="l01444"></a><span class="lineno"> 1444</span>  <span class="keyword">auto</span> svfIntT = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFIntegerType.html">SVFIntegerType</a>(byteSize);</div>
|
|
1486
|
+
<div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>  <span class="keywordtype">unsigned</span> signWidth = intT->getBitWidth();</div>
|
|
1487
|
+
<div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  assert(signWidth < INT16_MAX && <span class="stringliteral">"Integer width too big"</span>);</div>
|
|
1488
|
+
<div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  svfIntT->setSignAndWidth(intT->getSignBit() ? -signWidth : signWidth);</div>
|
|
1489
|
+
<div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>  svftype = svfIntT;</div>
|
|
1490
|
+
<div class="line"><a name="l01449"></a><span class="lineno"> 1449</span>  }</div>
|
|
1491
|
+
<div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a6ec0236303089a01fd9da36a8bb84e0a">FunctionType</a>* ft = SVFUtil::dyn_cast<FunctionType>(T))</div>
|
|
1492
|
+
<div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>  svftype = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFFunctionType.html">SVFFunctionType</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ft->getReturnType()));</div>
|
|
1493
|
+
<div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* st = SVFUtil::dyn_cast<StructType>(T))</div>
|
|
1494
|
+
<div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>  {</div>
|
|
1495
|
+
<div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>  <span class="keyword">auto</span> svfst = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFStructType.html">SVFStructType</a>(byteSize);</div>
|
|
1496
|
+
<div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  <span class="keywordflow">if</span> (st->hasName())</div>
|
|
1497
|
+
<div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  svfst->setName(st->getName().str());</div>
|
|
1498
|
+
<div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  svftype = svfst;</div>
|
|
1499
|
+
<div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  }</div>
|
|
1500
|
+
<div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span> at = SVFUtil::dyn_cast<ArrayType>(T))</div>
|
|
1501
|
+
<div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  {</div>
|
|
1502
|
+
<div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>  <span class="keyword">auto</span> svfat = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFArrayType.html">SVFArrayType</a>(byteSize);</div>
|
|
1503
|
+
<div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>  svfat->setNumOfElement(at->getNumElements());</div>
|
|
1504
|
+
<div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>  svfat->setTypeOfElement(<a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(at->getElementType()));</div>
|
|
1505
|
+
<div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>  svftype = svfat;</div>
|
|
1506
|
+
<div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>  }</div>
|
|
1507
|
+
<div class="line"><a name="l01466"></a><span class="lineno"> 1466</span>  <span class="keywordflow">else</span></div>
|
|
1508
|
+
<div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>  {</div>
|
|
1509
|
+
<div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> <a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>;</div>
|
|
1510
|
+
<div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>  <span class="keyword">auto</span> ot = <span class="keyword">new</span> <a class="code" href="classSVF_1_1SVFOtherType.html">SVFOtherType</a>(T->isSingleValueType(), byteSize);</div>
|
|
1511
|
+
<div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>  llvm::raw_string_ostream(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>) << *T;</div>
|
|
1512
|
+
<div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  ot->setRepr(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">std::move</a>(<a class="code" href="cJSON_8h.html#a503753140aa27b00f99a3501280b2746">buffer</a>));</div>
|
|
1513
|
+
<div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  svftype = ot;</div>
|
|
1511
1514
|
<div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  }</div>
|
|
1512
1515
|
<div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>  </div>
|
|
1513
|
-
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <a class="code" href="
|
|
1514
|
-
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  <
|
|
1516
|
+
<div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">symInfo</a>-><a class="code" href="classSVF_1_1SymbolTableInfo.html#a91083d9504ae5d220b28e0b3e461d4aa">addTypeInfo</a>(svftype);</div>
|
|
1517
|
+
<div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">LLVMType2SVFType</a>[T] = svftype;</div>
|
|
1515
1518
|
<div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>  </div>
|
|
1516
|
-
<div class="line"><a name="
|
|
1517
|
-
<div class="line"><a name="
|
|
1518
|
-
<div class="line"><a name="
|
|
1519
|
-
<div class="line"><a name="
|
|
1520
|
-
<div class="line"><a name="
|
|
1521
|
-
<div class="line"><a name="
|
|
1522
|
-
<div class="line"><a name="
|
|
1523
|
-
<div class="line"><a name="
|
|
1524
|
-
<div class="line"><a name="
|
|
1525
|
-
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> 
|
|
1526
|
-
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> 
|
|
1527
|
-
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> 
|
|
1528
|
-
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> 
|
|
1529
|
-
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> 
|
|
1530
|
-
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> 
|
|
1531
|
-
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> 
|
|
1532
|
-
<div class="line"><a name="
|
|
1533
|
-
<div class="line"><a name="
|
|
1534
|
-
<div class="line"><a name="
|
|
1535
|
-
<div class="line"><a name="
|
|
1536
|
-
<div class="line"><a name="
|
|
1537
|
-
<div class="line"><a name="
|
|
1538
|
-
<div class="line"><a name="
|
|
1539
|
-
<div class="line"><a name="
|
|
1540
|
-
<div class="line"><a name="
|
|
1541
|
-
<div class="line"><a name="
|
|
1542
|
-
<div class="line"><a name="
|
|
1543
|
-
<div class="line"><a name="
|
|
1544
|
-
<div class="line"><a name="
|
|
1545
|
-
<div class="line"><a name="
|
|
1546
|
-
<div class="line"><a name="
|
|
1547
|
-
<div class="line"><a name="
|
|
1548
|
-
<div class="line"><a name="
|
|
1549
|
-
<div class="line"><a name="
|
|
1550
|
-
<div class="line"><a name="
|
|
1551
|
-
<div class="line"><a name="
|
|
1552
|
-
<div class="line"><a name="
|
|
1553
|
-
<div class="line"><a name="
|
|
1554
|
-
<div class="line"><a name="
|
|
1555
|
-
<div class="line"><a name="
|
|
1556
|
-
<div class="line"><a name="
|
|
1557
|
-
<div class="line"><a name="
|
|
1558
|
-
<div class="line"><a name="
|
|
1559
|
-
<div class="line"><a name="
|
|
1560
|
-
<div class="line"><a name="
|
|
1561
|
-
<div class="line"><a name="
|
|
1562
|
-
<div class="line"><a name="
|
|
1563
|
-
<div class="line"><a name="
|
|
1564
|
-
<div class="line"><a name="
|
|
1565
|
-
<div class="line"><a name="
|
|
1566
|
-
<div class="line"><a name="
|
|
1567
|
-
<div class="line"><a name="
|
|
1568
|
-
<div class="line"><a name="
|
|
1569
|
-
<div class="line"><a name="
|
|
1570
|
-
<div class="line"><a name="
|
|
1571
|
-
<div class="line"><a name="
|
|
1572
|
-
<div class="line"><a name="
|
|
1573
|
-
<div class="line"><a name="
|
|
1574
|
-
<div class="line"><a name="
|
|
1575
|
-
<div class="line"><a name="
|
|
1576
|
-
<div class="line"><a name="
|
|
1577
|
-
<div class="line"><a name="
|
|
1578
|
-
<div class="line"><a name="
|
|
1579
|
-
<div class="line"><a name="
|
|
1580
|
-
<div class="line"><a name="
|
|
1581
|
-
<div class="line"><a name="
|
|
1582
|
-
<div class="line"><a name="
|
|
1583
|
-
<div class="line"><a name="
|
|
1584
|
-
<div class="line"><a name="
|
|
1585
|
-
<div class="line"><a name="
|
|
1586
|
-
<div class="line"><a name="
|
|
1587
|
-
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = subStInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[tpj];</div>
|
|
1588
|
-
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(ty);</div>
|
|
1589
|
-
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>  }</div>
|
|
1519
|
+
<div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>  <span class="keywordflow">return</span> svftype;</div>
|
|
1520
|
+
<div class="line"><a name="l01479"></a><span class="lineno"> 1479</span> }</div>
|
|
1521
|
+
<div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>  </div>
|
|
1522
|
+
<div class="line"><a name="l01484"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29"> 1484</a></span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">LLVMModuleSet::collectArrayInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* ty)</div>
|
|
1523
|
+
<div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> {</div>
|
|
1524
|
+
<div class="line"><a name="l01486"></a><span class="lineno"> 1486</span>  <a class="code" href="namespaceSVF.html#a366625858f450a1ea5f985a3c83e0f14">u64_t</a> totalElemNum = ty->getNumElements();</div>
|
|
1525
|
+
<div class="line"><a name="l01487"></a><span class="lineno"> 1487</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* elemTy = ty->getElementType();</div>
|
|
1526
|
+
<div class="line"><a name="l01488"></a><span class="lineno"> 1488</span>  <span class="keywordflow">while</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a146d286041987860388da3d8bc85cee3">ArrayType</a>* aty = SVFUtil::dyn_cast<ArrayType>(elemTy))</div>
|
|
1527
|
+
<div class="line"><a name="l01489"></a><span class="lineno"> 1489</span>  {</div>
|
|
1528
|
+
<div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  totalElemNum *= aty->getNumElements();</div>
|
|
1529
|
+
<div class="line"><a name="l01491"></a><span class="lineno"> 1491</span>  elemTy = aty->getElementType();</div>
|
|
1530
|
+
<div class="line"><a name="l01492"></a><span class="lineno"> 1492</span>  }</div>
|
|
1531
|
+
<div class="line"><a name="l01493"></a><span class="lineno"> 1493</span>  </div>
|
|
1532
|
+
<div class="line"><a name="l01494"></a><span class="lineno"> 1494</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(totalElemNum);</div>
|
|
1533
|
+
<div class="line"><a name="l01495"></a><span class="lineno"> 1495</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemSvfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(elemTy);</div>
|
|
1534
|
+
<div class="line"><a name="l01496"></a><span class="lineno"> 1496</span>  </div>
|
|
1535
|
+
<div class="line"><a name="l01498"></a><span class="lineno"> 1498</span>  <span class="keywordflow">if</span> (totalElemNum == 0)</div>
|
|
1536
|
+
<div class="line"><a name="l01499"></a><span class="lineno"> 1499</span>  {</div>
|
|
1537
|
+
<div class="line"><a name="l01500"></a><span class="lineno"> 1500</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, elemSvfType, 0);</div>
|
|
1538
|
+
<div class="line"><a name="l01501"></a><span class="lineno"> 1501</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(1, 1);</div>
|
|
1539
|
+
<div class="line"><a name="l01502"></a><span class="lineno"> 1502</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemSvfType);</div>
|
|
1540
|
+
<div class="line"><a name="l01503"></a><span class="lineno"> 1503</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(elemSvfType);</div>
|
|
1541
|
+
<div class="line"><a name="l01504"></a><span class="lineno"> 1504</span>  <span class="keywordflow">return</span> stInfo;</div>
|
|
1542
|
+
<div class="line"><a name="l01505"></a><span class="lineno"> 1505</span>  }</div>
|
|
1543
|
+
<div class="line"><a name="l01506"></a><span class="lineno"> 1506</span>  </div>
|
|
1544
|
+
<div class="line"><a name="l01509"></a><span class="lineno"> 1509</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* elemStInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(elemTy);</div>
|
|
1545
|
+
<div class="line"><a name="l01510"></a><span class="lineno"> 1510</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfF = elemStInfo-><a class="code" href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">getNumOfFlattenFields</a>();</div>
|
|
1546
|
+
<div class="line"><a name="l01511"></a><span class="lineno"> 1511</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfE = elemStInfo-><a class="code" href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">getNumOfFlattenElements</a>();</div>
|
|
1547
|
+
<div class="line"><a name="l01512"></a><span class="lineno"> 1512</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j < nfF; j++)</div>
|
|
1548
|
+
<div class="line"><a name="l01513"></a><span class="lineno"> 1513</span>  {</div>
|
|
1549
|
+
<div class="line"><a name="l01514"></a><span class="lineno"> 1514</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* fieldTy = elemStInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>()[j];</div>
|
|
1550
|
+
<div class="line"><a name="l01515"></a><span class="lineno"> 1515</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(fieldTy);</div>
|
|
1551
|
+
<div class="line"><a name="l01516"></a><span class="lineno"> 1516</span>  }</div>
|
|
1552
|
+
<div class="line"><a name="l01517"></a><span class="lineno"> 1517</span>  </div>
|
|
1553
|
+
<div class="line"><a name="l01520"></a><span class="lineno"> 1520</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> outArrayElemNum = ty->getNumElements();</div>
|
|
1554
|
+
<div class="line"><a name="l01521"></a><span class="lineno"> 1521</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < outArrayElemNum; ++i)</div>
|
|
1555
|
+
<div class="line"><a name="l01522"></a><span class="lineno"> 1522</span>  {</div>
|
|
1556
|
+
<div class="line"><a name="l01523"></a><span class="lineno"> 1523</span>  <span class="keyword">auto</span> idx = (i * nfE * totalElemNum) / outArrayElemNum;</div>
|
|
1557
|
+
<div class="line"><a name="l01524"></a><span class="lineno"> 1524</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, elemSvfType, idx);</div>
|
|
1558
|
+
<div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>  }</div>
|
|
1559
|
+
<div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>  </div>
|
|
1560
|
+
<div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> i = 0; i < totalElemNum; ++i)</div>
|
|
1561
|
+
<div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  {</div>
|
|
1562
|
+
<div class="line"><a name="l01529"></a><span class="lineno"> 1529</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j < nfE; ++j)</div>
|
|
1563
|
+
<div class="line"><a name="l01530"></a><span class="lineno"> 1530</span>  {</div>
|
|
1564
|
+
<div class="line"><a name="l01531"></a><span class="lineno"> 1531</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* et = elemStInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[j];</div>
|
|
1565
|
+
<div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(et);</div>
|
|
1566
|
+
<div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  }</div>
|
|
1567
|
+
<div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  }</div>
|
|
1568
|
+
<div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  </div>
|
|
1569
|
+
<div class="line"><a name="l01536"></a><span class="lineno"> 1536</span>  assert(stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().size() == nfE * totalElemNum &&</div>
|
|
1570
|
+
<div class="line"><a name="l01537"></a><span class="lineno"> 1537</span>  <span class="stringliteral">"typeForArray size incorrect!!!"</span>);</div>
|
|
1571
|
+
<div class="line"><a name="l01538"></a><span class="lineno"> 1538</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(nfF, nfE * totalElemNum);</div>
|
|
1572
|
+
<div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  </div>
|
|
1573
|
+
<div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <span class="keywordflow">return</span> stInfo;</div>
|
|
1574
|
+
<div class="line"><a name="l01541"></a><span class="lineno"> 1541</span> }</div>
|
|
1575
|
+
<div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>  </div>
|
|
1576
|
+
<div class="line"><a name="l01547"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258"> 1547</a></span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">LLVMModuleSet::collectStructInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a>* structTy,</div>
|
|
1577
|
+
<div class="line"><a name="l01548"></a><span class="lineno"> 1548</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>& numFields)</div>
|
|
1578
|
+
<div class="line"><a name="l01549"></a><span class="lineno"> 1549</span> {</div>
|
|
1579
|
+
<div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(1);</div>
|
|
1580
|
+
<div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  </div>
|
|
1581
|
+
<div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  <span class="comment">// Number of fields after flattening the struct</span></div>
|
|
1582
|
+
<div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  numFields = 0;</div>
|
|
1583
|
+
<div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  <span class="comment">// The offset when considering array stride info</span></div>
|
|
1584
|
+
<div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> strideOffset = 0;</div>
|
|
1585
|
+
<div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* elemTy : structTy->elements())</div>
|
|
1586
|
+
<div class="line"><a name="l01558"></a><span class="lineno"> 1558</span>  {</div>
|
|
1587
|
+
<div class="line"><a name="l01559"></a><span class="lineno"> 1559</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemSvfTy = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(elemTy);</div>
|
|
1588
|
+
<div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>  <span class="comment">// offset with int_32 (s32_t) is large enough and won't overflow</span></div>
|
|
1589
|
+
<div class="line"><a name="l01561"></a><span class="lineno"> 1561</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(numFields, elemSvfTy, strideOffset);</div>
|
|
1590
1590
|
<div class="line"><a name="l01562"></a><span class="lineno"> 1562</span>  </div>
|
|
1591
|
-
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span> 
|
|
1592
|
-
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> 
|
|
1593
|
-
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span> 
|
|
1594
|
-
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  <
|
|
1595
|
-
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span> 
|
|
1596
|
-
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span> 
|
|
1597
|
-
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> 
|
|
1598
|
-
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> 
|
|
1599
|
-
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> 
|
|
1600
|
-
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span> 
|
|
1601
|
-
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> 
|
|
1602
|
-
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span> 
|
|
1603
|
-
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> 
|
|
1604
|
-
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span> 
|
|
1605
|
-
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span> 
|
|
1606
|
-
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span> 
|
|
1607
|
-
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span> 
|
|
1608
|
-
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> 
|
|
1591
|
+
<div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  <span class="keywordflow">if</span> (SVFUtil::isa<StructType, ArrayType>(elemTy))</div>
|
|
1592
|
+
<div class="line"><a name="l01564"></a><span class="lineno"> 1564</span>  {</div>
|
|
1593
|
+
<div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* subStInfo = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">collectTypeInfo</a>(elemTy);</div>
|
|
1594
|
+
<div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfF = subStInfo-><a class="code" href="classSVF_1_1StInfo.html#ae5fad367673315da57a604e64b5889f0">getNumOfFlattenFields</a>();</div>
|
|
1595
|
+
<div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> nfE = subStInfo-><a class="code" href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">getNumOfFlattenElements</a>();</div>
|
|
1596
|
+
<div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  <span class="comment">// Copy ST's info, whose element 0 is the size of ST itself.</span></div>
|
|
1597
|
+
<div class="line"><a name="l01569"></a><span class="lineno"> 1569</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> j = 0; j < nfF; ++j)</div>
|
|
1598
|
+
<div class="line"><a name="l01570"></a><span class="lineno"> 1570</span>  {</div>
|
|
1599
|
+
<div class="line"><a name="l01571"></a><span class="lineno"> 1571</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* elemTy = subStInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>()[j];</div>
|
|
1600
|
+
<div class="line"><a name="l01572"></a><span class="lineno"> 1572</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemTy);</div>
|
|
1601
|
+
<div class="line"><a name="l01573"></a><span class="lineno"> 1573</span>  }</div>
|
|
1602
|
+
<div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  numFields += nfF;</div>
|
|
1603
|
+
<div class="line"><a name="l01575"></a><span class="lineno"> 1575</span>  strideOffset += nfE;</div>
|
|
1604
|
+
<div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> tpj = 0; tpj < nfE; ++tpj)</div>
|
|
1605
|
+
<div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  {</div>
|
|
1606
|
+
<div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* ty = subStInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>()[tpj];</div>
|
|
1607
|
+
<div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(ty);</div>
|
|
1608
|
+
<div class="line"><a name="l01580"></a><span class="lineno"> 1580</span>  }</div>
|
|
1609
1609
|
<div class="line"><a name="l01581"></a><span class="lineno"> 1581</span>  </div>
|
|
1610
|
-
<div class="line"><a name="
|
|
1611
|
-
<div class="line"><a name="
|
|
1612
|
-
<div class="line"><a name="
|
|
1613
|
-
<div class="line"><a name="
|
|
1614
|
-
<div class="line"><a name="
|
|
1615
|
-
<div class="line"><a name="
|
|
1616
|
-
<div class="line"><a name="
|
|
1617
|
-
<div class="line"><a name="
|
|
1618
|
-
<div class="line"><a name="
|
|
1619
|
-
<div class="line"><a name="
|
|
1620
|
-
<div class="line"><a name="
|
|
1621
|
-
<div class="line"><a name="
|
|
1610
|
+
<div class="line"><a name="l01582"></a><span class="lineno"> 1582</span>  }</div>
|
|
1611
|
+
<div class="line"><a name="l01583"></a><span class="lineno"> 1583</span>  <span class="keywordflow">else</span></div>
|
|
1612
|
+
<div class="line"><a name="l01584"></a><span class="lineno"> 1584</span>  {</div>
|
|
1613
|
+
<div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>  <span class="comment">// Simple type</span></div>
|
|
1614
|
+
<div class="line"><a name="l01586"></a><span class="lineno"> 1586</span>  numFields += 1;</div>
|
|
1615
|
+
<div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  strideOffset += 1;</div>
|
|
1616
|
+
<div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(elemSvfTy);</div>
|
|
1617
|
+
<div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(elemSvfTy);</div>
|
|
1618
|
+
<div class="line"><a name="l01590"></a><span class="lineno"> 1590</span>  }</div>
|
|
1619
|
+
<div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  }</div>
|
|
1620
|
+
<div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  </div>
|
|
1621
|
+
<div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  assert(stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().size() == strideOffset &&</div>
|
|
1622
|
+
<div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  <span class="stringliteral">"typeForStruct size incorrect!"</span>);</div>
|
|
1623
|
+
<div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(numFields,strideOffset);</div>
|
|
1624
|
+
<div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  </div>
|
|
1625
|
+
<div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  <span class="keywordflow">return</span> stInfo;</div>
|
|
1626
|
+
<div class="line"><a name="l01598"></a><span class="lineno"> 1598</span> }</div>
|
|
1627
|
+
<div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>  </div>
|
|
1628
|
+
<div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  </div>
|
|
1629
|
+
<div class="line"><a name="l01604"></a><span class="lineno"><a class="line" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2"> 1604</a></span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* <a class="code" href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">LLVMModuleSet::collectSimpleTypeInfo</a>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a>* ty)</div>
|
|
1630
|
+
<div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> {</div>
|
|
1631
|
+
<div class="line"><a name="l01607"></a><span class="lineno"> 1607</span>  <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>* stInfo = <span class="keyword">new</span> <a class="code" href="classSVF_1_1StInfo.html">StInfo</a>(1);</div>
|
|
1632
|
+
<div class="line"><a name="l01608"></a><span class="lineno"> 1608</span>  <a class="code" href="classSVF_1_1SVFType.html">SVFType</a>* svfType = <a class="code" href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">getSVFType</a>(ty);</div>
|
|
1633
|
+
<div class="line"><a name="l01609"></a><span class="lineno"> 1609</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">addFldWithType</a>(0, svfType, 0);</div>
|
|
1634
|
+
<div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  </div>
|
|
1635
|
+
<div class="line"><a name="l01611"></a><span class="lineno"> 1611</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#ac0a9f85f90524abfd519d3cd2ac95a56">getFlattenFieldTypes</a>().push_back(svfType);</div>
|
|
1636
|
+
<div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">getFlattenElementTypes</a>().push_back(svfType);</div>
|
|
1637
|
+
<div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  stInfo-><a class="code" href="classSVF_1_1StInfo.html#a1a07c2b1415c29d7d70791c6dfe602a3">setNumOfFieldsAndElems</a>(1,1);</div>
|
|
1638
|
+
<div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  </div>
|
|
1639
|
+
<div class="line"><a name="l01615"></a><span class="lineno"> 1615</span>  <span class="keywordflow">return</span> stInfo;</div>
|
|
1640
|
+
<div class="line"><a name="l01616"></a><span class="lineno"> 1616</span> }</div>
|
|
1622
1641
|
</div><!-- fragment --></div><!-- contents -->
|
|
1623
1642
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a72be32d606db86090067159de44e01ec"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a72be32d606db86090067159de44e01ec">SVF::SymbolTableInfo::addStInfo</a></div><div class="ttdeci">void addStInfo(StInfo *stInfo)</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00352">SymbolTableInfo.h:352</a></div></div>
|
|
1624
1643
|
<div class="ttc" id="anamespaceSVF_html_a827d09974dc7bf0849f96823cc2fee89"><div class="ttname"><a href="namespaceSVF.html#a827d09974dc7bf0849f96823cc2fee89">SVF::DomTreeNode</a></div><div class="ttdeci">llvm::DomTreeNode DomTreeNode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00134">BasicTypes.h:134</a></div></div>
|
|
@@ -1636,7 +1655,7 @@ $(function() {
|
|
|
1636
1655
|
<div class="ttc" id="anamespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00133">BasicTypes.h:133</a></div></div>
|
|
1637
1656
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_a0c1143eff451edf8ea47d4487a8d3a55"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#a0c1143eff451edf8ea47d4487a8d3a55">SVF::SymbolTableInfo::maxStruct</a></div><div class="ttdeci">const SVFType * maxStruct</div><div class="ttdoc">The struct type with the most fields.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00340">SymbolTableInfo.h:340</a></div></div>
|
|
1638
1657
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae919327019b5014f64b754dbdeb07f75"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae919327019b5014f64b754dbdeb07f75">SVF::LLVMModuleSet::buildSVFModule</a></div><div class="ttdeci">static SVFModule * buildSVFModule(Module &mod)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00093">LLVMModule.cpp:93</a></div></div>
|
|
1639
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aab7b08db9252ef7e21e54d019f44b073"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aab7b08db9252ef7e21e54d019f44b073">SVF::LLVMModuleSet::addSVFTypeInfo</a></div><div class="ttdeci">SVFType * addSVFTypeInfo(const Type *t)</div><div class="ttdoc">Create SVFTypes.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1658
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aab7b08db9252ef7e21e54d019f44b073"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aab7b08db9252ef7e21e54d019f44b073">SVF::LLVMModuleSet::addSVFTypeInfo</a></div><div class="ttdeci">SVFType * addSVFTypeInfo(const Type *t)</div><div class="ttdoc">Create SVFTypes.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01422">LLVMModule.cpp:1422</a></div></div>
|
|
1640
1659
|
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_ac1b15d8f9c2499add8dbc889ae5cab65"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#ac1b15d8f9c2499add8dbc889ae5cab65">SVF::SVFBasicBlock::addInstruction</a></div><div class="ttdeci">void addInstruction(const SVFInstruction *inst)</div><div class="ttdoc">Function where this BasicBlock is.</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00546">SVFValue.h:546</a></div></div>
|
|
1641
1660
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a4091b12bdfe4423d8114612a199bc480"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a4091b12bdfe4423d8114612a199bc480">SVF::LLVMModuleSet::getLLVMModules</a></div><div class="ttdeci">const std::vector< std::reference_wrapper< Module > > & getLLVMModules() const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00136">LLVMModule.h:136</a></div></div>
|
|
1642
1661
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_af4c9c5d445107b1816a4be93852ba612"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#af4c9c5d445107b1816a4be93852ba612">SVF::LLVMUtil::restoreFuncName</a></div><div class="ttdeci">std::string restoreFuncName(std::string funcName)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00612">LLVMUtil.cpp:612</a></div></div>
|
|
@@ -1653,7 +1672,7 @@ $(function() {
|
|
|
1653
1672
|
<div class="ttc" id="aclassSVF_1_1SVFPointerType_html"><div class="ttname"><a href="classSVF_1_1SVFPointerType.html">SVF::SVFPointerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00272">SVFType.h:272</a></div></div>
|
|
1654
1673
|
<div class="ttc" id="anamespaceSVF_html_a77e088bfe47c0b0ddcbbe0693dec6fe5"><div class="ttname"><a href="namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5">SVF::LoopInfo</a></div><div class="ttdeci">llvm::LoopInfo LoopInfo</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00141">BasicTypes.h:141</a></div></div>
|
|
1655
1674
|
<div class="ttc" id="aLLVMUtil_8h_html"><div class="ttname"><a href="LLVMUtil_8h.html">LLVMUtil.h</a></div></div>
|
|
1656
|
-
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
1675
|
+
<div class="ttc" id="anamespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00096">GeneralType.h:96</a></div></div>
|
|
1657
1676
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae2a1fa0b908cf372c50af90e62c4bf2b"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae2a1fa0b908cf372c50af90e62c4bf2b">SVF::LLVMModuleSet::GlobalDefToRepMap</a></div><div class="ttdeci">GlobalDefToRepMapTy GlobalDefToRepMap</div><div class="ttdoc">Global definition to a rep definition map.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00084">LLVMModule.h:84</a></div></div>
|
|
1658
1677
|
<div class="ttc" id="anamespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00086">BasicTypes.h:86</a></div></div>
|
|
1659
1678
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ab932917041e1b1d8b461bfef464330fd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ab932917041e1b1d8b461bfef464330fd">SVF::LLVMModuleSet::ExtFuncsVec</a></div><div class="ttdeci">FunctionSetType ExtFuncsVec</div><div class="ttdoc">Record some "sse_" function declarations used in other ext function definition, e....</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00080">LLVMModule.h:80</a></div></div>
|
|
@@ -1670,17 +1689,17 @@ $(function() {
|
|
|
1670
1689
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a21636200f17c62034720c4287aa818b5"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a21636200f17c62034720c4287aa818b5">SVF::LLVMUtil::getDefFunForMultipleModule</a></div><div class="ttdeci">const Function * getDefFunForMultipleModule(const Function *fun)</div><div class="ttdoc">Get the definition of a function across multiple modules.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00039">LLVMUtil.cpp:39</a></div></div>
|
|
1671
1690
|
<div class="ttc" id="aSVFType_8h_html_a1aeda3370621dc00e9a0fe8e7aabc736"><div class="ttname"><a href="SVFType_8h.html#a1aeda3370621dc00e9a0fe8e7aabc736">TIMEINTERVAL</a></div><div class="ttdeci">#define TIMEINTERVAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00512">SVFType.h:512</a></div></div>
|
|
1672
1691
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a3eaadb33cd21d0bd868526b5ddb051d9"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a3eaadb33cd21d0bd868526b5ddb051d9">SVF::LLVMModuleSet::addBasicBlockMap</a></div><div class="ttdeci">void addBasicBlockMap(const BasicBlock *bb, SVFBasicBlock *svfBB)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00160">LLVMModule.h:160</a></div></div>
|
|
1673
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a0ef17c1d5e6a95c597d2334ea577a965"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a0ef17c1d5e6a95c597d2334ea577a965">SVF::LLVMModuleSet::getSVFOtherValue</a></div><div class="ttdeci">SVFOtherValue * getSVFOtherValue(const Value *ov)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1692
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a0ef17c1d5e6a95c597d2334ea577a965"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a0ef17c1d5e6a95c597d2334ea577a965">SVF::LLVMModuleSet::getSVFOtherValue</a></div><div class="ttdeci">SVFOtherValue * getSVFOtherValue(const Value *ov)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01321">LLVMModule.cpp:1321</a></div></div>
|
|
1674
1693
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_a518c82138fcadc6634980566c1c0f762"><div class="ttname"><a href="classSVF_1_1StInfo.html#a518c82138fcadc6634980566c1c0f762">SVF::StInfo::getNumOfFlattenElements</a></div><div class="ttdeci">u32_t getNumOfFlattenElements() const</div><div class="ttdoc">Return number of elements after flattening (including array elements)</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00139">SVFType.h:139</a></div></div>
|
|
1675
1694
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a2c61d741afbcfa853b505cd391f29f9b"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2c61d741afbcfa853b505cd391f29f9b">SVF::LLVMUtil::isUncalledFunction</a></div><div class="ttdeci">bool isUncalledFunction(const Function *fun)</div><div class="ttdoc">whether this is a function without any possible caller?</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00169">LLVMUtil.cpp:169</a></div></div>
|
|
1676
1695
|
<div class="ttc" id="aclassSVF_1_1SVFConstantData_html"><div class="ttname"><a href="classSVF_1_1SVFConstantData.html">SVF::SVFConstantData</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00937">SVFValue.h:937</a></div></div>
|
|
1677
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a5f0bd932f3129a9c565f3a09711f7b99"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">SVF::LLVMModuleSet::getSVFType</a></div><div class="ttdeci">SVFType * getSVFType(const Type *T)</div><div class="ttdoc">Get or create SVFType and typeinfo.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1696
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a5f0bd932f3129a9c565f3a09711f7b99"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a5f0bd932f3129a9c565f3a09711f7b99">SVF::LLVMModuleSet::getSVFType</a></div><div class="ttdeci">SVFType * getSVFType(const Type *T)</div><div class="ttdoc">Get or create SVFType and typeinfo.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01377">LLVMModule.cpp:1377</a></div></div>
|
|
1678
1697
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html_a0bc5a63d8c10da51766007cf40b095e5"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a0bc5a63d8c10da51766007cf40b095e5">SVF::SVFModule::addGlobalSet</a></div><div class="ttdeci">void addGlobalSet(SVFGlobalValue *glob)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00110">SVFModule.h:110</a></div></div>
|
|
1679
1698
|
<div class="ttc" id="aclassSVF_1_1SVFMetadataAsValue_html"><div class="ttname"><a href="classSVF_1_1SVFMetadataAsValue.html">SVF::SVFMetadataAsValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01091">SVFValue.h:1091</a></div></div>
|
|
1680
1699
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a4b94c96898dbbc71bc1cee04786cf3dc"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a4b94c96898dbbc71bc1cee04786cf3dc">SVF::LLVMModuleSet::LLVMConst2SVFConst</a></div><div class="ttdeci">LLVMConst2SVFConstMap LLVMConst2SVFConst</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00090">LLVMModule.h:90</a></div></div>
|
|
1681
1700
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a2f8e91c075d90be66412a079fe73e936"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936">SVF::LLVMModuleSet::releaseLLVMModuleSet</a></div><div class="ttdeci">static void releaseLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00112">LLVMModule.h:112</a></div></div>
|
|
1682
1701
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a50fc24901350df9db890ba16a9b87e33"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">SVF::LLVMModuleSet::getSVFFunction</a></div><div class="ttdeci">SVFFunction * getSVFFunction(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00205">LLVMModule.h:205</a></div></div>
|
|
1683
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a946d1251501c7e0e33a9210838951258"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">SVF::LLVMModuleSet::collectStructInfo</a></div><div class="ttdeci">StInfo * collectStructInfo(const StructType *structTy, u32_t &numFields)</div><div class="ttdoc">Collect the struct info and set the number of fields after flattening.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1702
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a946d1251501c7e0e33a9210838951258"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a946d1251501c7e0e33a9210838951258">SVF::LLVMModuleSet::collectStructInfo</a></div><div class="ttdeci">StInfo * collectStructInfo(const StructType *structTy, u32_t &numFields)</div><div class="ttdoc">Collect the struct info and set the number of fields after flattening.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01547">LLVMModule.cpp:1547</a></div></div>
|
|
1684
1703
|
<div class="ttc" id="anamespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdoc">LLVM Basic classes.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00082">BasicTypes.h:82</a></div></div>
|
|
1685
1704
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html_ae64d24569942d7c4b18d2198be4839f3"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ae64d24569942d7c4b18d2198be4839f3">SVF::SVFModule::addConstant</a></div><div class="ttdeci">void addConstant(SVFConstant *cd)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00120">SVFModule.h:120</a></div></div>
|
|
1686
1705
|
<div class="ttc" id="aclassSVF_1_1SVFBlackHoleValue_html"><div class="ttname"><a href="classSVF_1_1SVFBlackHoleValue.html">SVF::SVFBlackHoleValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01049">SVFValue.h:1049</a></div></div>
|
|
@@ -1708,7 +1727,7 @@ $(function() {
|
|
|
1708
1727
|
<div class="ttc" id="aclassSVF_1_1SVFStat_html_aa4950ec26b66a085ad38ac154b789db5"><div class="ttname"><a href="classSVF_1_1SVFStat.html#aa4950ec26b66a085ad38ac154b789db5">SVF::SVFStat::timeOfBuildingLLVMModule</a></div><div class="ttdeci">static double timeOfBuildingLLVMModule</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00093">SVFStat.h:93</a></div></div>
|
|
1709
1728
|
<div class="ttc" id="anamespaceSVF_html_a0fd33072b099f61eaa642e94ed0c03fc"><div class="ttname"><a href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">SVF::GlobalAlias</a></div><div class="ttdeci">llvm::GlobalAlias GlobalAlias</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00128">BasicTypes.h:128</a></div></div>
|
|
1710
1729
|
<div class="ttc" id="aObjTypeInference_8h_html"><div class="ttname"><a href="ObjTypeInference_8h.html">ObjTypeInference.h</a></div></div>
|
|
1711
|
-
<div class="ttc" id="anamespaceSVF_html_aedd9d023a68dddd66314be63bb8e48d2"><div class="ttname"><a href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">SVF::operator></a></div><div class="ttdeci">IntervalValue operator>(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#
|
|
1730
|
+
<div class="ttc" id="anamespaceSVF_html_aedd9d023a68dddd66314be63bb8e48d2"><div class="ttname"><a href="namespaceSVF.html#aedd9d023a68dddd66314be63bb8e48d2">SVF::operator></a></div><div class="ttdeci">IntervalValue operator>(const IntervalValue &lhs, const IntervalValue &rhs)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00633">IntervalValue.h:633</a></div></div>
|
|
1712
1731
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_a00339d1d7074e9222776801ce8689f6b"><div class="ttname"><a href="classSVF_1_1StInfo.html#a00339d1d7074e9222776801ce8689f6b">SVF::StInfo::addFldWithType</a></div><div class="ttdeci">void addFldWithType(u32_t fldIdx, const SVFType *type, u32_t elemIdx)</div><div class="ttdoc">Add field index and element index and their corresponding type.</div></div>
|
|
1713
1732
|
<div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
1714
1733
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_a2731567cd10e2c499c812c33d01a412e"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a2731567cd10e2c499c812c33d01a412e">SVF::SVFFunction::setAnnotations</a></div><div class="ttdeci">void setAnnotations(std::vector< std::string > &annotations)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00471">SVFValue.h:471</a></div></div>
|
|
@@ -1759,7 +1778,7 @@ $(function() {
|
|
|
1759
1778
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_abd458bb5a035d3f7db32fac5f01b57f3"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#abd458bb5a035d3f7db32fac5f01b57f3">SVF::SVFFunction::setExitBlock</a></div><div class="ttdeci">void setExitBlock(SVFBasicBlock *bb)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8cpp_source.html#l00200">SVFValue.cpp:200</a></div></div>
|
|
1760
1779
|
<div class="ttc" id="aclassSVF_1_1SVFGlobalValue_html"><div class="ttname"><a href="classSVF_1_1SVFGlobalValue.html">SVF::SVFGlobalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00856">SVFValue.h:856</a></div></div>
|
|
1761
1780
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html_a1357c876eccedd58b3abe68875b3a570"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a1357c876eccedd58b3abe68875b3a570">SVF::SVFModule::pagReadFromTXT</a></div><div class="ttdeci">static bool pagReadFromTXT()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00098">SVFModule.h:98</a></div></div>
|
|
1762
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a52853bd34a394882c6fd0fc73739c9f2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">SVF::LLVMModuleSet::collectSimpleTypeInfo</a></div><div class="ttdeci">StInfo * collectSimpleTypeInfo(const Type *T)</div><div class="ttdoc">Collect simple type (non-aggregate) info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1781
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a52853bd34a394882c6fd0fc73739c9f2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a52853bd34a394882c6fd0fc73739c9f2">SVF::LLVMModuleSet::collectSimpleTypeInfo</a></div><div class="ttdeci">StInfo * collectSimpleTypeInfo(const Type *T)</div><div class="ttdoc">Collect simple type (non-aggregate) info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01604">LLVMModule.cpp:1604</a></div></div>
|
|
1763
1782
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae365189769640adb919a23c36978e5e2"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae365189769640adb919a23c36978e5e2">SVF::LLVMModuleSet::owned_modules</a></div><div class="ttdeci">std::vector< std::unique_ptr< Module > > owned_modules</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00072">LLVMModule.h:72</a></div></div>
|
|
1764
1783
|
<div class="ttc" id="aclassSVF_1_1SVFBasicBlock_html_a66f51cd41e93ad055c4a0c2874e73fae"><div class="ttname"><a href="classSVF_1_1SVFBasicBlock.html#a66f51cd41e93ad055c4a0c2874e73fae">SVF::SVFBasicBlock::getSuccessors</a></div><div class="ttdeci">const std::vector< const SVFBasicBlock * > & getSuccessors() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00612">SVFValue.h:612</a></div></div>
|
|
1765
1784
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a43832e93a42ae43d44b0cc160981678f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a43832e93a42ae43d44b0cc160981678f">SVF::LLVMModuleSet::svfModule</a></div><div class="ttdeci">SVFModule * svfModule</div><div class="ttdoc">Borrowed from singleton SVFModule::svfModule.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00070">LLVMModule.h:70</a></div></div>
|
|
@@ -1779,13 +1798,13 @@ $(function() {
|
|
|
1779
1798
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a428bd75b33fab60988d8758090712f29"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a428bd75b33fab60988d8758090712f29">SVF::LLVMUtil::isArgOfUncalledFunction</a></div><div class="ttdeci">bool isArgOfUncalledFunction(const Value *val)</div><div class="ttdoc">Return true if the argument in a function does not have a caller.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00154">LLVMUtil.h:154</a></div></div>
|
|
1780
1799
|
<div class="ttc" id="aclassSVF_1_1SVFCallInst_html_ac979b49b449b97b2a23f195cb107ec77"><div class="ttname"><a href="classSVF_1_1SVFCallInst.html#ac979b49b449b97b2a23f195cb107ec77">SVF::SVFCallInst::addArgument</a></div><div class="ttdeci">void addArgument(const SVFValue *a)</div><div class="ttdoc">attributes to be set only through Module builders e.g., LLVMModule</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00713">SVFValue.h:713</a></div></div>
|
|
1781
1800
|
<div class="ttc" id="anamespaceSVF_html_ab34383ee87cd45eb485fa29db482ffef"><div class="ttname"><a href="namespaceSVF.html#ab34383ee87cd45eb485fa29db482ffef">SVF::PostDominatorTree</a></div><div class="ttdeci">llvm::PostDominatorTree PostDominatorTree</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00136">BasicTypes.h:136</a></div></div>
|
|
1782
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aa8de934358332505d4805db137d8ec29"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">SVF::LLVMModuleSet::collectArrayInfo</a></div><div class="ttdeci">StInfo * collectArrayInfo(const ArrayType *T)</div><div class="ttdoc">Collect the array info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1801
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_aa8de934358332505d4805db137d8ec29"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#aa8de934358332505d4805db137d8ec29">SVF::LLVMModuleSet::collectArrayInfo</a></div><div class="ttdeci">StInfo * collectArrayInfo(const ArrayType *T)</div><div class="ttdoc">Collect the array info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01484">LLVMModule.cpp:1484</a></div></div>
|
|
1783
1802
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a4ca8c4678a7fefe26372fc1f4b2880fd"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a4ca8c4678a7fefe26372fc1f4b2880fd">SVF::LLVMModuleSet::createSVFDataStructure</a></div><div class="ttdeci">void createSVFDataStructure()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00166">LLVMModule.cpp:166</a></div></div>
|
|
1784
1803
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a7f8e61cf5d838d7a2e862bc6955f16be"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a7f8e61cf5d838d7a2e862bc6955f16be">SVF::LLVMModuleSet::SVFValue2LLVMValue</a></div><div class="ttdeci">SVFValue2LLVMValueMap SVFValue2LLVMValue</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00092">LLVMModule.h:92</a></div></div>
|
|
1785
1804
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a72502f7f536418621485e90ab98c2016"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a72502f7f536418621485e90ab98c2016">SVF::SVFUtil::move</a></div><div class="ttdeci">constexpr std::remove_reference< T >::type && move(T &&t) noexcept</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00621">SVFUtil.h:621</a></div></div>
|
|
1786
1805
|
<div class="ttc" id="anamespaceSVF_html_a8ad3aa124fabddc2fdd07c50403d70a9"><div class="ttname"><a href="namespaceSVF.html#a8ad3aa124fabddc2fdd07c50403d70a9">SVF::ConstantDataSequential</a></div><div class="ttdeci">llvm::ConstantDataSequential ConstantDataSequential</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00119">BasicTypes.h:119</a></div></div>
|
|
1787
1806
|
<div class="ttc" id="anamespaceSVF_html_a1c7c7ac12791c0ae386283c0a4f127ba"><div class="ttname"><a href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">SVF::raw_fd_ostream</a></div><div class="ttdeci">llvm::raw_fd_ostream raw_fd_ostream</div><div class="ttdoc">LLVM outputs.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00264">BasicTypes.h:264</a></div></div>
|
|
1788
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a610a7777a48132caadec167c8109f044"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">SVF::LLVMModuleSet::getLLVMType</a></div><div class="ttdeci">const Type * getLLVMType(const SVFType *T) const</div><div class="ttdoc">Get LLVM Type.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1807
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a610a7777a48132caadec167c8109f044"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a610a7777a48132caadec167c8109f044">SVF::LLVMModuleSet::getLLVMType</a></div><div class="ttdeci">const Type * getLLVMType(const SVFType *T) const</div><div class="ttdoc">Get LLVM Type.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01363">LLVMModule.cpp:1363</a></div></div>
|
|
1789
1808
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_ae37546be7304c66b4eca2654d995eaa7"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#ae37546be7304c66b4eca2654d995eaa7">SVF::SVFLoopAndDomInfo::getDomFrontierMap</a></div><div class="ttdeci">const Map< const SVFBasicBlock *, BBSet > & getDomFrontierMap() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00075">SVFValue.h:75</a></div></div>
|
|
1790
1809
|
<div class="ttc" id="aclassSVF_1_1StInfo_html_a03bfeee0406c7e54557e74f3a8e848b7"><div class="ttname"><a href="classSVF_1_1StInfo.html#a03bfeee0406c7e54557e74f3a8e848b7">SVF::StInfo::getFlattenElementTypes</a></div><div class="ttdeci">std::vector< const SVFType * > & getFlattenElementTypes()</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00102">SVFType.h:102</a></div></div>
|
|
1791
1810
|
<div class="ttc" id="anamespaceSVF_html_a7e230c0cba2e3a7c2e5a5f2ee7d88af9"><div class="ttname"><a href="namespaceSVF.html#a7e230c0cba2e3a7c2e5a5f2ee7d88af9">SVF::Constant</a></div><div class="ttdeci">llvm::Constant Constant</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00124">BasicTypes.h:124</a></div></div>
|
|
@@ -1796,7 +1815,7 @@ $(function() {
|
|
|
1796
1815
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_abb4b5ed04ec70a2e7fca8198132370cf"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abb4b5ed04ec70a2e7fca8198132370cf">SVF::LLVMUtil::basicBlockHasRetInst</a></div><div class="ttdeci">bool basicBlockHasRetInst(const BasicBlock *bb)</div><div class="ttdoc">Return true if the function has a return instruction.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00119">LLVMUtil.cpp:119</a></div></div>
|
|
1797
1816
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a5552135a27684cbe4d2a5ed346f64644"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a5552135a27684cbe4d2a5ed346f64644">SVF::LLVMModuleSet::symInfo</a></div><div class="ttdeci">SymbolTableInfo * symInfo</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00069">LLVMModule.h:69</a></div></div>
|
|
1798
1817
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html_abb8550c9ef856e45cb7675c3796f9a35"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html#abb8550c9ef856e45cb7675c3796f9a35">SVF::SymbolTableInfo::maxStSize</a></div><div class="ttdeci">u32_t maxStSize</div><div class="ttdoc">The number of fields in max_struct.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00343">SymbolTableInfo.h:343</a></div></div>
|
|
1799
|
-
<div class="ttc" id="anamespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set< Key, Compare, Allocator > OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
1818
|
+
<div class="ttc" id="anamespaceSVF_html_a4f21e91ff8eaea5207afe5c60dbd78d7"><div class="ttname"><a href="namespaceSVF.html#a4f21e91ff8eaea5207afe5c60dbd78d7">SVF::OrderedSet</a></div><div class="ttdeci">std::set< Key, Compare, Allocator > OrderedSet</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00105">GeneralType.h:105</a></div></div>
|
|
1800
1819
|
<div class="ttc" id="aclassSVF_1_1Options_html_a53f783c80f368bcdca6c7620229d6f8e"><div class="ttname"><a href="classSVF_1_1Options.html#a53f783c80f368bcdca6c7620229d6f8e">SVF::Options::Graphtxt</a></div><div class="ttdeci">static const Option< std::string > Graphtxt</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00201">Options.h:201</a></div></div>
|
|
1801
1820
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ab671d5bb9ca5761e2b438a4d4da229cf"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ab671d5bb9ca5761e2b438a4d4da229cf">SVF::LLVMModuleSet::addFunctionMap</a></div><div class="ttdeci">void addFunctionMap(const Function *func, SVFFunction *svfFunc)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00155">LLVMModule.h:155</a></div></div>
|
|
1802
1821
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ac6a5540354696f4c9170e0a5832ba70e"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ac6a5540354696f4c9170e0a5832ba70e">SVF::LLVMModuleSet::initSVFFunction</a></div><div class="ttdeci">void initSVFFunction()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00299">LLVMModule.cpp:299</a></div></div>
|
|
@@ -1808,7 +1827,7 @@ $(function() {
|
|
|
1808
1827
|
<div class="ttc" id="aclassSVF_1_1SymbolTableInfo_html"><div class="ttname"><a href="classSVF_1_1SymbolTableInfo.html">SVF::SymbolTableInfo</a></div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableInfo_8h_source.html#l00047">SymbolTableInfo.h:47</a></div></div>
|
|
1809
1828
|
<div class="ttc" id="aclassSVF_1_1SVFIntegerType_html"><div class="ttname"><a href="classSVF_1_1SVFIntegerType.html">SVF::SVFIntegerType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00291">SVFType.h:291</a></div></div>
|
|
1810
1829
|
<div class="ttc" id="aclassSVF_1_1SVFStat_html_ae89293bc063bdc74a988e9c37c70321e"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e">SVF::SVFStat::timeOfBuildingSymbolTable</a></div><div class="ttdeci">static double timeOfBuildingSymbolTable</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8h_source.html#l00094">SVFStat.h:94</a></div></div>
|
|
1811
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a74256f36f0fdc242df9729906c34efbc"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a74256f36f0fdc242df9729906c34efbc">SVF::LLVMModuleSet::getOtherSVFConstant</a></div><div class="ttdeci">SVFConstant * getOtherSVFConstant(const Constant *oc)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1830
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a74256f36f0fdc242df9729906c34efbc"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a74256f36f0fdc242df9729906c34efbc">SVF::LLVMModuleSet::getOtherSVFConstant</a></div><div class="ttdeci">SVFConstant * getOtherSVFConstant(const Constant *oc)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01305">LLVMModule.cpp:1305</a></div></div>
|
|
1812
1831
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html">SVF::LLVMModuleSet</a></div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00044">LLVMModule.h:44</a></div></div>
|
|
1813
1832
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_a0d5031bd11b6372803082111ec2cb4f6"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a0d5031bd11b6372803082111ec2cb4f6">SVF::SVFFunction::addBasicBlock</a></div><div class="ttdeci">void addBasicBlock(const SVFBasicBlock *bb)</div><div class="ttdoc">a 'single' basic block having no successors and containing return instruction in a function</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00327">SVFValue.h:327</a></div></div>
|
|
1814
1833
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_ae74f307b6f96950ceedb2c375ef1c3a3"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">SVF::LLVMModuleSet::getSVFInstruction</a></div><div class="ttdeci">SVFInstruction * getSVFInstruction(const Instruction *inst) const</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00219">LLVMModule.h:219</a></div></div>
|
|
@@ -1831,8 +1850,8 @@ $(function() {
|
|
|
1831
1850
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a4c94a6c02fb89c1a1604c87414956acd"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4c94a6c02fb89c1a1604c87414956acd">SVF::LLVMUtil::getPrevInsts</a></div><div class="ttdeci">void getPrevInsts(const Instruction *curInst, std::vector< const SVFInstruction * > &instList)</div><div class="ttdoc">Get the previous instructions following control flow.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00331">LLVMUtil.cpp:331</a></div></div>
|
|
1832
1851
|
<div class="ttc" id="aSVFFileSystem_8cpp_html_ab25baccb41e3b67ef0bfdaa1336c9649"><div class="ttname"><a href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a></div><div class="ttdeci">#define F(f)</div></div>
|
|
1833
1852
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_a374cbaa780f540cb4b4ccac562a82632"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a374cbaa780f540cb4b4ccac562a82632">SVF::SVFFunction::exitBlock</a></div><div class="ttdeci">SVFBasicBlock * exitBlock</div><div class="ttdoc">annotations of this function</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00323">SVFValue.h:323</a></div></div>
|
|
1834
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1835
|
-
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a1f6cc76c996a0577b20b8cedd83fff92"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">SVF::LLVMModuleSet::collectTypeInfo</a></div><div class="ttdeci">StInfo * collectTypeInfo(const Type *ty)</div><div class="ttdoc">Collect a type info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#
|
|
1853
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_afdd77bc1fca91f70b2ec362f1dacd392"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#afdd77bc1fca91f70b2ec362f1dacd392">SVF::LLVMModuleSet::getSVFValue</a></div><div class="ttdeci">SVFValue * getSVFValue(const Value *value)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01340">LLVMModule.cpp:1340</a></div></div>
|
|
1854
|
+
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a1f6cc76c996a0577b20b8cedd83fff92"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a1f6cc76c996a0577b20b8cedd83fff92">SVF::LLVMModuleSet::collectTypeInfo</a></div><div class="ttdeci">StInfo * collectTypeInfo(const Type *ty)</div><div class="ttdoc">Collect a type info.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l01390">LLVMModule.cpp:1390</a></div></div>
|
|
1836
1855
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a067661e0049314779a44c9600420820f"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a067661e0049314779a44c9600420820f">SVF::LLVMModuleSet::LLVMType2SVFType</a></div><div class="ttdeci">LLVMType2SVFTypeMap LLVMType2SVFType</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00093">LLVMModule.h:93</a></div></div>
|
|
1837
1856
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a4638a12f5481dff947b59cf8353e619b"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a4638a12f5481dff947b59cf8353e619b">SVF::LLVMUtil::isIntrinsicFun</a></div><div class="ttdeci">bool isIntrinsicFun(const Function *func)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00217">LLVMUtil.cpp:217</a></div></div>
|
|
1838
1857
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a8b5f24c873db1f6a0614d1dac48bb4bb"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a8b5f24c873db1f6a0614d1dac48bb4bb">SVF::LLVMModuleSet::prePassSchedule</a></div><div class="ttdeci">void prePassSchedule()</div><div class="ttdoc">Invoke llvm passes to modify module.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8cpp_source.html#l00458">LLVMModule.cpp:458</a></div></div>
|
|
@@ -1849,7 +1868,7 @@ $(function() {
|
|
|
1849
1868
|
<div class="ttc" id="aclassSVF_1_1SymbolTableBuilder_html_aef0bb1e88d0b69313c673318f7b7cb5f"><div class="ttname"><a href="classSVF_1_1SymbolTableBuilder.html#aef0bb1e88d0b69313c673318f7b7cb5f">SVF::SymbolTableBuilder::buildMemModel</a></div><div class="ttdeci">void buildMemModel(SVFModule *svfModule)</div><div class="ttdoc">Start building memory model.</div><div class="ttdef"><b>Definition:</b> <a href="SymbolTableBuilder_8cpp_source.html#l00075">SymbolTableBuilder.cpp:75</a></div></div>
|
|
1850
1869
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html_a48d7f0643bb228701dcabb88ef541fca"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a48d7f0643bb228701dcabb88ef541fca">SVF::SVFModule::addOtherValue</a></div><div class="ttdeci">void addOtherValue(SVFOtherValue *ov)</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00124">SVFModule.h:124</a></div></div>
|
|
1851
1870
|
<div class="ttc" id="aclassSVF_1_1SVFLoopAndDomInfo_html_acc409e328f641a2c9512beeb727f58c7"><div class="ttname"><a href="classSVF_1_1SVFLoopAndDomInfo.html#acc409e328f641a2c9512beeb727f58c7">SVF::SVFLoopAndDomInfo::setReachableBBs</a></div><div class="ttdeci">void setReachableBBs(BBList &bbs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00160">SVFValue.h:160</a></div></div>
|
|
1852
|
-
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#
|
|
1871
|
+
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00101">GeneralType.h:101</a></div></div>
|
|
1853
1872
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_a3204400c52ec55da70418471d5c9bad5"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#a3204400c52ec55da70418471d5c9bad5">SVF::LLVMModuleSet::preProcessed</a></div><div class="ttdeci">static bool preProcessed</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00068">LLVMModule.h:68</a></div></div>
|
|
1854
1873
|
<div class="ttc" id="aclassSVF_1_1SVFModule_html_ab930bb5449538c4d0da1297a103788a1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#ab930bb5449538c4d0da1297a103788a1">SVF::SVFModule::getSVFModule</a></div><div class="ttdeci">static SVFModule * getSVFModule()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8cpp_source.html#l00060">SVFModule.cpp:60</a></div></div>
|
|
1855
1874
|
<div class="ttc" id="aSymbolTableBuilder_8h_html"><div class="ttname"><a href="SymbolTableBuilder_8h.html">SymbolTableBuilder.h</a></div></div>
|