svf-tools 1.0.894 → 1.0.896
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_source.html +1 -1
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +1 -1
- package/SVF-doxygen/html/AbstractPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/AbstractValue_8h_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AccessPath_8h_source.html +1 -1
- package/SVF-doxygen/html/AddressValue_8h_source.html +1 -1
- package/SVF-doxygen/html/AndersenPWC_8h_source.html +1 -1
- package/SVF-doxygen/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/AndersenSFR_8cpp_source.html +1 -1
- 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 +1 -1
- package/SVF-doxygen/html/Andersen_8h_source.html +1 -1
- package/SVF-doxygen/html/Annotator_8h_source.html +4 -4
- package/SVF-doxygen/html/BasicTypes_8h.html +1 -0
- package/SVF-doxygen/html/BasicTypes_8h_source.html +345 -344
- package/SVF-doxygen/html/BitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/BitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/BoundedZ3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/BoundedZ3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/BreakConstantExpr_8cpp.html +2 -2
- package/SVF-doxygen/html/BreakConstantExpr_8cpp_source.html +6 -6
- package/SVF-doxygen/html/BreakConstantExpr_8h_source.html +5 -5
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +1 -1
- 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_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CDG_8h_source.html +1 -1
- package/SVF-doxygen/html/CFGNormalizer_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFGNormalizer_8h_source.html +1 -1
- package/SVF-doxygen/html/CFGrammar_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFGrammar_8h_source.html +2 -2
- package/SVF-doxygen/html/CFLAlias_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLAlias_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLBase_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLBase_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLGramGraphChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLSVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLSolver_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLStat_8h_source.html +1 -1
- package/SVF-doxygen/html/CFLVF_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CFLVF_8h_source.html +1 -1
- package/SVF-doxygen/html/CHGBuilder_8cpp_source.html +304 -303
- package/SVF-doxygen/html/CHGBuilder_8h_source.html +10 -10
- package/SVF-doxygen/html/CHG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CHG_8h_source.html +1 -1
- package/SVF-doxygen/html/CSC_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CSC_8h_source.html +1 -1
- package/SVF-doxygen/html/CallGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/Casting_8h_source.html +1 -1
- package/SVF-doxygen/html/ConditionalPT_8h_source.html +1 -1
- package/SVF-doxygen/html/ConsExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ConsExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/ConsGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/ConsGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/ConsG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ContextDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/CoreBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/CppUtil_8cpp_source.html +17 -17
- package/SVF-doxygen/html/CppUtil_8h_source.html +6 -6
- package/SVF-doxygen/html/CxtStmt_8h_source.html +1 -1
- package/SVF-doxygen/html/DCHG_8cpp_source.html +22 -22
- package/SVF-doxygen/html/DCHG_8h_source.html +7 -7
- package/SVF-doxygen/html/DDAClient_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DDAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/DDAVFSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/DOTGraphTraits_8h_source.html +1 -1
- package/SVF-doxygen/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/DoubleFreeChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/ExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/ExtAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/FileChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FlowDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/FlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/GEPTypeBridgeIterator_8h_source.html +3 -3
- package/SVF-doxygen/html/GeneralType_8h_source.html +1 -1
- package/SVF-doxygen/html/GenericGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/GrammarBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/GrammarBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/GraphPrinter_8h_source.html +1 -1
- package/SVF-doxygen/html/GraphReachSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/GraphTraits_8h_source.html +1 -1
- package/SVF-doxygen/html/GraphWriter_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGBuilder_8cpp_source.html +8 -8
- package/SVF-doxygen/html/ICFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/ICFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGSimplification_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFGSimplification_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFGWTO_8h_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/IRGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/IntervalExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/IntervalExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/IntervalValue_8h_source.html +1 -1
- package/SVF-doxygen/html/LLVMLoopAnalysis_8cpp_source.html +7 -7
- package/SVF-doxygen/html/LLVMLoopAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/LLVMModule_8cpp_source.html +37 -37
- package/SVF-doxygen/html/LLVMModule_8h_source.html +15 -15
- package/SVF-doxygen/html/LLVMUtil_8cpp_source.html +32 -32
- package/SVF-doxygen/html/LLVMUtil_8h_source.html +20 -20
- package/SVF-doxygen/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/LockAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/LockResultValidator_8cpp_source.html +12 -12
- package/SVF-doxygen/html/LockResultValidator_8h_source.html +2 -2
- package/SVF-doxygen/html/MHP_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MHP_8h_source.html +1 -1
- package/SVF-doxygen/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/MTAAnnotator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/MTAAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/MTAResultValidator_8cpp_source.html +12 -12
- package/SVF-doxygen/html/MTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MTAStat_8h_source.html +2 -2
- 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_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/MemRegion_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/MemSSA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/MemSSA_8h_source.html +1 -1
- package/SVF-doxygen/html/MutablePointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/NodeIDAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/NodeIDAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/NumericLiteral_8h_source.html +1 -1
- package/SVF-doxygen/html/ObjTypeInference_8cpp.html +1 -1
- package/SVF-doxygen/html/ObjTypeInference_8cpp_source.html +525 -501
- package/SVF-doxygen/html/ObjTypeInference_8h_source.html +17 -17
- package/SVF-doxygen/html/Options_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Options_8h_source.html +1 -1
- package/SVF-doxygen/html/PAGBuilderFromFile_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PAGBuilderFromFile_8h_source.html +1 -1
- 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 +1 -1
- package/SVF-doxygen/html/PTAStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PTAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/PersistentPointsToCache_8h_source.html +1 -1
- package/SVF-doxygen/html/PersistentPointsToDS_8h_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysisImpl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysisImpl_8h_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/PointsTo_8h_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8cpp_source.html +1 -1
- package/SVF-doxygen/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/RelExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/RelExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/RelationSolver_8cpp_source.html +1 -1
- package/SVF-doxygen/html/RelationSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/SCC_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFBugReport_8cpp_source.html +2 -2
- package/SVF-doxygen/html/SVFBugReport_8h_source.html +2 -2
- package/SVF-doxygen/html/SVFFileSystem_8cpp.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFFileSystem_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFGOPT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFGReadWrite_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFGStat_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2ConsExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2ConsExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2ItvExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2ItvExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFIR2Relation_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIRBuilder_8cpp_source.html +41 -41
- package/SVF-doxygen/html/SVFIRBuilder_8h_source.html +47 -47
- package/SVF-doxygen/html/SVFIRExtAPI_8cpp_source.html +8 -8
- package/SVF-doxygen/html/SVFIR_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFLoop_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFModule_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFModule_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 +1 -1
- package/SVF-doxygen/html/SVFStatements_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFType_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFUtil_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFValue_8h_source.html +1 -1
- package/SVF-doxygen/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SVFVariables_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCheckerAPI_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SaberCondAllocator_8h_source.html +1 -1
- package/SVF-doxygen/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SaberSVFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/SingleAbsValue_8h_source.html +1 -1
- package/SVF-doxygen/html/SparseBitVector_8h_source.html +2 -2
- package/SVF-doxygen/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/SrcSnkSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/SymState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableBuilder_8cpp_source.html +34 -34
- package/SVF-doxygen/html/SymbolTableBuilder_8h_source.html +7 -7
- package/SVF-doxygen/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/SymbolTableInfo_8h_source.html +1 -1
- package/SVF-doxygen/html/TCT_8cpp_source.html +1 -1
- package/SVF-doxygen/html/TCT_8h_source.html +1 -1
- 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 +1 -1
- package/SVF-doxygen/html/TypeAnalysis_8cpp_source.html +1 -1
- package/SVF-doxygen/html/TypeAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/VFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/VFG_8cpp_source.html +1 -1
- package/SVF-doxygen/html/VFG_8h_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitiveStat_8cpp_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitive_8cpp_source.html +1 -1
- package/SVF-doxygen/html/VersionedFlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/WPAFSSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/WPASolver_8h_source.html +1 -1
- package/SVF-doxygen/html/WPAStat_8h_source.html +1 -1
- package/SVF-doxygen/html/WTO_8h_source.html +1 -1
- package/SVF-doxygen/html/WorkList_8h_source.html +1 -1
- package/SVF-doxygen/html/Z3Expr_8cpp_source.html +1 -1
- package/SVF-doxygen/html/Z3Expr_8h_source.html +1 -1
- package/SVF-doxygen/html/ae_8cpp_source.html +1 -1
- package/SVF-doxygen/html/cfl_8cpp_source.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1BreakConstantGEPs.html +4 -4
- package/SVF-doxygen/html/classSVF_1_1CHGBuilder.html +299 -298
- package/SVF-doxygen/html/classSVF_1_1DCHGraph.html +20 -20
- package/SVF-doxygen/html/classSVF_1_1ICFGBuilder.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1LLVMLoopAnalysis.html +6 -6
- package/SVF-doxygen/html/classSVF_1_1LLVMModuleSet.html +36 -36
- package/SVF-doxygen/html/classSVF_1_1LockResultValidator.html +11 -11
- package/SVF-doxygen/html/classSVF_1_1MTAAnnotator.html +5 -5
- package/SVF-doxygen/html/classSVF_1_1MTAResultValidator.html +10 -10
- package/SVF-doxygen/html/classSVF_1_1MergeFunctionRets.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1ObjTypeInference.html +509 -485
- package/SVF-doxygen/html/classSVF_1_1RaceResultValidator.html +7 -7
- package/SVF-doxygen/html/classSVF_1_1SVFIRBuilder.html +22 -22
- package/SVF-doxygen/html/classSVF_1_1SymbolTableBuilder.html +35 -35
- package/SVF-doxygen/html/classllvm_1_1generic__bridge__gep__type__iterator.html +2 -2
- package/SVF-doxygen/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/iterator_8h_source.html +1 -1
- package/SVF-doxygen/html/iterator__range_8h_source.html +1 -1
- package/SVF-doxygen/html/llvm2svf_8cpp_source.html +1 -1
- package/SVF-doxygen/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/namespaceSVF.html +115 -115
- package/SVF-doxygen/html/namespaceSVF_1_1LLVMUtil.html +33 -33
- package/SVF-doxygen/html/namespaceSVF_1_1cppUtil.html +12 -12
- package/SVF-doxygen/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1PopulationCounter.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1PopulationCounter_3_01T_00_018_01_4.html +1 -1
- package/SVF-doxygen/html/svf-ex_8cpp_source.html +1 -1
- package/SVF-doxygen/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +8 -8
- package/SVF-doxygen/html/wpa_8cpp_source.html +1 -1
- package/package.json +1 -1
- package/svf-llvm/include/SVF-LLVM/BasicTypes.h +1 -0
- package/svf-llvm/lib/CHGBuilder.cpp +1 -0
- package/svf-llvm/lib/ObjTypeInference.cpp +51 -27
|
@@ -222,30 +222,30 @@ Private Attributes</h2></td></tr>
|
|
|
222
222
|
</table>
|
|
223
223
|
</div><div class="memdoc">
|
|
224
224
|
|
|
225
|
-
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#
|
|
226
|
-
<div class="fragment"><div class="line"><a name="
|
|
227
|
-
<div class="line"><a name="
|
|
228
|
-
<div class="line"><a name="
|
|
229
|
-
<div class="line"><a name="
|
|
230
|
-
<div class="line"><a name="
|
|
231
|
-
<div class="line"><a name="
|
|
232
|
-
<div class="line"><a name="
|
|
233
|
-
<div class="line"><a name="
|
|
234
|
-
<div class="line"><a name="
|
|
235
|
-
<div class="line"><a name="
|
|
236
|
-
<div class="line"><a name="
|
|
237
|
-
<div class="line"><a name="
|
|
238
|
-
<div class="line"><a name="
|
|
239
|
-
<div class="line"><a name="
|
|
240
|
-
<div class="line"><a name="
|
|
241
|
-
<div class="line"><a name="
|
|
242
|
-
<div class="line"><a name="
|
|
243
|
-
<div class="line"><a name="
|
|
244
|
-
<div class="line"><a name="
|
|
245
|
-
<div class="line"><a name="
|
|
246
|
-
<div class="line"><a name="
|
|
247
|
-
<div class="line"><a name="
|
|
248
|
-
<div class="line"><a name="
|
|
225
|
+
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#l00734">734</a> of file <a class="el" href="CHGBuilder_8cpp_source.html">CHGBuilder.cpp</a>.</p>
|
|
226
|
+
<div class="fragment"><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> {</div>
|
|
227
|
+
<div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">cppUtil::isCPPThunkFunction</a>(lf))</div>
|
|
228
|
+
<div class="line"><a name="l00737"></a><span class="lineno"> 737</span>  {</div>
|
|
229
|
+
<div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <span class="keyword">auto</span>* tf = <a class="code" href="namespaceSVF_1_1cppUtil.html#ac9c6d4315e7a1a826add7ed9cf924553">cppUtil::getThunkTarget</a>(lf))</div>
|
|
230
|
+
<div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  {</div>
|
|
231
|
+
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>  <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* pFunction =</div>
|
|
232
|
+
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">getSVFFunction</a>(tf);</div>
|
|
233
|
+
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">cppUtil::demangle</a>(pFunction-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>());</div>
|
|
234
|
+
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordtype">string</span> calleeName = dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>;</div>
|
|
235
|
+
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  pFunction-><a class="code" href="classSVF_1_1SVFValue.html#a8325774df9d65d78ef6a66fef59b9a97">setName</a>(calleeName);</div>
|
|
236
|
+
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  v.push_back(pFunction);</div>
|
|
237
|
+
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  }</div>
|
|
238
|
+
<div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  }</div>
|
|
239
|
+
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="keywordflow">else</span></div>
|
|
240
|
+
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  {</div>
|
|
241
|
+
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* pFunction =</div>
|
|
242
|
+
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#a50fc24901350df9db890ba16a9b87e33">getSVFFunction</a>(lf);</div>
|
|
243
|
+
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html">cppUtil::DemangledName</a> dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">cppUtil::demangle</a>(pFunction-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>());</div>
|
|
244
|
+
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordtype">string</span> calleeName = dname.<a class="code" href="structSVF_1_1cppUtil_1_1DemangledName.html#a1dd17b240663bc9412adefde82385e02">funcName</a>;</div>
|
|
245
|
+
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  pFunction-><a class="code" href="classSVF_1_1SVFValue.html#a8325774df9d65d78ef6a66fef59b9a97">setName</a>(calleeName);</div>
|
|
246
|
+
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  v.push_back(pFunction);</div>
|
|
247
|
+
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  }</div>
|
|
248
|
+
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span> }</div>
|
|
249
249
|
</div><!-- fragment -->
|
|
250
250
|
</div>
|
|
251
251
|
</div>
|
|
@@ -361,88 +361,89 @@ Private Attributes</h2></td></tr>
|
|
|
361
361
|
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="keywordflow">if</span> (dname.className.size() > 0 &&</div>
|
|
362
362
|
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  vtblClassName.compare(dname.className) != 0)</div>
|
|
363
363
|
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  {</div>
|
|
364
|
-
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#
|
|
365
|
-
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> 
|
|
366
|
-
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span> 
|
|
367
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> 
|
|
368
|
-
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span> 
|
|
369
|
-
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> 
|
|
370
|
-
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span> 
|
|
371
|
-
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span> 
|
|
372
|
-
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span> 
|
|
373
|
-
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="
|
|
374
|
-
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> 
|
|
375
|
-
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span> 
|
|
376
|
-
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> 
|
|
377
|
-
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> 
|
|
378
|
-
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> 
|
|
379
|
-
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> 
|
|
380
|
-
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> 
|
|
381
|
-
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> 
|
|
382
|
-
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> 
|
|
383
|
-
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span> 
|
|
384
|
-
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> 
|
|
385
|
-
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> 
|
|
386
|
-
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span> 
|
|
387
|
-
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> 
|
|
388
|
-
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> 
|
|
389
|
-
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> 
|
|
390
|
-
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> 
|
|
391
|
-
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> 
|
|
392
|
-
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> 
|
|
393
|
-
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> 
|
|
394
|
-
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> 
|
|
395
|
-
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> 
|
|
396
|
-
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> 
|
|
397
|
-
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> 
|
|
398
|
-
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> 
|
|
399
|
-
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> 
|
|
400
|
-
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> 
|
|
401
|
-
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> 
|
|
402
|
-
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> 
|
|
403
|
-
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> 
|
|
404
|
-
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> 
|
|
405
|
-
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> 
|
|
406
|
-
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> 
|
|
407
|
-
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> 
|
|
408
|
-
<div class="line"><a name="
|
|
409
|
-
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span> 
|
|
410
|
-
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> 
|
|
411
|
-
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> 
|
|
412
|
-
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> 
|
|
413
|
-
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  assert(
|
|
414
|
-
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> 
|
|
415
|
-
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> 
|
|
416
|
-
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> 
|
|
417
|
-
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> 
|
|
418
|
-
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> 
|
|
419
|
-
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> 
|
|
420
|
-
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> 
|
|
421
|
-
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> 
|
|
422
|
-
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> 
|
|
423
|
-
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> 
|
|
424
|
-
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> 
|
|
425
|
-
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> 
|
|
426
|
-
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> 
|
|
427
|
-
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> 
|
|
428
|
-
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> 
|
|
429
|
-
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> 
|
|
430
|
-
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> 
|
|
431
|
-
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> 
|
|
432
|
-
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> 
|
|
433
|
-
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> 
|
|
434
|
-
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> 
|
|
435
|
-
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> 
|
|
436
|
-
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> 
|
|
437
|
-
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> 
|
|
438
|
-
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> 
|
|
439
|
-
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> 
|
|
440
|
-
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> 
|
|
441
|
-
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> 
|
|
442
|
-
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> 
|
|
443
|
-
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> 
|
|
444
|
-
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> 
|
|
445
|
-
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> }</div>
|
|
364
|
+
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">if</span>(!<a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7beec68a60036c93a741a7152e8198b6">getNode</a>(dname.className)) <a class="code" href="classSVF_1_1CHGBuilder.html#ae0376b8ecdf2093b88e8c529f0e014e0">createNode</a>(dname.className);</div>
|
|
365
|
+
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a3867db3e76f068bd8c4399b103dcd0b7">addEdge</a>(vtblClassName, dname.className, <a class="code" href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a78df5157ac61c49a724af5aa03d36d0c">CHEdge::INHERITANCE</a>);</div>
|
|
366
|
+
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  }</div>
|
|
367
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  }</div>
|
|
368
|
+
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">else</span></div>
|
|
369
|
+
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  {</div>
|
|
370
|
+
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a0fd33072b099f61eaa642e94ed0c03fc">GlobalAlias</a> *alias =</div>
|
|
371
|
+
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  SVFUtil::dyn_cast<GlobalAlias>(operand))</div>
|
|
372
|
+
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  {</div>
|
|
373
|
+
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7e230c0cba2e3a7c2e5a5f2ee7d88af9">Constant</a> *aliasValue = alias->getAliasee();</div>
|
|
374
|
+
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* aliasFunc =</div>
|
|
375
|
+
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  SVFUtil::dyn_cast<Function>(aliasValue))</div>
|
|
376
|
+
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  {</div>
|
|
377
|
+
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#a87170f2cf98c6094491b8fbafdebec14">addFuncToFuncVector</a>(virtualFunctions, aliasFunc);</div>
|
|
378
|
+
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  }</div>
|
|
379
|
+
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">ConstantExpr</a> *aliasconst =</div>
|
|
380
|
+
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  SVFUtil::dyn_cast<ConstantExpr>(aliasValue))</div>
|
|
381
|
+
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  {</div>
|
|
382
|
+
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  (void)aliasconst; <span class="comment">// Suppress warning of unused variable under release build</span></div>
|
|
383
|
+
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  assert(aliasconst->getOpcode() == Instruction::BitCast &&</div>
|
|
384
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <span class="stringliteral">"aliased constantexpr in vtable not a bitcast"</span>);</div>
|
|
385
|
+
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* aliasbitcastfunc =</div>
|
|
386
|
+
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  SVFUtil::dyn_cast<Function>(aliasconst->getOperand(0));</div>
|
|
387
|
+
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  assert(aliasbitcastfunc &&</div>
|
|
388
|
+
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="stringliteral">"aliased bitcast in vtable not a function"</span>);</div>
|
|
389
|
+
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#a87170f2cf98c6094491b8fbafdebec14">addFuncToFuncVector</a>(virtualFunctions, aliasbitcastfunc);</div>
|
|
390
|
+
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  }</div>
|
|
391
|
+
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="keywordflow">else</span></div>
|
|
392
|
+
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  {</div>
|
|
393
|
+
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"alias not function or bitcast"</span>);</div>
|
|
394
|
+
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div>
|
|
395
|
+
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  </div>
|
|
396
|
+
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  pure_abstract &= <span class="keyword">false</span>;</div>
|
|
397
|
+
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  }</div>
|
|
398
|
+
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (operand->getName().str().compare(0, <a class="code" href="CHGBuilder_8cpp.html#a4ecb39b2fb5510fb20341373b7ad5450">ztiLabel</a>.size(),</div>
|
|
399
|
+
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <a class="code" href="CHGBuilder_8cpp.html#a4ecb39b2fb5510fb20341373b7ad5450">ztiLabel</a>) == 0)</div>
|
|
400
|
+
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  {</div>
|
|
401
|
+
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  }</div>
|
|
402
|
+
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">else</span></div>
|
|
403
|
+
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  {</div>
|
|
404
|
+
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  assert(<span class="stringliteral">"what else can be in bitcast of a vtable?"</span>);</div>
|
|
405
|
+
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  }</div>
|
|
406
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div>
|
|
407
|
+
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  };</div>
|
|
408
|
+
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  </div>
|
|
409
|
+
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">ConstantExpr</a> *ce =</div>
|
|
410
|
+
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  SVFUtil::dyn_cast<ConstantExpr>(operand))</div>
|
|
411
|
+
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  {</div>
|
|
412
|
+
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="code" href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a> opcode = ce->getOpcode();</div>
|
|
413
|
+
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  assert(opcode == Instruction::IntToPtr);</div>
|
|
414
|
+
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  assert(ce->getNumOperands() == 1 &&</div>
|
|
415
|
+
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="stringliteral">"inttptr operand num not 1"</span>);</div>
|
|
416
|
+
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="keywordflow">if</span> (opcode == Instruction::IntToPtr)</div>
|
|
417
|
+
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  {</div>
|
|
418
|
+
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  node-><a class="code" href="classSVF_1_1CHNode.html#a5d751a3a0d88c0de374bfeb526051440">setMultiInheritance</a>();</div>
|
|
419
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  ++i;</div>
|
|
420
|
+
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keywordflow">break</span>;</div>
|
|
421
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  }</div>
|
|
422
|
+
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  }</div>
|
|
423
|
+
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <span class="keywordflow">else</span></div>
|
|
424
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  {</div>
|
|
425
|
+
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  foo(operand);</div>
|
|
426
|
+
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  }</div>
|
|
427
|
+
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  }</div>
|
|
428
|
+
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">if</span> (is_virtual && virtualFunctions.size() > 0)</div>
|
|
429
|
+
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  {</div>
|
|
430
|
+
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < null_ptr_num; ++i)</div>
|
|
431
|
+
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  {</div>
|
|
432
|
+
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = virtualFunctions[i];</div>
|
|
433
|
+
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  virtualFunctions.insert(virtualFunctions.begin(), fun);</div>
|
|
434
|
+
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  }</div>
|
|
435
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="keywordflow">if</span> (virtualFunctions.size() > 0)</div>
|
|
437
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  node-><a class="code" href="classSVF_1_1CHNode.html#a8c51571df92b5e152cc42e9aaf712dc9">addVirtualFunctionVector</a>(virtualFunctions);</div>
|
|
438
|
+
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  }</div>
|
|
439
|
+
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="keywordflow">if</span> (pure_abstract == <span class="keyword">true</span>)</div>
|
|
440
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  {</div>
|
|
441
|
+
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  node-><a class="code" href="classSVF_1_1CHNode.html#abac89987927dadd53dd646eae540a024">setPureAbstract</a>();</div>
|
|
442
|
+
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  }</div>
|
|
443
|
+
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div>
|
|
444
|
+
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  }</div>
|
|
445
|
+
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  }</div>
|
|
446
|
+
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div>
|
|
446
447
|
</div><!-- fragment -->
|
|
447
448
|
</div>
|
|
448
449
|
</div>
|
|
@@ -674,45 +675,45 @@ Private Attributes</h2></td></tr>
|
|
|
674
675
|
</table>
|
|
675
676
|
</div><div class="memdoc">
|
|
676
677
|
|
|
677
|
-
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#
|
|
678
|
-
<div class="fragment"><div class="line"><a name="
|
|
679
|
-
<div class="line"><a name="
|
|
680
|
-
<div class="line"><a name="
|
|
681
|
-
<div class="line"><a name="
|
|
682
|
-
<div class="line"><a name="
|
|
683
|
-
<div class="line"><a name="
|
|
684
|
-
<div class="line"><a name="
|
|
685
|
-
<div class="line"><a name="
|
|
686
|
-
<div class="line"><a name="
|
|
687
|
-
<div class="line"><a name="
|
|
688
|
-
<div class="line"><a name="
|
|
689
|
-
<div class="line"><a name="
|
|
690
|
-
<div class="line"><a name="
|
|
691
|
-
<div class="line"><a name="
|
|
692
|
-
<div class="line"><a name="
|
|
693
|
-
<div class="line"><a name="
|
|
694
|
-
<div class="line"><a name="
|
|
695
|
-
<div class="line"><a name="
|
|
696
|
-
<div class="line"><a name="
|
|
697
|
-
<div class="line"><a name="
|
|
698
|
-
<div class="line"><a name="
|
|
699
|
-
<div class="line"><a name="
|
|
700
|
-
<div class="line"><a name="
|
|
701
|
-
<div class="line"><a name="
|
|
702
|
-
<div class="line"><a name="
|
|
703
|
-
<div class="line"><a name="
|
|
704
|
-
<div class="line"><a name="
|
|
705
|
-
<div class="line"><a name="
|
|
706
|
-
<div class="line"><a name="
|
|
707
|
-
<div class="line"><a name="
|
|
708
|
-
<div class="line"><a name="
|
|
709
|
-
<div class="line"><a name="
|
|
710
|
-
<div class="line"><a name="
|
|
711
|
-
<div class="line"><a name="
|
|
712
|
-
<div class="line"><a name="
|
|
713
|
-
<div class="line"><a name="
|
|
714
|
-
<div class="line"><a name="
|
|
715
|
-
<div class="line"><a name="
|
|
678
|
+
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#l00655">655</a> of file <a class="el" href="CHGBuilder_8cpp_source.html">CHGBuilder.cpp</a>.</p>
|
|
679
|
+
<div class="fragment"><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> {</div>
|
|
680
|
+
<div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  </div>
|
|
681
|
+
<div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">Module</a> &M : <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()->getLLVMModules())</div>
|
|
682
|
+
<div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  {</div>
|
|
683
|
+
<div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  <span class="keywordflow">for</span> (Module::const_iterator <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a> = M.begin(), E = M.end(); <a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a> != E; ++<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>)</div>
|
|
684
|
+
<div class="line"><a name="l00661"></a><span class="lineno"> 661</span>  {</div>
|
|
685
|
+
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">const_inst_iterator</a> II = inst_begin(*<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>), E = inst_end(*<a class="code" href="SVFFileSystem_8cpp.html#ab25baccb41e3b67ef0bfdaa1336c9649">F</a>); II != E; ++II)</div>
|
|
686
|
+
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  {</div>
|
|
687
|
+
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">CallBase</a>* callInst = SVFUtil::dyn_cast<CallBase>(&*II))</div>
|
|
688
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  {</div>
|
|
689
|
+
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1cppUtil.html#aab1dce633f9a03796c208b6fba2bd2b4">cppUtil::isVirtualCallSite</a>(callInst) == <span class="keyword">false</span>)</div>
|
|
690
|
+
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="keywordflow">continue</span>;</div>
|
|
691
|
+
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  </div>
|
|
692
|
+
<div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <a class="code" href="namespaceSVF.html#a340a9e77adc2bbfdee79e22da9ead234">VTableSet</a> vtbls;</div>
|
|
693
|
+
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CHGBuilder.html#adbff217477a779de9024d9a5777413a7">CHNodeSetTy</a>& chClasses = <a class="code" href="classSVF_1_1CHGBuilder.html#adc1b1f45e7000fa57e3a70ef9e4af853">getCSClasses</a>(callInst);</div>
|
|
694
|
+
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="keywordflow">for</span> (CHNodeSetTy::const_iterator it = chClasses.begin(), eit = chClasses.end(); it != eit; ++it)</div>
|
|
695
|
+
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  {</div>
|
|
696
|
+
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *<a class="code" href="cJSON_8cpp.html#ad00efb41ca386db28bacc7aefe79535c">child</a> = *it;</div>
|
|
697
|
+
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFGlobalValue.html">SVFGlobalValue</a> *vtbl = <a class="code" href="cJSON_8cpp.html#ad00efb41ca386db28bacc7aefe79535c">child</a>->getVTable();</div>
|
|
698
|
+
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="keywordflow">if</span> (vtbl != <span class="keyword">nullptr</span>)</div>
|
|
699
|
+
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>  {</div>
|
|
700
|
+
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  vtbls.insert(vtbl);</div>
|
|
701
|
+
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  }</div>
|
|
702
|
+
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  }</div>
|
|
703
|
+
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="keywordflow">if</span> (vtbls.size() > 0)</div>
|
|
704
|
+
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>  {</div>
|
|
705
|
+
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVFUtil::getSVFCallSite</a>(<a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()->getSVFInstruction(callInst));</div>
|
|
706
|
+
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#af3ed2bee5d76e5a848b250950c3be333">csToCHAVtblsMap</a>[cs] = vtbls;</div>
|
|
707
|
+
<div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <a class="code" href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">VFunSet</a> virtualFunctions;</div>
|
|
708
|
+
<div class="line"><a name="l00685"></a><span class="lineno"> 685</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#ac5f5646db24455609cd86c421774dd3e">getVFnsFromVtbls</a>(cs, vtbls, virtualFunctions);</div>
|
|
709
|
+
<div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keywordflow">if</span> (virtualFunctions.size() > 0)</div>
|
|
710
|
+
<div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a5e6502c5baad99c70e1cf56c84ce9474">csToCHAVFnsMap</a>[cs] = virtualFunctions;</div>
|
|
711
|
+
<div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  }</div>
|
|
712
|
+
<div class="line"><a name="l00689"></a><span class="lineno"> 689</span>  }</div>
|
|
713
|
+
<div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  }</div>
|
|
714
|
+
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  }</div>
|
|
715
|
+
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  }</div>
|
|
716
|
+
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span> }</div>
|
|
716
717
|
</div><!-- fragment -->
|
|
717
718
|
</div>
|
|
718
719
|
</div>
|
|
@@ -755,103 +756,103 @@ Private Attributes</h2></td></tr>
|
|
|
755
756
|
</table>
|
|
756
757
|
</div><div class="memdoc">
|
|
757
758
|
|
|
758
|
-
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#
|
|
759
|
-
<div class="fragment"><div class="line"><a name="
|
|
760
|
-
<div class="line"><a name="
|
|
761
|
-
<div class="line"><a name="
|
|
762
|
-
<div class="line"><a name="
|
|
763
|
-
<div class="line"><a name="
|
|
764
|
-
<div class="line"><a name="
|
|
765
|
-
<div class="line"><a name="
|
|
766
|
-
<div class="line"><a name="
|
|
767
|
-
<div class="line"><a name="
|
|
768
|
-
<div class="line"><a name="
|
|
769
|
-
<div class="line"><a name="
|
|
770
|
-
<div class="line"><a name="
|
|
771
|
-
<div class="line"><a name="
|
|
772
|
-
<div class="line"><a name="
|
|
773
|
-
<div class="line"><a name="
|
|
774
|
-
<div class="line"><a name="
|
|
775
|
-
<div class="line"><a name="
|
|
776
|
-
<div class="line"><a name="
|
|
777
|
-
<div class="line"><a name="
|
|
778
|
-
<div class="line"><a name="
|
|
779
|
-
<div class="line"><a name="
|
|
780
|
-
<div class="line"><a name="
|
|
781
|
-
<div class="line"><a name="
|
|
782
|
-
<div class="line"><a name="
|
|
783
|
-
<div class="line"><a name="
|
|
784
|
-
<div class="line"><a name="
|
|
785
|
-
<div class="line"><a name="
|
|
786
|
-
<div class="line"><a name="
|
|
787
|
-
<div class="line"><a name="
|
|
788
|
-
<div class="line"><a name="
|
|
789
|
-
<div class="line"><a name="
|
|
790
|
-
<div class="line"><a name="
|
|
791
|
-
<div class="line"><a name="
|
|
792
|
-
<div class="line"><a name="
|
|
793
|
-
<div class="line"><a name="
|
|
794
|
-
<div class="line"><a name="
|
|
795
|
-
<div class="line"><a name="
|
|
796
|
-
<div class="line"><a name="
|
|
797
|
-
<div class="line"><a name="
|
|
798
|
-
<div class="line"><a name="
|
|
799
|
-
<div class="line"><a name="
|
|
800
|
-
<div class="line"><a name="
|
|
801
|
-
<div class="line"><a name="
|
|
802
|
-
<div class="line"><a name="
|
|
803
|
-
<div class="line"><a name="
|
|
804
|
-
<div class="line"><a name="
|
|
805
|
-
<div class="line"><a name="
|
|
806
|
-
<div class="line"><a name="
|
|
807
|
-
<div class="line"><a name="
|
|
808
|
-
<div class="line"><a name="
|
|
809
|
-
<div class="line"><a name="
|
|
810
|
-
<div class="line"><a name="
|
|
811
|
-
<div class="line"><a name="
|
|
812
|
-
<div class="line"><a name="
|
|
813
|
-
<div class="line"><a name="
|
|
814
|
-
<div class="line"><a name="
|
|
815
|
-
<div class="line"><a name="
|
|
816
|
-
<div class="line"><a name="
|
|
817
|
-
<div class="line"><a name="
|
|
818
|
-
<div class="line"><a name="
|
|
819
|
-
<div class="line"><a name="
|
|
820
|
-
<div class="line"><a name="
|
|
821
|
-
<div class="line"><a name="
|
|
822
|
-
<div class="line"><a name="
|
|
823
|
-
<div class="line"><a name="
|
|
824
|
-
<div class="line"><a name="
|
|
825
|
-
<div class="line"><a name="
|
|
826
|
-
<div class="line"><a name="
|
|
827
|
-
<div class="line"><a name="
|
|
828
|
-
<div class="line"><a name="
|
|
829
|
-
<div class="line"><a name="
|
|
830
|
-
<div class="line"><a name="
|
|
831
|
-
<div class="line"><a name="
|
|
832
|
-
<div class="line"><a name="
|
|
833
|
-
<div class="line"><a name="
|
|
834
|
-
<div class="line"><a name="
|
|
835
|
-
<div class="line"><a name="
|
|
836
|
-
<div class="line"><a name="
|
|
837
|
-
<div class="line"><a name="
|
|
838
|
-
<div class="line"><a name="
|
|
839
|
-
<div class="line"><a name="
|
|
840
|
-
<div class="line"><a name="
|
|
841
|
-
<div class="line"><a name="
|
|
842
|
-
<div class="line"><a name="
|
|
843
|
-
<div class="line"><a name="
|
|
844
|
-
<div class="line"><a name="
|
|
845
|
-
<div class="line"><a name="
|
|
846
|
-
<div class="line"><a name="
|
|
847
|
-
<div class="line"><a name="
|
|
848
|
-
<div class="line"><a name="
|
|
849
|
-
<div class="line"><a name="
|
|
850
|
-
<div class="line"><a name="
|
|
851
|
-
<div class="line"><a name="
|
|
852
|
-
<div class="line"><a name="
|
|
853
|
-
<div class="line"><a name="
|
|
854
|
-
<div class="line"><a name="
|
|
759
|
+
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#l00556">556</a> of file <a class="el" href="CHGBuilder_8cpp_source.html">CHGBuilder.cpp</a>.</p>
|
|
760
|
+
<div class="fragment"><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> {</div>
|
|
761
|
+
<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <span class="comment">/*</span></div>
|
|
762
|
+
<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="comment"> * 1. Divide classes into groups</span></div>
|
|
763
|
+
<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment"> * 2. Get all virtual functions in a group</span></div>
|
|
764
|
+
<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="comment"> * 3. Assign consecutive IDs to virtual functions that have</span></div>
|
|
765
|
+
<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="comment"> * the same name (after demangling) in a group</span></div>
|
|
766
|
+
<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="comment"> */</span></div>
|
|
767
|
+
<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a> visitedNodes;</div>
|
|
768
|
+
<div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">CHGraph::const_iterator</a> nit = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a0d9744b1b0e7a09a6f7af29188e243b7">begin</a>(),</div>
|
|
769
|
+
<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  neit = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">end</a>(); nit != neit; ++nit)</div>
|
|
770
|
+
<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  {</div>
|
|
771
|
+
<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *node = nit->second;</div>
|
|
772
|
+
<div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">if</span> (visitedNodes.find(node) != visitedNodes.end())</div>
|
|
773
|
+
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <span class="keywordflow">continue</span>;</div>
|
|
774
|
+
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  </div>
|
|
775
|
+
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordtype">string</span> className = node-><a class="code" href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">getName</a>();</div>
|
|
776
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  </div>
|
|
777
|
+
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="comment">/*</span></div>
|
|
778
|
+
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="comment"> * get all the classes in a specific group</span></div>
|
|
779
|
+
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="comment"> */</span></div>
|
|
780
|
+
<div class="line"><a name="l00577"></a><span class="lineno"> 577</span>  <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a> group;</div>
|
|
781
|
+
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  stack<const CHNode*> nodeStack;</div>
|
|
782
|
+
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  nodeStack.push(node);</div>
|
|
783
|
+
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordflow">while</span> (!nodeStack.empty())</div>
|
|
784
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  {</div>
|
|
785
|
+
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *curnode = nodeStack.top();</div>
|
|
786
|
+
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  nodeStack.pop();</div>
|
|
787
|
+
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  group.insert(curnode);</div>
|
|
788
|
+
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <span class="keywordflow">if</span> (visitedNodes.find(curnode) != visitedNodes.end())</div>
|
|
789
|
+
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keywordflow">continue</span>;</div>
|
|
790
|
+
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">for</span> (CHEdge::CHEdgeSetTy::const_iterator it = curnode-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().begin(),</div>
|
|
791
|
+
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  eit = curnode-><a class="code" href="classSVF_1_1GenericNode.html#a2d9cd758d6f8c5189d9b90b74f43e009">getOutEdges</a>().end(); it != eit; ++it)</div>
|
|
792
|
+
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  {</div>
|
|
793
|
+
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *tmpnode = (*it)->getDstNode();</div>
|
|
794
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  nodeStack.push(tmpnode);</div>
|
|
795
|
+
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  group.insert(tmpnode);</div>
|
|
796
|
+
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  }</div>
|
|
797
|
+
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keywordflow">for</span> (CHEdge::CHEdgeSetTy::const_iterator it = curnode-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().begin(),</div>
|
|
798
|
+
<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  eit = curnode-><a class="code" href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">getInEdges</a>().end(); it != eit; ++it)</div>
|
|
799
|
+
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  {</div>
|
|
800
|
+
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="classSVF_1_1CHNode.html">CHNode</a> *tmpnode = (*it)->getSrcNode();</div>
|
|
801
|
+
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  nodeStack.push(tmpnode);</div>
|
|
802
|
+
<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  group.insert(tmpnode);</div>
|
|
803
|
+
<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  }</div>
|
|
804
|
+
<div class="line"><a name="l00601"></a><span class="lineno"> 601</span>  visitedNodes.insert(curnode);</div>
|
|
805
|
+
<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  }</div>
|
|
806
|
+
<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  </div>
|
|
807
|
+
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="comment">/*</span></div>
|
|
808
|
+
<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="comment"> * get all virtual functions in a specific group</span></div>
|
|
809
|
+
<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="comment"> */</span></div>
|
|
810
|
+
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  set<const SVFFunction*> virtualFunctions;</div>
|
|
811
|
+
<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="keywordflow">for</span> (CHGraph::CHNodeSetTy::iterator it = group.begin(),</div>
|
|
812
|
+
<div class="line"><a name="l00609"></a><span class="lineno"> 609</span>  eit = group.end(); it != eit; ++it)</div>
|
|
813
|
+
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  {</div>
|
|
814
|
+
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <span class="keyword">const</span> vector<CHNode::FuncVector> &vecs = (*it)-><a class="code" href="classSVF_1_1CHNode.html#a5df1cf4d51bf3406d188c96bc9aae0af">getVirtualFunctionVectors</a>();</div>
|
|
815
|
+
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">for</span> (vector<CHNode::FuncVector>::const_iterator vit = vecs.begin(),</div>
|
|
816
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  veit = vecs.end(); vit != veit; ++vit)</div>
|
|
817
|
+
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  {</div>
|
|
818
|
+
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">for</span> (vector<const SVFFunction*>::const_iterator fit = (*vit).begin(),</div>
|
|
819
|
+
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  feit = (*vit).end(); fit != feit; ++fit)</div>
|
|
820
|
+
<div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  {</div>
|
|
821
|
+
<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  virtualFunctions.insert(*fit);</div>
|
|
822
|
+
<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  }</div>
|
|
823
|
+
<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  }</div>
|
|
824
|
+
<div class="line"><a name="l00621"></a><span class="lineno"> 621</span>  }</div>
|
|
825
|
+
<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  </div>
|
|
826
|
+
<div class="line"><a name="l00623"></a><span class="lineno"> 623</span>  <span class="comment">/*</span></div>
|
|
827
|
+
<div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="comment"> * build a set of pairs of demangled function name and function in a</span></div>
|
|
828
|
+
<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="comment"> * specific group, items in the set will be sort by the first item of the</span></div>
|
|
829
|
+
<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="comment"> * pair, so all the virtual functions in a group will be sorted by the</span></div>
|
|
830
|
+
<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="comment"> * demangled function name</span></div>
|
|
831
|
+
<div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="comment"> * <f, A::f></span></div>
|
|
832
|
+
<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> <span class="comment"> * <f, B::f></span></div>
|
|
833
|
+
<div class="line"><a name="l00630"></a><span class="lineno"> 630</span> <span class="comment"> * <g, A::g></span></div>
|
|
834
|
+
<div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="comment"> * <g, B::g></span></div>
|
|
835
|
+
<div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="comment"> * <g, C::g></span></div>
|
|
836
|
+
<div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="comment"> * <~A, A::~A></span></div>
|
|
837
|
+
<div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="comment"> * <~B, B::~B></span></div>
|
|
838
|
+
<div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="comment"> * <~C, C::~C></span></div>
|
|
839
|
+
<div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="comment"> * ...</span></div>
|
|
840
|
+
<div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="comment"> */</span></div>
|
|
841
|
+
<div class="line"><a name="l00638"></a><span class="lineno"> 638</span>  set<pair<string, const SVFFunction*> > fNameSet;</div>
|
|
842
|
+
<div class="line"><a name="l00639"></a><span class="lineno"> 639</span>  <span class="keywordflow">for</span> (set<const SVFFunction*>::iterator fit = virtualFunctions.begin(),</div>
|
|
843
|
+
<div class="line"><a name="l00640"></a><span class="lineno"> 640</span>  feit = virtualFunctions.end(); fit != feit; ++fit)</div>
|
|
844
|
+
<div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  {</div>
|
|
845
|
+
<div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* f = *fit;</div>
|
|
846
|
+
<div class="line"><a name="l00643"></a><span class="lineno"> 643</span>  <span class="keyword">struct </span>DemangledName dname = <a class="code" href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">demangle</a>(f-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>());</div>
|
|
847
|
+
<div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  fNameSet.insert(pair<string, const SVFFunction*>(dname.funcName, f));</div>
|
|
848
|
+
<div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  }</div>
|
|
849
|
+
<div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="keywordflow">for</span> (<a class="code" href="WPA_2CMakeLists_8txt.html#a5b660868031b6dee85d01fea51ef09a5">set</a><pair<string, const SVFFunction*>>::iterator it = fNameSet.begin(),</div>
|
|
850
|
+
<div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  eit = fNameSet.end(); it != eit; ++it)</div>
|
|
851
|
+
<div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  {</div>
|
|
852
|
+
<div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0">virtualFunctionToIDMap</a>[it->second] = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">vfID</a>++;</div>
|
|
853
|
+
<div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  }</div>
|
|
854
|
+
<div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  }</div>
|
|
855
|
+
<div class="line"><a name="l00652"></a><span class="lineno"> 652</span> }</div>
|
|
855
856
|
</div><!-- fragment -->
|
|
856
857
|
</div>
|
|
857
858
|
</div>
|
|
@@ -1022,43 +1023,43 @@ Private Attributes</h2></td></tr>
|
|
|
1022
1023
|
</table>
|
|
1023
1024
|
</div><div class="memdoc">
|
|
1024
1025
|
|
|
1025
|
-
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#
|
|
1026
|
-
<div class="fragment"><div class="line"><a name="
|
|
1027
|
-
<div class="line"><a name="
|
|
1028
|
-
<div class="line"><a name="
|
|
1029
|
-
<div class="line"><a name="
|
|
1030
|
-
<div class="line"><a name="
|
|
1031
|
-
<div class="line"><a name="
|
|
1032
|
-
<div class="line"><a name="
|
|
1033
|
-
<div class="line"><a name="
|
|
1034
|
-
<div class="line"><a name="
|
|
1035
|
-
<div class="line"><a name="
|
|
1036
|
-
<div class="line"><a name="
|
|
1037
|
-
<div class="line"><a name="
|
|
1038
|
-
<div class="line"><a name="
|
|
1039
|
-
<div class="line"><a name="
|
|
1040
|
-
<div class="line"><a name="
|
|
1041
|
-
<div class="line"><a name="
|
|
1042
|
-
<div class="line"><a name="
|
|
1043
|
-
<div class="line"><a name="
|
|
1044
|
-
<div class="line"><a name="
|
|
1045
|
-
<div class="line"><a name="
|
|
1046
|
-
<div class="line"><a name="
|
|
1047
|
-
<div class="line"><a name="
|
|
1048
|
-
<div class="line"><a name="
|
|
1049
|
-
<div class="line"><a name="
|
|
1050
|
-
<div class="line"><a name="
|
|
1051
|
-
<div class="line"><a name="
|
|
1052
|
-
<div class="line"><a name="
|
|
1053
|
-
<div class="line"><a name="
|
|
1054
|
-
<div class="line"><a name="
|
|
1055
|
-
<div class="line"><a name="
|
|
1056
|
-
<div class="line"><a name="
|
|
1057
|
-
<div class="line"><a name="
|
|
1058
|
-
<div class="line"><a name="
|
|
1059
|
-
<div class="line"><a name="
|
|
1060
|
-
<div class="line"><a name="
|
|
1061
|
-
<div class="line"><a name="
|
|
1026
|
+
<p class="definition">Definition at line <a class="el" href="CHGBuilder_8cpp_source.html#l00696">696</a> of file <a class="el" href="CHGBuilder_8cpp_source.html">CHGBuilder.cpp</a>.</p>
|
|
1027
|
+
<div class="fragment"><div class="line"><a name="l00697"></a><span class="lineno"> 697</span> {</div>
|
|
1028
|
+
<div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  assert(<a class="code" href="namespaceSVF_1_1cppUtil.html#aab1dce633f9a03796c208b6fba2bd2b4">cppUtil::isVirtualCallSite</a>(cs) && <span class="stringliteral">"not virtual callsite!"</span>);</div>
|
|
1029
|
+
<div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* svfcall = <a class="code" href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">LLVMModuleSet::getLLVMModuleSet</a>()-><a class="code" href="classSVF_1_1LLVMModuleSet.html#ae74f307b6f96950ceedb2c375ef1c3a3">getSVFInstruction</a>(cs);</div>
|
|
1030
|
+
<div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  </div>
|
|
1031
|
+
<div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  CHGraph::CallSiteToCHNodesMap::const_iterator it = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>.find(svfcall);</div>
|
|
1032
|
+
<div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="keywordflow">if</span> (it != <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>.end())</div>
|
|
1033
|
+
<div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  {</div>
|
|
1034
|
+
<div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keywordflow">return</span> it->second;</div>
|
|
1035
|
+
<div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  }</div>
|
|
1036
|
+
<div class="line"><a name="l00706"></a><span class="lineno"> 706</span>  <span class="keywordflow">else</span></div>
|
|
1037
|
+
<div class="line"><a name="l00707"></a><span class="lineno"> 707</span>  {</div>
|
|
1038
|
+
<div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<string></a> thisPtrClassNames = <a class="code" href="namespaceSVF_1_1cppUtil.html#a8de9a0f0c400240b6cb433b4db3fb3d1">getClassNameOfThisPtr</a>(cs);</div>
|
|
1039
|
+
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  </div>
|
|
1040
|
+
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>  <span class="keywordflow">if</span>(thisPtrClassNames.empty())</div>
|
|
1041
|
+
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  {</div>
|
|
1042
|
+
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="comment">// if we cannot infer classname, conservatively push all class nodes</span></div>
|
|
1043
|
+
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &node: *<a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>)</div>
|
|
1044
|
+
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  {</div>
|
|
1045
|
+
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>[svfcall].insert(node.second);</div>
|
|
1046
|
+
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  }</div>
|
|
1047
|
+
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>[svfcall];</div>
|
|
1048
|
+
<div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  }</div>
|
|
1049
|
+
<div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  </div>
|
|
1050
|
+
<div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &thisPtrClassName: thisPtrClassNames)</div>
|
|
1051
|
+
<div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  {</div>
|
|
1052
|
+
<div class="line"><a name="l00722"></a><span class="lineno"> 722</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1CHNode.html">CHNode</a>* thisNode = <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7beec68a60036c93a741a7152e8198b6">getNode</a>(thisPtrClassName))</div>
|
|
1053
|
+
<div class="line"><a name="l00723"></a><span class="lineno"> 723</span>  {</div>
|
|
1054
|
+
<div class="line"><a name="l00724"></a><span class="lineno"> 724</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">CHGraph::CHNodeSetTy</a>& instAndDesces = <a class="code" href="classSVF_1_1CHGBuilder.html#a65112fa6d1b2bc1c7e9c956ec9b91919">getInstancesAndDescendants</a>(thisPtrClassName);</div>
|
|
1055
|
+
<div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>[svfcall].insert(thisNode);</div>
|
|
1056
|
+
<div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <span class="keywordflow">for</span> (CHGraph::CHNodeSetTy::const_iterator it2 = instAndDesces.begin(), eit = instAndDesces.end(); it2 != eit; ++it2)</div>
|
|
1057
|
+
<div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>[svfcall].insert(*it2);</div>
|
|
1058
|
+
<div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  }</div>
|
|
1059
|
+
<div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  }</div>
|
|
1060
|
+
<div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">chg</a>-><a class="code" href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">csToClassesMap</a>[svfcall];</div>
|
|
1061
|
+
<div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  }</div>
|
|
1062
|
+
<div class="line"><a name="l00732"></a><span class="lineno"> 732</span> }</div>
|
|
1062
1063
|
</div><!-- fragment -->
|
|
1063
1064
|
</div>
|
|
1064
1065
|
</div>
|
|
@@ -1186,7 +1187,7 @@ Private Attributes</h2></td></tr>
|
|
|
1186
1187
|
<div class="ttc" id="aclassSVF_1_1LLVMModuleSet_html_acf40310917909e4234282c0695a43160"><div class="ttname"><a href="classSVF_1_1LLVMModuleSet.html#acf40310917909e4234282c0695a43160">SVF::LLVMModuleSet::getLLVMModuleSet</a></div><div class="ttdeci">static LLVMModuleSet * getLLVMModuleSet()</div><div class="ttdef"><b>Definition:</b> <a href="LLVMModule_8h_source.html#l00105">LLVMModule.h:105</a></div></div>
|
|
1187
1188
|
<div class="ttc" id="aCHGBuilder_8cpp_html_a5b49460faf973332d3cbfc561c994c6c"><div class="ttname"><a href="CHGBuilder_8cpp.html#a5b49460faf973332d3cbfc561c994c6c">pureVirtualFunName</a></div><div class="ttdeci">const string pureVirtualFunName</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00056">CHGBuilder.cpp:56</a></div></div>
|
|
1188
1189
|
<div class="ttc" id="aCommandLine_8h_html_a2429346d37bd4c40889bd7c6d319d9da"><div class="ttname"><a href="CommandLine_8h.html#a2429346d37bd4c40889bd7c6d319d9da">u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="CommandLine_8h_source.html#l00018">CommandLine.h:18</a></div></div>
|
|
1189
|
-
<div class="ttc" id="anamespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1190
|
+
<div class="ttc" id="anamespaceSVF_html_ab696aab940eb187dc81217efe8649af5"><div class="ttname"><a href="namespaceSVF.html#ab696aab940eb187dc81217efe8649af5">SVF::StoreInst</a></div><div class="ttdeci">llvm::StoreInst StoreInst</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00148">BasicTypes.h:148</a></div></div>
|
|
1190
1191
|
<div class="ttc" id="aclassSVF_1_1CHEdge_html_a26280c3b724551036f7e3ba2b5922676a78df5157ac61c49a724af5aa03d36d0c"><div class="ttname"><a href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a78df5157ac61c49a724af5aa03d36d0c">SVF::CHEdge::INHERITANCE</a></div><div class="ttdeci">@ INHERITANCE</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00086">CHG.h:86</a></div></div>
|
|
1191
1192
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a4bef15157423cef48dc7333a803cd27d"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a4bef15157423cef48dc7333a803cd27d">SVF::GenericGraph::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00384">GenericGraph.h:384</a></div></div>
|
|
1192
1193
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_af6e71c1a932464b1b615fc177f5af089"><div class="ttname"><a href="classSVF_1_1CHNode.html#af6e71c1a932464b1b615fc177f5af089">SVF::CHNode::getName</a></div><div class="ttdeci">std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00130">CHG.h:130</a></div></div>
|
|
@@ -1201,7 +1202,7 @@ Private Attributes</h2></td></tr>
|
|
|
1201
1202
|
<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>
|
|
1202
1203
|
<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>
|
|
1203
1204
|
<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>
|
|
1204
|
-
<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#
|
|
1205
|
+
<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>
|
|
1205
1206
|
<div class="ttc" id="anamespaceSVF_html_ad2b487757f1e1a1d81073120fc1d49c7"><div class="ttname"><a href="namespaceSVF.html#ad2b487757f1e1a1d81073120fc1d49c7">SVF::VFunSet</a></div><div class="ttdeci">Set< const SVFFunction * > VFunSet</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00047">CHG.h:47</a></div></div>
|
|
1206
1207
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_a7ef9982d89a4932883bd58bc49ad9986"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a7ef9982d89a4932883bd58bc49ad9986">SVF::CHGraph::csToClassesMap</a></div><div class="ttdeci">CallSiteToCHNodesMap csToClassesMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00328">CHG.h:328</a></div></div>
|
|
1207
1208
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a917c4bd2d5fd1354b5069bf0a68533d9"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a917c4bd2d5fd1354b5069bf0a68533d9">SVF::cppUtil::isCPPThunkFunction</a></div><div class="ttdeci">bool isCPPThunkFunction(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00318">CppUtil.cpp:318</a></div></div>
|
|
@@ -1209,11 +1210,11 @@ Private Attributes</h2></td></tr>
|
|
|
1209
1210
|
<div class="ttc" id="aSVFType_8h_html_a2c64190a065f342897573a3ef4973adb"><div class="ttname"><a href="SVFType_8h.html#a2c64190a065f342897573a3ef4973adb">DGENERAL</a></div><div class="ttdeci">#define DGENERAL</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00490">SVFType.h:490</a></div></div>
|
|
1210
1211
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_a8c51571df92b5e152cc42e9aaf712dc9"><div class="ttname"><a href="classSVF_1_1CHNode.html#a8c51571df92b5e152cc42e9aaf712dc9">SVF::CHNode::addVirtualFunctionVector</a></div><div class="ttdeci">void addVirtualFunctionVector(FuncVector vfuncvec)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00174">CHG.h:174</a></div></div>
|
|
1211
1212
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_a3867db3e76f068bd8c4399b103dcd0b7"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a3867db3e76f068bd8c4399b103dcd0b7">SVF::CHGraph::addEdge</a></div><div class="ttdeci">void addEdge(const std::string className, const std::string baseClassName, CHEdge::CHEDGETYPE edgeType)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8cpp_source.html#l00072">CHG.cpp:72</a></div></div>
|
|
1212
|
-
<div class="ttc" id="anamespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1213
|
-
<div class="ttc" id="anamespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1213
|
+
<div class="ttc" id="anamespaceSVF_html_a5faee14fa1dd41447bc73ac365fe33c1"><div class="ttname"><a href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">SVF::Function</a></div><div class="ttdeci">llvm::Function Function</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00085">BasicTypes.h:85</a></div></div>
|
|
1214
|
+
<div class="ttc" id="anamespaceSVF_html_a1f4624771922dc8c2447ad7433588c73"><div class="ttname"><a href="namespaceSVF.html#a1f4624771922dc8c2447ad7433588c73">SVF::CallBase</a></div><div class="ttdeci">llvm::CallBase CallBase</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00146">BasicTypes.h:146</a></div></div>
|
|
1214
1215
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_aa72c4509da3bfd2a3c656da38fe36c81"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa72c4509da3bfd2a3c656da38fe36c81">SVF::CHNode::setVTable</a></div><div class="ttdeci">void setVTable(const SVFGlobalValue *vtbl)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00189">CHG.h:189</a></div></div>
|
|
1215
1216
|
<div class="ttc" id="aWPA_2CMakeLists_8txt_html_a5b660868031b6dee85d01fea51ef09a5"><div class="ttname"><a href="WPA_2CMakeLists_8txt.html#a5b660868031b6dee85d01fea51ef09a5">set</a></div><div class="ttdeci">set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) add_llvm_executable(wpa wpa.cpp) target_link_libraries(wpa PUBLIC $</div><div class="ttdef"><b>Definition:</b> <a href="WPA_2CMakeLists_8txt_source.html#l00001">CMakeLists.txt:1</a></div></div>
|
|
1216
|
-
<div class="ttc" id="anamespaceSVF_html_a5ae718cba37d8e34d2946530dc098c8e"><div class="ttname"><a href="namespaceSVF.html#a5ae718cba37d8e34d2946530dc098c8e">SVF::ConstantArray</a></div><div class="ttdeci">llvm::ConstantArray ConstantArray</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1217
|
+
<div class="ttc" id="anamespaceSVF_html_a5ae718cba37d8e34d2946530dc098c8e"><div class="ttname"><a href="namespaceSVF.html#a5ae718cba37d8e34d2946530dc098c8e">SVF::ConstantArray</a></div><div class="ttdeci">llvm::ConstantArray ConstantArray</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00123">BasicTypes.h:123</a></div></div>
|
|
1217
1218
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a65112fa6d1b2bc1c7e9c956ec9b91919"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a65112fa6d1b2bc1c7e9c956ec9b91919">SVF::CHGBuilder::getInstancesAndDescendants</a></div><div class="ttdeci">const CHGraph::CHNodeSetTy & getInstancesAndDescendants(const std::string &className)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00297">CHGBuilder.cpp:297</a></div></div>
|
|
1218
1219
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_aa4af6538c9994ec54a7b82691f846a31"><div class="ttname"><a href="classSVF_1_1CHNode.html#aa4af6538c9994ec54a7b82691f846a31">SVF::CHNode::FuncVector</a></div><div class="ttdeci">std::vector< const SVFFunction * > FuncVector</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00121">CHG.h:121</a></div></div>
|
|
1219
1220
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_ac3e55ef37aefb411ea4c87b1aa3b1895"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ac3e55ef37aefb411ea4c87b1aa3b1895">SVF::GenericNode::getId</a></div><div class="ttdeci">NodeID getId() const</div><div class="ttdoc">Get ID.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00180">GenericGraph.h:180</a></div></div>
|
|
@@ -1222,7 +1223,7 @@ Private Attributes</h2></td></tr>
|
|
|
1222
1223
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a0a8831a5429005ff9d71adbd6bf3994f"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a0a8831a5429005ff9d71adbd6bf3994f">SVF::GenericGraph::addGNode</a></div><div class="ttdeci">void addGNode(NodeID id, NodeType *node)</div><div class="ttdoc">Add a Node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00399">GenericGraph.h:399</a></div></div>
|
|
1223
1224
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a2828eb6b2bd86d6f279967c34da8e7e4"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a2828eb6b2bd86d6f279967c34da8e7e4">SVF::CHGBuilder::analyzeVTables</a></div><div class="ttdeci">void analyzeVTables(const Module &M)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00363">CHGBuilder.cpp:363</a></div></div>
|
|
1224
1225
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a443b021eb2b08b92164515750385b058"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a443b021eb2b08b92164515750385b058">SVF::CHGBuilder::readInheritanceMetadataFromModule</a></div><div class="ttdeci">void readInheritanceMetadataFromModule(const Module &M)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00216">CHGBuilder.cpp:216</a></div></div>
|
|
1225
|
-
<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#
|
|
1226
|
+
<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>
|
|
1226
1227
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_a7beec68a60036c93a741a7152e8198b6"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a7beec68a60036c93a741a7152e8198b6">SVF::CHGraph::getNode</a></div><div class="ttdeci">CHNode * getNode(const std::string name) const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8cpp_source.html#l00087">CHG.cpp:87</a></div></div>
|
|
1227
1228
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_ac08f846413b6aed26a1bf39eb865b006"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ac08f846413b6aed26a1bf39eb865b006">SVF::CHGraph::classNameToDescendantsMap</a></div><div class="ttdeci">NameToCHNodesMap classNameToDescendantsMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00324">CHG.h:324</a></div></div>
|
|
1228
1229
|
<div class="ttc" id="aclassSVF_1_1SVFStat_html_ac9d390c417df6f6af6b274618b87010d"><div class="ttname"><a href="classSVF_1_1SVFStat.html#ac9d390c417df6f6af6b274618b87010d">SVF::SVFStat::getClk</a></div><div class="ttdeci">static double getClk(bool mark=false)</div><div class="ttdef"><b>Definition:</b> <a href="SVFStat_8cpp_source.html#l00047">SVFStat.cpp:47</a></div></div>
|
|
@@ -1235,27 +1236,27 @@ Private Attributes</h2></td></tr>
|
|
|
1235
1236
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_aaec4bdde66e4a7a63ea3f3c6ec0bd045"><div class="ttname"><a href="classSVF_1_1CHGraph.html#aaec4bdde66e4a7a63ea3f3c6ec0bd045">SVF::CHGraph::classNameToInstAndDescsMap</a></div><div class="ttdeci">NameToCHNodesMap classNameToInstAndDescsMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00326">CHG.h:326</a></div></div>
|
|
1236
1237
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a745a2addadc136075d45c7fb8437af3e"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a745a2addadc136075d45c7fb8437af3e">SVF::cppUtil::demangle</a></div><div class="ttdeci">struct DemangledName demangle(const std::string &name)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00195">CppUtil.cpp:195</a></div></div>
|
|
1237
1238
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_ad0f60c720b277c60ed8a8966189bb42b"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ad0f60c720b277c60ed8a8966189bb42b">SVF::CHGraph::CHNodeSetTy</a></div><div class="ttdeci">Set< const CHNode * > CHNodeSetTy</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00222">CHG.h:222</a></div></div>
|
|
1238
|
-
<div class="ttc" id="anamespaceSVF_html_a2b28f48dde0a9a91d251e654ce1f9477"><div class="ttname"><a href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF::ConstantStruct</a></div><div class="ttdeci">llvm::ConstantStruct ConstantStruct</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1239
|
+
<div class="ttc" id="anamespaceSVF_html_a2b28f48dde0a9a91d251e654ce1f9477"><div class="ttname"><a href="namespaceSVF.html#a2b28f48dde0a9a91d251e654ce1f9477">SVF::ConstantStruct</a></div><div class="ttdeci">llvm::ConstantStruct ConstantStruct</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00106">BasicTypes.h:106</a></div></div>
|
|
1239
1240
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
1240
1241
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a1cf2e4671b16b477cc779c72f2419234"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a1cf2e4671b16b477cc779c72f2419234">SVF::cppUtil::getBeforeBrackets</a></div><div class="ttdeci">std::string getBeforeBrackets(const std::string &name)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00127">CppUtil.cpp:127</a></div></div>
|
|
1241
|
-
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_adc1b1f45e7000fa57e3a70ef9e4af853"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#adc1b1f45e7000fa57e3a70ef9e4af853">SVF::CHGBuilder::getCSClasses</a></div><div class="ttdeci">const CHNodeSetTy & getCSClasses(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#
|
|
1242
|
+
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_adc1b1f45e7000fa57e3a70ef9e4af853"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#adc1b1f45e7000fa57e3a70ef9e4af853">SVF::CHGBuilder::getCSClasses</a></div><div class="ttdeci">const CHNodeSetTy & getCSClasses(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00696">CHGBuilder.cpp:696</a></div></div>
|
|
1242
1243
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_ad9f1c51ba6dc279f22aa671f29257a50"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#ad9f1c51ba6dc279f22aa671f29257a50">SVF::CHGBuilder::buildInternalMaps</a></div><div class="ttdeci">void buildInternalMaps()</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00154">CHGBuilder.cpp:154</a></div></div>
|
|
1243
1244
|
<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>
|
|
1244
|
-
<div class="ttc" id="anamespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1245
|
+
<div class="ttc" id="anamespaceSVF_html_ad3d3cec1813411f039211c86236f7adb"><div class="ttname"><a href="namespaceSVF.html#ad3d3cec1813411f039211c86236f7adb">SVF::MDNode</a></div><div class="ttdeci">llvm::MDNode MDNode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00112">BasicTypes.h:112</a></div></div>
|
|
1245
1246
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_ae6d92d48149334b177e9cb8be411b09d"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#ae6d92d48149334b177e9cb8be411b09d">SVF::CHGBuilder::connectInheritEdgeViaCall</a></div><div class="ttdeci">void connectInheritEdgeViaCall(const Function *caller, const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00161">CHGBuilder.cpp:161</a></div></div>
|
|
1246
1247
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_ae613ad20686db0f2159a00cb00ae0a9e"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ae613ad20686db0f2159a00cb00ae0a9e">SVF::CHGraph::classNameToNodeMap</a></div><div class="ttdeci">Map< std::string, CHNode * > classNameToNodeMap</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00323">CHG.h:323</a></div></div>
|
|
1247
|
-
<div class="ttc" id="anamespaceSVF_html_a032e8478a7b6a8bb0b7755c98a7bce91"><div class="ttname"><a href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">SVF::const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1248
|
+
<div class="ttc" id="anamespaceSVF_html_a032e8478a7b6a8bb0b7755c98a7bce91"><div class="ttname"><a href="namespaceSVF.html#a032e8478a7b6a8bb0b7755c98a7bce91">SVF::const_inst_iterator</a></div><div class="ttdeci">llvm::const_inst_iterator const_inst_iterator</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00250">BasicTypes.h:250</a></div></div>
|
|
1248
1249
|
<div class="ttc" id="anamespaceSVF_html_a340a9e77adc2bbfdee79e22da9ead234"><div class="ttname"><a href="namespaceSVF.html#a340a9e77adc2bbfdee79e22da9ead234">SVF::VTableSet</a></div><div class="ttdeci">Set< const SVFGlobalValue * > VTableSet</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00044">CHG.h:44</a></div></div>
|
|
1249
1250
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_ab3471cc9afba5976c7e5fbd07dfb22dc"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#ab3471cc9afba5976c7e5fbd07dfb22dc">SVF::CHGBuilder::chg</a></div><div class="ttdeci">CHGraph * chg</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8h_source.html#l00040">CHGBuilder.h:40</a></div></div>
|
|
1250
1251
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_abac89987927dadd53dd646eae540a024"><div class="ttname"><a href="classSVF_1_1CHNode.html#abac89987927dadd53dd646eae540a024">SVF::CHNode::setPureAbstract</a></div><div class="ttdeci">void setPureAbstract()</div><div class="ttdoc">Attribute.</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00148">CHG.h:148</a></div></div>
|
|
1251
1252
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a8de9a0f0c400240b6cb433b4db3fb3d1"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a8de9a0f0c400240b6cb433b4db3fb3d1">SVF::cppUtil::getClassNameOfThisPtr</a></div><div class="ttdeci">Set< std::string > getClassNameOfThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00536">CppUtil.cpp:536</a></div></div>
|
|
1252
1253
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_aab1dce633f9a03796c208b6fba2bd2b4"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#aab1dce633f9a03796c208b6fba2bd2b4">SVF::cppUtil::isVirtualCallSite</a></div><div class="ttdeci">bool isVirtualCallSite(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00287">CppUtil.cpp:287</a></div></div>
|
|
1253
|
-
<div class="ttc" id="anamespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1254
|
+
<div class="ttc" id="anamespaceSVF_html_aa7a770b5dd5cd0e37d06a1088f252906"><div class="ttname"><a href="namespaceSVF.html#aa7a770b5dd5cd0e37d06a1088f252906">SVF::Module</a></div><div class="ttdeci">llvm::Module Module</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00084">BasicTypes.h:84</a></div></div>
|
|
1254
1255
|
<div class="ttc" id="aclassSVF_1_1CHNode_html"><div class="ttname"><a href="classSVF_1_1CHNode.html">SVF::CHNode</a></div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00108">CHG.h:108</a></div></div>
|
|
1255
1256
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_a29351163649618332394fc72cc35212f"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a29351163649618332394fc72cc35212f">SVF::CHGraph::dump</a></div><div class="ttdeci">void dump(const std::string &filename)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8cpp_source.html#l00218">CHG.cpp:218</a></div></div>
|
|
1256
1257
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_a00343177422c8d84d707432d0c483438"><div class="ttname"><a href="classSVF_1_1CHNode.html#a00343177422c8d84d707432d0c483438">SVF::CHNode::setTemplate</a></div><div class="ttdeci">void setTemplate()</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00156">CHG.h:156</a></div></div>
|
|
1257
|
-
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a87170f2cf98c6094491b8fbafdebec14"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a87170f2cf98c6094491b8fbafdebec14">SVF::CHGBuilder::addFuncToFuncVector</a></div><div class="ttdeci">void addFuncToFuncVector(CHNode::FuncVector &v, const Function *f)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#
|
|
1258
|
-
<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#
|
|
1258
|
+
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a87170f2cf98c6094491b8fbafdebec14"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a87170f2cf98c6094491b8fbafdebec14">SVF::CHGBuilder::addFuncToFuncVector</a></div><div class="ttdeci">void addFuncToFuncVector(CHNode::FuncVector &v, const Function *f)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00734">CHGBuilder.cpp:734</a></div></div>
|
|
1259
|
+
<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>
|
|
1259
1260
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_ae0f374d110eefcfcf4c196c85db6c0d2"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#ae0f374d110eefcfcf4c196c85db6c0d2">SVF::cppUtil::getClassNameFromVtblObj</a></div><div class="ttdeci">std::string getClassNameFromVtblObj(const std::string &vtblName)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00239">CppUtil.cpp:239</a></div></div>
|
|
1260
1261
|
<div class="ttc" id="aclassSVF_1_1GenericNode_html_afc8b5f86d7795b6a0dfc0687d942d79b"><div class="ttname"><a href="classSVF_1_1GenericNode.html#afc8b5f86d7795b6a0dfc0687d942d79b">SVF::GenericNode::getInEdges</a></div><div class="ttdeci">const GEdgeSetTy & getInEdges() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00197">GenericGraph.h:197</a></div></div>
|
|
1261
1262
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_a894a69fa143d3f460d433646a0521b6f"><div class="ttname"><a href="classSVF_1_1CHGraph.html#a894a69fa143d3f460d433646a0521b6f">SVF::CHGraph::getInstances</a></div><div class="ttdeci">const CHNodeSetTy & getInstances(const std::string className)</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00284">CHG.h:284</a></div></div>
|
|
@@ -1266,22 +1267,22 @@ Private Attributes</h2></td></tr>
|
|
|
1266
1267
|
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_a87ad835786fb8fed2a24c122fa839c25"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#a87ad835786fb8fed2a24c122fa839c25">SVF::CHGBuilder::buildCHGEdges</a></div><div class="ttdeci">void buildCHGEdges(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00132">CHGBuilder.cpp:132</a></div></div>
|
|
1267
1268
|
<div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
|
|
1268
1269
|
<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>
|
|
1269
|
-
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_abab6d95945a43fbe4c73ac12550f5d8c"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#abab6d95945a43fbe4c73ac12550f5d8c">SVF::CHGBuilder::buildCSToCHAVtblsAndVfnsMap</a></div><div class="ttdeci">void buildCSToCHAVtblsAndVfnsMap()</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#
|
|
1270
|
-
<div class="ttc" id="anamespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1270
|
+
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_abab6d95945a43fbe4c73ac12550f5d8c"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#abab6d95945a43fbe4c73ac12550f5d8c">SVF::CHGBuilder::buildCSToCHAVtblsAndVfnsMap</a></div><div class="ttdeci">void buildCSToCHAVtblsAndVfnsMap()</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00655">CHGBuilder.cpp:655</a></div></div>
|
|
1271
|
+
<div class="ttc" id="anamespaceSVF_html_a67f3f86344f028cacfbeb08caaf7bb0f"><div class="ttname"><a href="namespaceSVF.html#a67f3f86344f028cacfbeb08caaf7bb0f">SVF::GlobalValue</a></div><div class="ttdeci">llvm::GlobalValue GlobalValue</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00088">BasicTypes.h:88</a></div></div>
|
|
1271
1272
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a4550f2fb815882edfb666ac818792064"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a4550f2fb815882edfb666ac818792064">SVF::SVFUtil::pasMsg</a></div><div class="ttdeci">std::string pasMsg(const std::string &msg)</div><div class="ttdoc">Print each pass/phase message by converting a string into blue string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00099">SVFUtil.cpp:99</a></div></div>
|
|
1272
1273
|
<div class="ttc" id="aclassSVF_1_1CHEdge_html_a26280c3b724551036f7e3ba2b5922676a8721eaefd547d6ba5229463d644815f4"><div class="ttname"><a href="classSVF_1_1CHEdge.html#a26280c3b724551036f7e3ba2b5922676a8721eaefd547d6ba5229463d644815f4">SVF::CHEdge::INSTANTCE</a></div><div class="ttdeci">@ INSTANTCE</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00087">CHG.h:87</a></div></div>
|
|
1273
1274
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a5dfa3f178d4abf37177d0d74ff4c6a97"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a5dfa3f178d4abf37177d0d74ff4c6a97">SVF::GenericGraph::const_iterator</a></div><div class="ttdeci">IDToNodeMapTy::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00360">GenericGraph.h:360</a></div></div>
|
|
1274
|
-
<div class="ttc" id="anamespaceSVF_html_a911dbaab38cb42deb9c195c7f687853d"><div class="ttname"><a href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">SVF::ConstantExpr</a></div><div class="ttdeci">llvm::ConstantExpr ConstantExpr</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1275
|
+
<div class="ttc" id="anamespaceSVF_html_a911dbaab38cb42deb9c195c7f687853d"><div class="ttname"><a href="namespaceSVF.html#a911dbaab38cb42deb9c195c7f687853d">SVF::ConstantExpr</a></div><div class="ttdeci">llvm::ConstantExpr ConstantExpr</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00120">BasicTypes.h:120</a></div></div>
|
|
1275
1276
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_ab2d60bc836482fb98142da6151a91270"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ab2d60bc836482fb98142da6151a91270">SVF::CHGraph::vfID</a></div><div class="ttdeci">u32_t vfID</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00321">CHG.h:321</a></div></div>
|
|
1276
|
-
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_aa677ac2c640ee7fc0dab1d4fe508ead8"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#aa677ac2c640ee7fc0dab1d4fe508ead8">SVF::CHGBuilder::buildVirtualFunctionToIDMap</a></div><div class="ttdeci">void buildVirtualFunctionToIDMap()</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#
|
|
1277
|
+
<div class="ttc" id="aclassSVF_1_1CHGBuilder_html_aa677ac2c640ee7fc0dab1d4fe508ead8"><div class="ttname"><a href="classSVF_1_1CHGBuilder.html#aa677ac2c640ee7fc0dab1d4fe508ead8">SVF::CHGBuilder::buildVirtualFunctionToIDMap</a></div><div class="ttdeci">void buildVirtualFunctionToIDMap()</div><div class="ttdef"><b>Definition:</b> <a href="CHGBuilder_8cpp_source.html#l00556">CHGBuilder.cpp:556</a></div></div>
|
|
1277
1278
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_ac5f5646db24455609cd86c421774dd3e"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ac5f5646db24455609cd86c421774dd3e">SVF::CHGraph::getVFnsFromVtbls</a></div><div class="ttdeci">void getVFnsFromVtbls(CallSite cs, const VTableSet &vtbls, VFunSet &virtualFunctions) override</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8cpp_source.html#l00099">CHG.cpp:99</a></div></div>
|
|
1278
1279
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_a643736d0d9aae502784f736f492201b4"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#a643736d0d9aae502784f736f492201b4">SVF::cppUtil::getVCallThisPtr</a></div><div class="ttdeci">const Value * getVCallThisPtr(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00346">CppUtil.cpp:346</a></div></div>
|
|
1279
1280
|
<div class="ttc" id="aclassSVF_1_1CHNode_html_aff23fda93401c60422a4a5a08d77d749"><div class="ttname"><a href="classSVF_1_1CHNode.html#aff23fda93401c60422a4a5a08d77d749">SVF::CHNode::isTemplate</a></div><div class="ttdeci">bool isTemplate() const</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00168">CHG.h:168</a></div></div>
|
|
1280
1281
|
<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>
|
|
1281
1282
|
<div class="ttc" id="aclassSVF_1_1CHGraph_html_ab5bd2348e4418fcb2f3b18227fccd836"><div class="ttname"><a href="classSVF_1_1CHGraph.html#ab5bd2348e4418fcb2f3b18227fccd836">SVF::CHGraph::buildingCHGTime</a></div><div class="ttdeci">double buildingCHGTime</div><div class="ttdef"><b>Definition:</b> <a href="CHG_8h_source.html#l00322">CHG.h:322</a></div></div>
|
|
1282
|
-
<div class="ttc" id="anamespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata and debug information.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1283
|
+
<div class="ttc" id="anamespaceSVF_html_a3011dbac9102f044ad5f36a4ad3d4a71"><div class="ttname"><a href="namespaceSVF.html#a3011dbac9102f044ad5f36a4ad3d4a71">SVF::NamedMDNode</a></div><div class="ttdeci">llvm::NamedMDNode NamedMDNode</div><div class="ttdoc">LLVM metadata and debug information.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00111">BasicTypes.h:111</a></div></div>
|
|
1283
1284
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_a5a7dc8680a9714e08b01dd339b85bb20"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a5a7dc8680a9714e08b01dd339b85bb20">SVF::LLVMUtil::isCallSite</a></div><div class="ttdeci">bool isCallSite(const Instruction *inst)</div><div class="ttdoc">Whether an instruction is a call or invoke instruction.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00045">LLVMUtil.h:45</a></div></div>
|
|
1284
|
-
<div class="ttc" id="anamespaceSVF_html_a28eec26ec8edaa5e96aecfeb01f6c0d4"><div class="ttname"><a href="namespaceSVF.html#a28eec26ec8edaa5e96aecfeb01f6c0d4">SVF::MDString</a></div><div class="ttdeci">llvm::MDString MDString</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#
|
|
1285
|
+
<div class="ttc" id="anamespaceSVF_html_a28eec26ec8edaa5e96aecfeb01f6c0d4"><div class="ttname"><a href="namespaceSVF.html#a28eec26ec8edaa5e96aecfeb01f6c0d4">SVF::MDString</a></div><div class="ttdeci">llvm::MDString MDString</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00101">BasicTypes.h:101</a></div></div>
|
|
1285
1286
|
<div class="ttc" id="anamespaceSVF_1_1cppUtil_html_af19bec54621f4605bac4feaf9f73803c"><div class="ttname"><a href="namespaceSVF_1_1cppUtil.html#af19bec54621f4605bac4feaf9f73803c">SVF::cppUtil::isDestructor</a></div><div class="ttdeci">bool isDestructor(const Function *F)</div><div class="ttdef"><b>Definition:</b> <a href="CppUtil_8cpp_source.html#l00444">CppUtil.cpp:444</a></div></div>
|
|
1286
1287
|
<div class="ttc" id="aSVFType_8h_html_a263149d980e5c3165dfe8750bfac3223"><div class="ttname"><a href="SVFType_8h.html#a263149d980e5c3165dfe8750bfac3223">DCHA</a></div><div class="ttdeci">#define DCHA</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00506">SVFType.h:506</a></div></div>
|
|
1287
1288
|
<div class="ttc" id="aSVFType_8h_html_a173ce1b9b505fdadf5613b663749d3b0"><div class="ttname"><a href="SVFType_8h.html#a173ce1b9b505fdadf5613b663749d3b0">DBOUT</a></div><div class="ttdeci">#define DBOUT(TYPE, X)</div><div class="ttdoc">LLVM debug macros, define type of your DBUG model of each pass.</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00484">SVFType.h:484</a></div></div>
|