svf-tools 1.0.579 → 1.0.581
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SVF-doxygen/html/html/AndersenPWC_8h_source.html +2 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +9 -6
- package/SVF-doxygen/html/html/Andersen_8h_source.html +6 -3
- package/SVF-doxygen/html/html/Annotator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/BasicTypes_8cpp.html +81 -0
- package/SVF-doxygen/html/html/BasicTypes_8cpp_source.html +91 -0
- package/SVF-doxygen/html/html/CFGNormalizer_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CFGNormalizer_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +5 -5
- package/SVF-doxygen/html/html/CFLBase_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CFLGrammar_8cpp_source.html +12 -11
- package/SVF-doxygen/html/html/CFLGrammar_8h_source.html +49 -48
- package/SVF-doxygen/html/html/CFLGrammar_8txt.html +76 -76
- package/SVF-doxygen/html/html/CFLGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CFLSolver_8cpp_source.html +10 -10
- package/SVF-doxygen/html/html/CFLSolver_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +11 -10
- package/SVF-doxygen/html/html/CHGBuilder_8h_source.html +5 -4
- package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +18 -16
- package/SVF-doxygen/html/html/CPPUtil_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +6 -3
- package/SVF-doxygen/html/html/ConsG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8h_source.html +4 -2
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAVFSolver_8h_source.html +5 -2
- package/SVF-doxygen/html/html/DoubleFreeChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DoubleFreeChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8cpp_source.html +4 -2
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FileChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/FlowDDA_8h_source.html +4 -2
- package/SVF-doxygen/html/html/FlowSensitiveStat_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/FlowSensitive_8cpp_source.html +6 -3
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +5 -2
- package/SVF-doxygen/html/html/GrammarBuilder_8cpp_source.html +1 -2
- package/SVF-doxygen/html/html/Graph2Json_8cpp_source.html +1 -5
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/IRGraph_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +7 -7
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/LeakChecker_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp.html +1 -1
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MHP_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MTAResultValidator_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +5 -3
- package/SVF-doxygen/html/html/MemPartition_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/MemPartition_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +6 -5
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +4 -2
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +10 -8
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +4 -2
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PCG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PEGGrammar_8txt.html +25 -25
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h.html +3 -0
- package/SVF-doxygen/html/html/SVF-FE_2BasicTypes_8h_source.html +3 -2
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +4 -3
- package/SVF-doxygen/html/html/SVFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +18 -17
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +2 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SaberAnnotator_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +3 -2
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +2 -3
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +3 -3
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/TCT_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ThreadCallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h.html +0 -2
- package/SVF-doxygen/html/html/Util_2BasicTypes_8h_source.html +83 -84
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +3 -3
- package/SVF-doxygen/html/html/VFG_8cpp_source.html +6 -4
- package/SVF-doxygen/html/html/VFG_8h_source.html +6 -3
- package/SVF-doxygen/html/html/VFG_8txt.html +5 -5
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8cpp_source.html +4 -2
- package/SVF-doxygen/html/html/VersionedFlowSensitive_8h_source.html +3 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasCFLGraphBuilder.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1Annotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFGNormalizer.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1CFLFIFOWorkList.html +24 -24
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar-members.html +24 -23
- package/SVF-doxygen/html/html/classSVF_1_1CFLGrammar.html +49 -47
- package/SVF-doxygen/html/html/classSVF_1_1CFLSolver.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1CFLVF.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +17 -16
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +36 -36
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConstraintGraph.html +17 -8
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +9 -8
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1DDAPass.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1DDAVFSolver.html +10 -6
- package/SVF-doxygen/html/html/classSVF_1_1DistinctMRG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1FSMPTA.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FlowDDA.html +5 -4
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitive.html +12 -8
- package/SVF-doxygen/html/html/classSVF_1_1FlowSensitiveStat.html +4 -2
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase-members.html +25 -24
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +75 -44
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBuilder.html +1 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1InterDisjointMRG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraDisjointMRG.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +7 -6
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +15 -12
- package/SVF-doxygen/html/html/classSVF_1_1MTA.html +5 -3
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +34 -22
- package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +126 -160
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +11 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +38 -37
- package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +3 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberAnnotator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +3 -2
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFCFLGraphBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1VFG.html +24 -18
- package/SVF-doxygen/html/html/classSVF_1_1VersionedFlowSensitive.html +6 -5
- package/SVF-doxygen/html/html/dir_862d3276083eaac55caed79b9120bf29.html +2 -0
- package/SVF-doxygen/html/html/files.html +14 -13
- package/SVF-doxygen/html/html/functions_d.html +1 -1
- package/SVF-doxygen/html/html/functions_func_d.html +1 -1
- package/SVF-doxygen/html/html/functions_func_g.html +2 -2
- package/SVF-doxygen/html/html/functions_func_i.html +11 -8
- package/SVF-doxygen/html/html/functions_func_p.html +1 -1
- package/SVF-doxygen/html/html/functions_g.html +2 -2
- package/SVF-doxygen/html/html/functions_i.html +16 -13
- package/SVF-doxygen/html/html/functions_l.html +3 -3
- package/SVF-doxygen/html/html/functions_o.html +6 -6
- package/SVF-doxygen/html/html/functions_p.html +7 -3
- package/SVF-doxygen/html/html/functions_r.html +1 -1
- package/SVF-doxygen/html/html/functions_s.html +8 -8
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/globals_a.html +5 -5
- package/SVF-doxygen/html/html/globals_c.html +2 -4
- package/SVF-doxygen/html/html/globals_e.html +1 -1
- package/SVF-doxygen/html/html/globals_f.html +1 -1
- package/SVF-doxygen/html/html/globals_func.html +1 -1
- package/SVF-doxygen/html/html/globals_g.html +12 -12
- package/SVF-doxygen/html/html/globals_l.html +4 -4
- package/SVF-doxygen/html/html/globals_s.html +4 -4
- package/SVF-doxygen/html/html/globals_v.html +4 -4
- package/SVF-doxygen/html/html/globals_vars.html +33 -35
- package/SVF-doxygen/html/html/namespaceSVF.html +26 -23
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +11 -11
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +4 -4
- package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +25 -23
- package/SVF-doxygen/html/html/search/all_1.js +2 -2
- package/SVF-doxygen/html/html/search/all_10.js +6 -6
- package/SVF-doxygen/html/html/search/all_11.js +1 -1
- package/SVF-doxygen/html/html/search/all_12.js +7 -7
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_15.js +4 -4
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_2.js +1 -0
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_4.js +1 -1
- package/SVF-doxygen/html/html/search/all_5.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +1 -1
- package/SVF-doxygen/html/html/search/all_7.js +7 -7
- package/SVF-doxygen/html/html/search/all_9.js +5 -4
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +5 -5
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +2 -2
- package/SVF-doxygen/html/html/search/files_1.js +1 -0
- package/SVF-doxygen/html/html/search/functions_3.js +1 -1
- package/SVF-doxygen/html/html/search/functions_5.js +1 -1
- package/SVF-doxygen/html/html/search/functions_6.js +2 -2
- package/SVF-doxygen/html/html/search/functions_8.js +2 -1
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_1.js +2 -2
- package/SVF-doxygen/html/html/search/variables_12.js +2 -2
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_15.js +2 -2
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- package/SVF-doxygen/html/html/search/variables_5.js +1 -1
- package/SVF-doxygen/html/html/search/variables_6.js +1 -1
- package/SVF-doxygen/html/html/search/variables_7.js +5 -5
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +3 -3
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1GrammarBase_1_1Symbol.html +3 -3
- package/SVF-doxygen/html/html/structSVF_1_1SparseBitVectorElement.html +1 -2
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01CFLGraph_01_5_01_4.html +1 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -5
- package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01PTACallGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +3 -3
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtProc_01_4.html +1 -1
- package/include/CFL/CFLAlias.h +2 -3
- package/include/CFL/CFLGrammar.h +2 -0
- package/include/CFL/CFLGrammar.txt +28 -28
- package/include/CFL/PEGGrammar.txt +7 -7
- package/include/CFL/VFG.txt +3 -3
- package/include/SVF-FE/BasicTypes.h +3 -0
- package/include/Util/BasicTypes.h +8 -101
- package/lib/CFL/CFLGrammar.cpp +33 -1
- package/lib/CFL/GrammarBuilder.cpp +1 -1
- package/lib/Util/BasicTypes.cpp +110 -0
- package/package.json +1 -1
|
@@ -227,7 +227,7 @@ Static Public Member Functions</h2></td></tr>
|
|
|
227
227
|
<tr class="memitem:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *cs)</td></tr>
|
|
228
228
|
<tr class="memdesc:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="mdescLeft"> </td><td class="mdescRight">Compute the unique edgeFlag value from edge kind and call site Instruction. <a href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">More...</a><br /></td></tr>
|
|
229
229
|
<tr class="separator:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
230
|
-
<tr class="memitem:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>
|
|
230
|
+
<tr class="memitem:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
|
|
231
231
|
<tr class="separator:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
232
232
|
<tr class="memitem:ac517a3166a3afe45d04480534ac3bb50 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ac517a3166a3afe45d04480534ac3bb50">classof</a> (const <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *)</td></tr>
|
|
233
233
|
<tr class="memdesc:ac517a3166a3afe45d04480534ac3bb50 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="mdescLeft"> </td><td class="mdescRight">ClassOf. <a href="classSVF_1_1SVFStmt.html#ac517a3166a3afe45d04480534ac3bb50">More...</a><br /></td></tr>
|
|
@@ -538,13 +538,13 @@ Private Attributes</h2></td></tr>
|
|
|
538
538
|
<div class="ttc" id="classSVF_1_1PCG_html_a7531d638b4f8aca4f0a3af82391001d9"><div class="ttname"><a href="classSVF_1_1PCG.html#a7531d638b4f8aca4f0a3af82391001d9">SVF::PCG::isFollowerFun</a></div><div class="ttdeci">bool isFollowerFun(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00083">PCG.h:83</a></div></div>
|
|
539
539
|
<div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
|
|
540
540
|
<div class="ttc" id="classSVF_1_1PCG_html_ae5ee8cf8cfe42854407190f30f3b6c1b"><div class="ttname"><a href="classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b">SVF::PCG::identifyFollowers</a></div><div class="ttdeci">void identifyFollowers()</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00213">PCG.cpp:213</a></div></div>
|
|
541
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
541
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
542
542
|
<div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
|
|
543
543
|
<div class="ttc" id="classSVF_1_1PCG_html_a53e95f74121cd6e35b73f345139f6b00"><div class="ttname"><a href="classSVF_1_1PCG.html#a53e95f74121cd6e35b73f345139f6b00">SVF::PCG::addFollowerFun</a></div><div class="ttdeci">bool addFollowerFun(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00099">PCG.h:99</a></div></div>
|
|
544
544
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html_adf17f5699c9f40ffc8837e813e3af3ec"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">SVF::PTACallGraphNode::const_iterator</a></div><div class="ttdeci">PTACallGraphEdge::CallGraphEdgeSet::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00180">PTACallGraph.h:180</a></div></div>
|
|
545
545
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html_a959445c97605953fbdebbbd999437a09"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">SVF::PTACallGraphNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdoc">Get function of this call node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00193">PTACallGraph.h:193</a></div></div>
|
|
546
546
|
<div class="ttc" id="classSVF_1_1PCG_html_ae9026f717c442198ffa90ff66f482c92"><div class="ttname"><a href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">SVF::PCG::callgraph</a></div><div class="ttdeci">PTACallGraph * callgraph</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00065">PCG.h:65</a></div></div>
|
|
547
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
547
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
|
|
548
548
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
|
|
549
549
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
|
|
550
550
|
<div class="ttc" id="classSVF_1_1PCG_html_ab3a3d18bac6e1f833583d41fa562caea"><div class="ttname"><a href="classSVF_1_1PCG.html#ab3a3d18bac6e1f833583d41fa562caea">SVF::PCG::followers</a></div><div class="ttdeci">FunSet followers</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00063">PCG.h:63</a></div></div>
|
|
@@ -573,7 +573,7 @@ Private Attributes</h2></td></tr>
|
|
|
573
573
|
<div class="fragment"><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> {</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <a class="code" href="classSVF_1_1PCG.html#a19fea9790fffea9861c0dc7817b60a3e">FunWorkList</a> worklist;</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">for</span> (FunSet::iterator it = <a class="code" href="classSVF_1_1PCG.html#a7191718edabfd8ce2df5bfbea683c1fa">spawnees</a>.begin(), eit = <a class="code" href="classSVF_1_1PCG.html#a7191718edabfd8ce2df5bfbea683c1fa">spawnees</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  worklist.push(*it);</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  {</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = worklist.pop();</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = <a class="code" href="classSVF_1_1PCG.html#ac7dd2bbd4274a5e3a6427f3b674f99ba">getSVFFun</a>(fun);</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* funNode = <a class="code" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">callgraph</a>-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(svffun);</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">PTACallGraphNode::const_iterator</a> it = funNode-><a class="code" href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">OutEdgeBegin</a>(), eit = funNode-><a class="code" href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">OutEdgeEnd</a>(); it != eit;</div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  ++it)</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  {</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* caller = (*it)->getDstNode()-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>()-><a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>();</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PCG.html#a4196d5ffc1542288fd7df5daffaca894">isSpawneeFun</a>(caller) == <span class="keyword">false</span>)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  worklist.push(caller);</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classSVF_1_1PCG.html#acc48f65798275f5443b34b84e4bb6eae">addSpawneeFun</a>(caller);</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  }</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  }</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div><div class="ttc" id="classSVF_1_1PCG_html_ac7dd2bbd4274a5e3a6427f3b674f99ba"><div class="ttname"><a href="classSVF_1_1PCG.html#ac7dd2bbd4274a5e3a6427f3b674f99ba">SVF::PCG::getSVFFun</a></div><div class="ttdeci">const SVFFunction * getSVFFun(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00152">PCG.h:152</a></div></div>
|
|
574
574
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
|
|
575
575
|
<div class="ttc" id="classSVF_1_1GenericNode_html_aa4f103330118c8976bf95e4bf53416eb"><div class="ttname"><a href="classSVF_1_1GenericNode.html#aa4f103330118c8976bf95e4bf53416eb">SVF::GenericNode::OutEdgeBegin</a></div><div class="ttdeci">iterator OutEdgeBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00206">GenericGraph.h:206</a></div></div>
|
|
576
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
576
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
577
577
|
<div class="ttc" id="classSVF_1_1PCG_html_a4196d5ffc1542288fd7df5daffaca894"><div class="ttname"><a href="classSVF_1_1PCG.html#a4196d5ffc1542288fd7df5daffaca894">SVF::PCG::isSpawneeFun</a></div><div class="ttdeci">bool isSpawneeFun(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00079">PCG.h:79</a></div></div>
|
|
578
578
|
<div class="ttc" id="classSVF_1_1PCG_html_a7191718edabfd8ce2df5bfbea683c1fa"><div class="ttname"><a href="classSVF_1_1PCG.html#a7191718edabfd8ce2df5bfbea683c1fa">SVF::PCG::spawnees</a></div><div class="ttdeci">FunSet spawnees</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00062">PCG.h:62</a></div></div>
|
|
579
579
|
<div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
|
|
@@ -581,7 +581,7 @@ Private Attributes</h2></td></tr>
|
|
|
581
581
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html_a959445c97605953fbdebbbd999437a09"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">SVF::PTACallGraphNode::getFunction</a></div><div class="ttdeci">const SVFFunction * getFunction() const</div><div class="ttdoc">Get function of this call node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00193">PTACallGraph.h:193</a></div></div>
|
|
582
582
|
<div class="ttc" id="classSVF_1_1PCG_html_acc48f65798275f5443b34b84e4bb6eae"><div class="ttname"><a href="classSVF_1_1PCG.html#acc48f65798275f5443b34b84e4bb6eae">SVF::PCG::addSpawneeFun</a></div><div class="ttdeci">bool addSpawneeFun(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00093">PCG.h:93</a></div></div>
|
|
583
583
|
<div class="ttc" id="classSVF_1_1PCG_html_ae9026f717c442198ffa90ff66f482c92"><div class="ttname"><a href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">SVF::PCG::callgraph</a></div><div class="ttdeci">PTACallGraph * callgraph</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00065">PCG.h:65</a></div></div>
|
|
584
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
584
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
|
|
585
585
|
<div class="ttc" id="classSVF_1_1PTACallGraphNode_html"><div class="ttname"><a href="classSVF_1_1PTACallGraphNode.html">SVF::PTACallGraphNode</a></div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00174">PTACallGraph.h:174</a></div></div>
|
|
586
586
|
<div class="ttc" id="classSVF_1_1GenericNode_html_a19a3366fd8a58290d0c740c46c3dcb3d"><div class="ttname"><a href="classSVF_1_1GenericNode.html#a19a3366fd8a58290d0c740c46c3dcb3d">SVF::GenericNode::OutEdgeEnd</a></div><div class="ttdeci">iterator OutEdgeEnd()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00210">GenericGraph.h:210</a></div></div>
|
|
587
587
|
<div class="ttc" id="classSVF_1_1PCG_html_a19fea9790fffea9861c0dc7817b60a3e"><div class="ttname"><a href="classSVF_1_1PCG.html#a19fea9790fffea9861c0dc7817b60a3e">SVF::PCG::FunWorkList</a></div><div class="ttdeci">FIFOWorkList< const Function * > FunWorkList</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00057">PCG.h:57</a></div></div>
|
|
@@ -610,7 +610,7 @@ Private Attributes</h2></td></tr>
|
|
|
610
610
|
<div class="fragment"><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> {</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="classSVF_1_1PCG.html#a19fea9790fffea9861c0dc7817b60a3e">FunWorkList</a> worklist;</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">for</span> (FunSet::iterator it = <a class="code" href="classSVF_1_1PCG.html#a3f7f0c7aaa768f7e834b4763b18d8223">spawners</a>.begin(), eit = <a class="code" href="classSVF_1_1PCG.html#a3f7f0c7aaa768f7e834b4763b18d8223">spawners</a>.end(); it != eit; ++it)</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  worklist.push(*it);</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun = worklist.pop();</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = <a class="code" href="classSVF_1_1PCG.html#ac7dd2bbd4274a5e3a6427f3b674f99ba">getSVFFun</a>(fun);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="classSVF_1_1PTACallGraphNode.html">PTACallGraphNode</a>* funNode = <a class="code" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">callgraph</a>-><a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(svffun);</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PTACallGraphNode.html#adf17f5699c9f40ffc8837e813e3af3ec">PTACallGraphNode::const_iterator</a> it = funNode-><a class="code" href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">InEdgeBegin</a>(), eit = funNode-><a class="code" href="classSVF_1_1GenericNode.html#afe6a7b286d9af4992f41b59612fd2900">InEdgeEnd</a>(); it != eit;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  ++it)</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  {</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* callEdge = (*it);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* caller = callEdge-><a class="code" href="classSVF_1_1GenericEdge.html#ab47ca533c415841ef75456cbad439589">getSrcNode</a>()->getFunction()->getLLVMFun();</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PCG.html#a13bfb66d3c02157cd3bebad1f829d704">isSpawnerFun</a>(caller) == <span class="keyword">false</span>)</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  {</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  worklist.push(caller);</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <a class="code" href="classSVF_1_1PCG.html#a11c45407138211987e5143d81ccceb95">addSpawnerFun</a>(caller);</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  }</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">for</span> (PTACallGraphEdge::CallInstSet::const_iterator dit = callEdge-><a class="code" href="classSVF_1_1PTACallGraphEdge.html#a750e50a9022451e406c4819979edffa5">directCallsBegin</a>(), deit =</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  callEdge-><a class="code" href="classSVF_1_1PTACallGraphEdge.html#acc4fcacefdc9be9a214dfcc455fe7970">directCallsEnd</a>(); dit != deit; ++dit)</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  {</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="classSVF_1_1PCG.html#a1d946482cce92f7b1718a2a8c178be0b">addSpawnsite</a>((*dit)->getCallSite());</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">for</span> (PTACallGraphEdge::CallInstSet::const_iterator dit = callEdge-><a class="code" href="classSVF_1_1PTACallGraphEdge.html#afbdb582d20ab953b2de1f3efacb74679">indirectCallsBegin</a>(), deit =</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  callEdge-><a class="code" href="classSVF_1_1PTACallGraphEdge.html#a494bc8bacca5ca8d266286f3fb303495">indirectCallsEnd</a>(); dit != deit; ++dit)</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  {</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="classSVF_1_1PCG.html#a1d946482cce92f7b1718a2a8c178be0b">addSpawnsite</a>((*dit)->getCallSite());</div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  }</div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  }</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> }</div><div class="ttc" id="classSVF_1_1PCG_html_ac7dd2bbd4274a5e3a6427f3b674f99ba"><div class="ttname"><a href="classSVF_1_1PCG.html#ac7dd2bbd4274a5e3a6427f3b674f99ba">SVF::PCG::getSVFFun</a></div><div class="ttdeci">const SVFFunction * getSVFFun(const Function *fun) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00152">PCG.h:152</a></div></div>
|
|
611
611
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
|
|
612
612
|
<div class="ttc" id="classSVF_1_1PCG_html_a11c45407138211987e5143d81ccceb95"><div class="ttname"><a href="classSVF_1_1PCG.html#a11c45407138211987e5143d81ccceb95">SVF::PCG::addSpawnerFun</a></div><div class="ttdeci">bool addSpawnerFun(const Function *fun)</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00087">PCG.h:87</a></div></div>
|
|
613
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
613
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
614
614
|
<div class="ttc" id="classSVF_1_1GenericNode_html_ae5b113921530eee6afe58a65d8e5b3a7"><div class="ttname"><a href="classSVF_1_1GenericNode.html#ae5b113921530eee6afe58a65d8e5b3a7">SVF::GenericNode::InEdgeBegin</a></div><div class="ttdeci">iterator InEdgeBegin()</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00214">GenericGraph.h:214</a></div></div>
|
|
615
615
|
<div class="ttc" id="classSVF_1_1PCG_html_a3f7f0c7aaa768f7e834b4763b18d8223"><div class="ttname"><a href="classSVF_1_1PCG.html#a3f7f0c7aaa768f7e834b4763b18d8223">SVF::PCG::spawners</a></div><div class="ttdeci">FunSet spawners</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00061">PCG.h:61</a></div></div>
|
|
616
616
|
<div class="ttc" id="classSVF_1_1PTACallGraphEdge_html_a494bc8bacca5ca8d266286f3fb303495"><div class="ttname"><a href="classSVF_1_1PTACallGraphEdge.html#a494bc8bacca5ca8d266286f3fb303495">SVF::PTACallGraphEdge::indirectCallsEnd</a></div><div class="ttdeci">CallInstSet::const_iterator indirectCallsEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00135">PTACallGraph.h:135</a></div></div>
|
|
@@ -883,7 +883,7 @@ Private Attributes</h2></td></tr>
|
|
|
883
883
|
<div class="fragment"><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> {</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">for</span> (CallInstSet::const_iterator sit = <a class="code" href="classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8">spawnSitesBegin</a>(), esit = <a class="code" href="classSVF_1_1PCG.html#a8dcd94e8f996fdb2197159ea95226817">spawnSitesEnd</a>(); sit != esit; ++sit)</div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst = *sit;</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="classSVF_1_1PCG.html#a05759205f1362b6d72041cf669cf028d">BBWorkList</a> bb_worklist;</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const BasicBlock*></a> visitedBBs;</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  bb_worklist.push(inst->getParent());</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">while</span> (!bb_worklist.empty())</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb = bb_worklist.pop();</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">for</span> (BasicBlock::const_iterator it = bb->begin(), eit = bb->end(); it != eit; ++it)</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  {</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst = &*it;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="comment">// mark the callee of this callsite as follower</span></div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="comment">// if this is an call/invoke instruction but not a spawn site</span></div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="keywordflow">if</span> ((<a class="code" href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVFUtil::isCallSite</a>(inst)) && !<a class="code" href="classSVF_1_1PCG.html#ad7fa3ac0bd5820df718295f66dbf1edc">isSpawnsite</a>(inst))</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  {</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cbn = <a class="code" href="classSVF_1_1PCG.html#a48c51b626e516aa1c0768b57becb6f68">getCallICFGNode</a>(inst);</div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">callgraph</a>-><a class="code" href="classSVF_1_1PTACallGraph.html#af8df9ca6d906453fa3f7168aa84fd087">hasCallGraphEdge</a>(cbn))</div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  {</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">for</span> (PTACallGraph::CallGraphEdgeSet::const_iterator cgIt = <a class="code" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">callgraph</a>-><a class="code" href="classSVF_1_1PTACallGraph.html#a4ed2fd37007de9c873d5e197a0b3bd4e">getCallEdgeBegin</a>(cbn),</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  ecgIt = <a class="code" href="classSVF_1_1PCG.html#ae9026f717c442198ffa90ff66f482c92">callgraph</a>-><a class="code" href="classSVF_1_1PTACallGraph.html#a170a33ac22673dfd363c3e3b96987737">getCallEdgeEnd</a>(cbn); cgIt != ecgIt; ++cgIt)</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  {</div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraphEdge.html">PTACallGraphEdge</a>* edge = *cgIt;</div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <a class="code" href="classSVF_1_1PCG.html#a53e95f74121cd6e35b73f345139f6b00">addFollowerFun</a>(edge-><a class="code" href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">getDstNode</a>()->getFunction()->getLLVMFun());</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  }</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  }</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a> succ_it = succ_begin(bb); succ_it != succ_end(bb); succ_it++)</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  {</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* succ_bb = *succ_it;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">if</span> (visitedBBs.count(succ_bb) == 0)</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  {</div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  visitedBBs.insert(succ_bb);</div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  bb_worklist.push(succ_bb);</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  }</div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  }</div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a2e08ce822223842fa6a73fd659b1a526"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a2e08ce822223842fa6a73fd659b1a526">SVF::SVFUtil::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="SVFUtil_8h_source.html#l00196">SVFUtil.h:196</a></div></div>
|
|
884
884
|
<div class="ttc" id="namespaceSVF_html_a23bf614858f168b6ad76e0233cec9965"><div class="ttname"><a href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">SVF::BasicBlock</a></div><div class="ttdeci">llvm::BasicBlock BasicBlock</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00070">BasicTypes.h:70</a></div></div>
|
|
885
885
|
<div class="ttc" id="classSVF_1_1PCG_html_a2a7319200ec2ec07e8b7976b4a876da8"><div class="ttname"><a href="classSVF_1_1PCG.html#a2a7319200ec2ec07e8b7976b4a876da8">SVF::PCG::spawnSitesBegin</a></div><div class="ttdeci">CallInstSet::const_iterator spawnSitesBegin() const</div><div class="ttdoc">Spawn sites iterators. </div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00120">PCG.h:120</a></div></div>
|
|
886
|
-
<div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
886
|
+
<div class="ttc" id="namespaceSVF_html_a3436a988bf80c021cd8022fb445b66d5"><div class="ttname"><a href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">SVF::succ_const_iterator</a></div><div class="ttdeci">llvm::succ_const_iterator succ_const_iterator</div><div class="ttdoc">LLVM Iterators. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00106">BasicTypes.h:106</a></div></div>
|
|
887
887
|
<div class="ttc" id="classSVF_1_1PCG_html_a8dcd94e8f996fdb2197159ea95226817"><div class="ttname"><a href="classSVF_1_1PCG.html#a8dcd94e8f996fdb2197159ea95226817">SVF::PCG::spawnSitesEnd</a></div><div class="ttdeci">CallInstSet::const_iterator spawnSitesEnd() const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00124">PCG.h:124</a></div></div>
|
|
888
888
|
<div class="ttc" id="classSVF_1_1GenericEdge_html_aeaa31a2c8479e831b36ce2e2582ceb86"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#aeaa31a2c8479e831b36ce2e2582ceb86">SVF::GenericEdge::getDstNode</a></div><div class="ttdeci">NodeType * getDstNode() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00093">GenericGraph.h:93</a></div></div>
|
|
889
889
|
<div class="ttc" id="namespaceSVF_html_af739db846e47ba6b2fd15eaad31ab7fb"><div class="ttname"><a href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">SVF::Set</a></div><div class="ttdeci">std::unordered_set< Key, Hash, KeyEqual, Allocator > Set</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00105">SVFBasicTypes.h:105</a></div></div>
|
|
@@ -988,12 +988,12 @@ Private Attributes</h2></td></tr>
|
|
|
988
988
|
<p class="definition">Definition at line <a class="el" href="PCG_8cpp_source.html#l00300">300</a> of file <a class="el" href="PCG_8cpp_source.html">PCG.cpp</a>.</p>
|
|
989
989
|
<div class="fragment"><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> {</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="comment">// DBOUT(DMTA, outs() << pasMsg("Starting Race Detection\n"));</span></div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1PCG.html#aca2efdefda1f95a6450eca4a781cbefa">PCG::FunVec</a> worklist;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVFModule::const_iterator</a> <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a> = <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>-><a class="code" href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">begin</a>(), E = <a class="code" href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">mod</a>-><a class="code" href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">end</a>(); <a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a> != E; ++<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>)</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = *<a class="code" href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a>;</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">isExtCall</a>(fun))</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  worklist.push_back(fun-><a class="code" href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">getLLVMFun</a>());</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keywordflow">while</span> (!worklist.empty())</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun1 = worklist.back();</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  worklist.pop_back();</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> </div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="keywordtype">bool</span> ismhpfun = <span class="keyword">false</span>;</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">for</span> (PCG::FunVec::iterator it = worklist.begin(), eit = worklist.end(); it != eit; ++it)</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  {</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a5faee14fa1dd41447bc73ac365fe33c1">Function</a>* fun2 = *it;</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PCG.html#a4cab54d7273424c8b26376d8daf15e06">mayHappenInParallelBetweenFunctions</a>(fun1, fun2))</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  {</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  ismhpfun = <span class="keyword">true</span>;</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>.insert(fun2);</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  }</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">if</span> (ismhpfun)</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  {</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">mhpfuns</a>.insert(fun1);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  }</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div><div class="ttc" id="classSVF_1_1PCG_html_a4cab54d7273424c8b26376d8daf15e06"><div class="ttname"><a href="classSVF_1_1PCG.html#a4cab54d7273424c8b26376d8daf15e06">SVF::PCG::mayHappenInParallelBetweenFunctions</a></div><div class="ttdeci">bool mayHappenInParallelBetweenFunctions(const Function *fun1, const Function *fun2) const</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8cpp_source.html#l00064">PCG.cpp:64</a></div></div>
|
|
990
990
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a5486697889c6cca4f9f426650defc255"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a5486697889c6cca4f9f426650defc255">SVF::SVFModule::begin</a></div><div class="ttdeci">iterator begin()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00156">SVFModule.h:156</a></div></div>
|
|
991
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
991
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
992
992
|
<div class="ttc" id="classSVF_1_1PCG_html_a985b0c790c582d15e6242950ac66f574"><div class="ttname"><a href="classSVF_1_1PCG.html#a985b0c790c582d15e6242950ac66f574">SVF::PCG::mod</a></div><div class="ttdeci">SVFModule * mod</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00066">PCG.h:66</a></div></div>
|
|
993
993
|
<div class="ttc" id="classSVF_1_1PCG_html_a96f91b051a8035b614e015bf4d5081e0"><div class="ttname"><a href="classSVF_1_1PCG.html#a96f91b051a8035b614e015bf4d5081e0">SVF::PCG::mhpfuns</a></div><div class="ttdeci">FunSet mhpfuns</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00064">PCG.h:64</a></div></div>
|
|
994
994
|
<div class="ttc" id="namespaceSVF_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="Util_2BasicTypes_8h_source.html#l00069">BasicTypes.h:69</a></div></div>
|
|
995
995
|
<div class="ttc" id="classSVF_1_1PCG_html_aca2efdefda1f95a6450eca4a781cbefa"><div class="ttname"><a href="classSVF_1_1PCG.html#aca2efdefda1f95a6450eca4a781cbefa">SVF::PCG::FunVec</a></div><div class="ttdeci">std::vector< const Function * > FunVec</div><div class="ttdef"><b>Definition:</b> <a href="PCG_8h_source.html#l00055">PCG.h:55</a></div></div>
|
|
996
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
996
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html_ac4ae917ae35ac6fca652fe2dd90a8ac2"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#ac4ae917ae35ac6fca652fe2dd90a8ac2">SVF::SVFFunction::getLLVMFun</a></div><div class="ttdeci">Function * getLLVMFun() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00140">BasicTypes.h:140</a></div></div>
|
|
997
997
|
<div class="ttc" id="CFLGrammar_8txt_html_a00967427d1c110ffcc82ea2a966f4564"><div class="ttname"><a href="CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564">F</a></div><div class="ttdeci">V Fbar V F</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00016">CFLGrammar.txt:16</a></div></div>
|
|
998
998
|
<div class="ttc" id="classSVF_1_1SVFModule_html_a58d03edb6ff85f4943135478f113df31"><div class="ttname"><a href="classSVF_1_1SVFModule.html#a58d03edb6ff85f4943135478f113df31">SVF::SVFModule::end</a></div><div class="ttdeci">iterator end()</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00164">SVFModule.h:164</a></div></div>
|
|
999
999
|
<div class="ttc" id="classSVF_1_1SVFModule_html_afcf2978f32e15127fb093405dc17d7f1"><div class="ttname"><a href="classSVF_1_1SVFModule.html#afcf2978f32e15127fb093405dc17d7f1">SVF::SVFModule::const_iterator</a></div><div class="ttdeci">FunctionSetType::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> <a href="SVFModule_8h_source.html#l00052">SVFModule.h:52</a></div></div>
|
|
@@ -1688,7 +1688,7 @@ Additional Inherited Members</h2></td></tr>
|
|
|
1688
1688
|
<p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00265">265</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
|
|
1689
1689
|
<div class="fragment"><div class="line"><a name="l00266"></a><span class="lineno"> 266</span> {</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  CallEdgeMap::const_iterator it = <a class="code" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a>.begin();</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  CallEdgeMap::const_iterator eit = <a class="code" href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">indirectCallMap</a>.end();</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">for</span> (; it != eit; ++it)</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  {</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">FunctionSet</a>& targets = it->second;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">if</span> (targets.empty() == <span class="keyword">false</span>)</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  {</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* cs = it->first;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* func = cs-><a class="code" href="classSVF_1_1CallICFGNode.html#a18f4077d42b23c3fed35efc793b6102e">getCaller</a>();</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">getCallGraphNode</a>(func)->isReachableFromProgEntry() == <span class="keyword">false</span>)</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">writeWrnMsg</a>(func-><a class="code" href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">getName</a>() + <span class="stringliteral">" has indirect call site but not reachable from main"</span>);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  }</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div><div class="ttc" id="classSVF_1_1PTACallGraph_html_aaab54c670518d9d6790707f76ea76aa1"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#aaab54c670518d9d6790707f76ea76aa1">SVF::PTACallGraph::getCallGraphNode</a></div><div class="ttdeci">PTACallGraphNode * getCallGraphNode(NodeID id) const</div><div class="ttdoc">Get call graph node. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00315">PTACallGraph.h:315</a></div></div>
|
|
1690
1690
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_a5f5a5ec7e707a21994d301cc07d32a5a"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#a5f5a5ec7e707a21994d301cc07d32a5a">SVF::PTACallGraph::FunctionSet</a></div><div class="ttdeci">Set< const SVFFunction * > FunctionSet</div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00228">PTACallGraph.h:228</a></div></div>
|
|
1691
|
-
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
1691
|
+
<div class="ttc" id="classSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00114">BasicTypes.h:114</a></div></div>
|
|
1692
1692
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a077caa1b10ab84d101d79fc7ea50db2d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a077caa1b10ab84d101d79fc7ea50db2d">SVF::SVFUtil::writeWrnMsg</a></div><div class="ttdeci">void writeWrnMsg(std::string msg)</div><div class="ttdoc">Writes a message run through wrnMsg. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00067">SVFUtil.cpp:67</a></div></div>
|
|
1693
1693
|
<div class="ttc" id="classSVF_1_1PTACallGraph_html_adcae44bd6788954e2e4e007bff03462c"><div class="ttname"><a href="classSVF_1_1PTACallGraph.html#adcae44bd6788954e2e4e007bff03462c">SVF::PTACallGraph::indirectCallMap</a></div><div class="ttdeci">CallEdgeMap indirectCallMap</div><div class="ttdoc">Indirect call map. </div><div class="ttdef"><b>Definition:</b> <a href="PTACallGraph_8h_source.html#l00242">PTACallGraph.h:242</a></div></div>
|
|
1694
1694
|
<div class="ttc" id="classSVF_1_1SVFValue_html_a2409c01221b9a6632655cee43d1b35e4"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2409c01221b9a6632655cee43d1b35e4">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00253">SVFBasicTypes.h:253</a></div></div>
|
|
@@ -247,7 +247,7 @@ Static Public Member Functions</h2></td></tr>
|
|
|
247
247
|
<tr class="memitem:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">makeEdgeFlagWithCallInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *cs)</td></tr>
|
|
248
248
|
<tr class="memdesc:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="mdescLeft"> </td><td class="mdescRight">Compute the unique edgeFlag value from edge kind and call site Instruction. <a href="classSVF_1_1SVFStmt.html#a4513c6e66b46c36219ba6d7403f3eb00">More...</a><br /></td></tr>
|
|
249
249
|
<tr class="separator:a4513c6e66b46c36219ba6d7403f3eb00 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
250
|
-
<tr class="memitem:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a>
|
|
250
|
+
<tr class="memitem:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classSVF_1_1GenericEdge.html#aab8892b73370c32b48621cd1d0cce614">GEdgeFlag</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ad61722f886afaaee722ac55a4eed4d18">makeEdgeFlagWithStoreInst</a> (<a class="el" href="classSVF_1_1GenericEdge.html#a5aceeb48929f54264807b36569019a8a">GEdgeKind</a> k, const <a class="el" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *<a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">store</a>)</td></tr>
|
|
251
251
|
<tr class="separator:ad61722f886afaaee722ac55a4eed4d18 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memSeparator" colspan="2"> </td></tr>
|
|
252
252
|
<tr class="memitem:ac517a3166a3afe45d04480534ac3bb50 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="memItemLeft" align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFStmt.html#ac517a3166a3afe45d04480534ac3bb50">classof</a> (const <a class="el" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *)</td></tr>
|
|
253
253
|
<tr class="memdesc:ac517a3166a3afe45d04480534ac3bb50 inherit pub_static_methods_classSVF_1_1SVFStmt"><td class="mdescLeft"> </td><td class="mdescRight">ClassOf. <a href="classSVF_1_1SVFStmt.html#ac517a3166a3afe45d04480534ac3bb50">More...</a><br /></td></tr>
|