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
|
@@ -27,8 +27,8 @@ var searchData=
|
|
|
27
27
|
['timeofbuildingsymboltable',['timeOfBuildingSymbolTable',['../classSVF_1_1SVFStat.html#ae89293bc063bdc74a988e9c37c70321e',1,'SVF::SVFStat']]],
|
|
28
28
|
['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
|
|
29
29
|
['timeofcreatemuchi',['TimeOfCreateMUCHI',['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()'],['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()']]],
|
|
30
|
-
['timeofgeneratingmemregions',['
|
|
31
|
-
['timeofinsertingphi',['
|
|
30
|
+
['timeofgeneratingmemregions',['timeOfGeneratingMemRegions',['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()']]],
|
|
31
|
+
['timeofinsertingphi',['TimeOfInsertingPHI',['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()'],['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()']]],
|
|
32
32
|
['timeofnormalizegrammar',['timeOfNormalizeGrammar',['../classSVF_1_1CFLBase.html#ad4d65dd4c3e173d014199ac6b08a5261',1,'SVF::CFLBase']]],
|
|
33
33
|
['timeofprocesscopygep',['timeOfProcessCopyGep',['../classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0',1,'SVF::AndersenBase']]],
|
|
34
34
|
['timeofprocessloadstore',['timeOfProcessLoadStore',['../classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf',1,'SVF::AndersenBase']]],
|
|
@@ -25,8 +25,8 @@ var searchData=
|
|
|
25
25
|
['vfnvectors',['vfnVectors',['../classSVF_1_1DCHNode.html#af479bf99a759b5dd68619e24f00bfa10',1,'SVF::DCHNode']]],
|
|
26
26
|
['vfspta',['vfspta',['../classSVF_1_1VersionedFlowSensitive.html#a53b8a881400d7b353133c68295812efb',1,'SVF::VersionedFlowSensitive::vfspta()'],['../classSVF_1_1VersionedFlowSensitiveStat.html#a19bde64f7e0ac99a2a6b49e78aa2e70f',1,'SVF::VersionedFlowSensitiveStat::vfspta()']]],
|
|
27
27
|
['vfunprelabel',['vfunPreLabel',['../CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b',1,'CPPUtil.cpp']]],
|
|
28
|
-
['vgep',['
|
|
29
|
-
['vgepbar',['
|
|
28
|
+
['vgep',['vgep',['../CFLGrammar_8txt.html#a3c0f58fdc2a0351764cef84c2a761477',1,'CFLGrammar.txt']]],
|
|
29
|
+
['vgepbar',['vgepbar',['../CFLGrammar_8txt.html#a5cb31e8d975de240d0e0c173cb7f407f',1,'CFLGrammar.txt']]],
|
|
30
30
|
['vid',['vid',['../classSVF_1_1MRVer.html#a394b8c115d01dcf212d453a93a812aab',1,'SVF::MRVer']]],
|
|
31
31
|
['virtualcallsites',['virtualCallSites',['../classSVF_1_1TypeAnalysis.html#aa7fb5d1cd8e42058120758a990ed471d',1,'SVF::TypeAnalysis']]],
|
|
32
32
|
['virtualfunctiontoidmap',['virtualFunctionToIDMap',['../classSVF_1_1CHGraph.html#a70a2bab82563a910d32a9169030596c0',1,'SVF::CHGraph']]],
|
|
@@ -82,7 +82,7 @@ var searchData=
|
|
|
82
82
|
['context',['context',['../classSVF_1_1ContextCond.html#ac431eae00244cc7792b6e7e00634d535',1,'SVF::ContextCond::context()'],['../classSVF_1_1CxtStmtDPItem.html#a96f1d7c309e3b69af66200e2cfb5a466',1,'SVF::CxtStmtDPItem::context()'],['../classSVF_1_1CxtDPItem.html#ab89e9f588054ad8a99d9af8e756c951b',1,'SVF::CxtDPItem::context()']]],
|
|
83
83
|
['contextdda',['contextDDA',['../classSVF_1_1DDAStat.html#ac3fb8b15c5308c926209a941c7cf62e1',1,'SVF::DDAStat']]],
|
|
84
84
|
['contextinsensitive',['ContextInsensitive',['../classSVF_1_1Options.html#ac3ad7d0cf734e867b91a081aad1faff2',1,'SVF::Options']]],
|
|
85
|
-
['copy',['
|
|
85
|
+
['copy',['copy',['../CFLGrammar_8txt.html#a7669ee67a0563250c1efaa24d130e1ac',1,'copy(): CFLGrammar.txt'],['../cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac',1,'copy(): cJSON.cpp']]],
|
|
86
86
|
['copyinedges',['copyInEdges',['../classSVF_1_1ConstraintNode.html#a4d413d64bf554ecdc72709afeeb85775',1,'SVF::ConstraintNode']]],
|
|
87
87
|
['copyoutedges',['copyOutEdges',['../classSVF_1_1ConstraintNode.html#a12df688fd9b5b7617daadc7bee0fff40',1,'SVF::ConstraintNode']]],
|
|
88
88
|
['copytime',['copyTime',['../classSVF_1_1FlowSensitive.html#a888d6334e5e226c634680e4c0674dcfb',1,'SVF::FlowSensitive']]],
|
|
@@ -21,7 +21,7 @@ var searchData=
|
|
|
21
21
|
['entry',['entry',['../classSVF_1_1CallPE.html#a88e420e259b8d7d34c9850ddde53d372',1,'SVF::CallPE']]],
|
|
22
22
|
['entryfuncset',['entryFuncSet',['../classSVF_1_1TCT.html#a140eaf9440ae9d52dbfb659967aa449a',1,'SVF::TCT']]],
|
|
23
23
|
['entryicfgedges',['entryICFGEdges',['../classSVF_1_1SVFLoop.html#a681d712db88d105c8a2f758de3d7e72e',1,'SVF::SVFLoop']]],
|
|
24
|
-
['epsilon',['epsilon',['../CFLGrammar_8txt.html#a114c2e5cd44b3ea4720e9191ed819f3b',1,'epsilon(): CFLGrammar.txt'],['../VFG_8txt.html#
|
|
24
|
+
['epsilon',['epsilon',['../CFLGrammar_8txt.html#a114c2e5cd44b3ea4720e9191ed819f3b',1,'epsilon(): CFLGrammar.txt'],['../VFG_8txt.html#ac5f2eebeadca57b6dd4a532ba5f01757',1,'epsilon(): VFG.txt']]],
|
|
25
25
|
['epsilonprods',['epsilonProds',['../classSVF_1_1CFLGrammar.html#a4d9770a2b935bcad74ae551389925f74',1,'SVF::CFLGrammar']]],
|
|
26
26
|
['equivalentobject',['equivalentObject',['../classSVF_1_1VersionedFlowSensitive.html#a2d451d89f99a4bff828b682723df477f',1,'SVF::VersionedFlowSensitive']]],
|
|
27
27
|
['evaltime',['EvalTime',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1d98862e19affdd08740f85490d0d856',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
@@ -2,7 +2,7 @@ var searchData=
|
|
|
2
2
|
[
|
|
3
3
|
['f',['F',['../CFLGrammar_8txt.html#a00967427d1c110ffcc82ea2a966f4564',1,'CFLGrammar.txt']]],
|
|
4
4
|
['fastclustertime',['FastClusterTime',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ae78d2b60035350c634f6f58d7a043c22',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
5
|
-
['fbar',['Fbar',['../CFLGrammar_8txt.html#afb129e761aae1ddaa005123832b88cd2',1,'Fbar(): CFLGrammar.txt'],['../PEGGrammar_8txt.html#
|
|
5
|
+
['fbar',['Fbar',['../CFLGrammar_8txt.html#afb129e761aae1ddaa005123832b88cd2',1,'Fbar(): CFLGrammar.txt'],['../PEGGrammar_8txt.html#a1e8b28eb87d57c33c5c45731db639c91',1,'Fbar(): PEGGrammar.txt']]],
|
|
6
6
|
['fieldreps',['fieldReps',['../classSVF_1_1AndersenSFR.html#a99337c429aebe9046c65068b44eff7cc',1,'SVF::AndersenSFR']]],
|
|
7
7
|
['fieldtypes',['fieldTypes',['../classSVF_1_1DCHGraph.html#a574ec14099f1112b394b00a79f3fdf1a',1,'SVF::DCHGraph']]],
|
|
8
8
|
['file',['file',['../classSVF_1_1PAGBuilderFromFile.html#a9ce304b448de65fbde586655dce885a4',1,'SVF::PAGBuilderFromFile']]],
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
var searchData=
|
|
2
2
|
[
|
|
3
3
|
['generalnummap',['generalNumMap',['../classSVF_1_1SVFStat.html#a07b6f8cb424b84b468c4518140fa3a41',1,'SVF::SVFStat']]],
|
|
4
|
-
['gep_5f0',['
|
|
5
|
-
['gep_5f1',['
|
|
6
|
-
['gep_5fi',['
|
|
7
|
-
['gepbar_5f0',['
|
|
8
|
-
['gepbar_5fi',['
|
|
4
|
+
['gep_5f0',['gep_0',['../CFLGrammar_8txt.html#a6ee570f12a515fbe082cd58b4fed1556',1,'gep_0(): CFLGrammar.txt'],['../PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486',1,'gep_0(): PEGGrammar.txt']]],
|
|
5
|
+
['gep_5f1',['gep_1',['../CFLGrammar_8txt.html#aea5ba88546e9986acc645ae45372e621',1,'CFLGrammar.txt']]],
|
|
6
|
+
['gep_5fi',['gep_i',['../CFLGrammar_8txt.html#a717bc437ac0cf29d051c8affc5b865ec',1,'CFLGrammar.txt']]],
|
|
7
|
+
['gepbar_5f0',['gepbar_0',['../CFLGrammar_8txt.html#add91b668073700b532153fd7f8fd4cda',1,'gepbar_0(): CFLGrammar.txt'],['../PEGGrammar_8txt.html#a32ac366bb4f2b6561e1aad6ec61b65d2',1,'gepbar_0(): PEGGrammar.txt']]],
|
|
8
|
+
['gepbar_5fi',['gepbar_i',['../CFLGrammar_8txt.html#a6e01259893f22cb0da6728f279ccd3e7',1,'CFLGrammar.txt']]],
|
|
9
9
|
['gepinedges',['gepInEdges',['../classSVF_1_1ConstraintNode.html#a4d0113f2af3a61892acee1fb21f0b938',1,'SVF::ConstraintNode']]],
|
|
10
10
|
['gepnodenumindex',['gepNodeNumIndex',['../PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40',1,'PAGBuilderFromFile.cpp']]],
|
|
11
11
|
['gepobjvarmap',['GepObjVarMap',['../classSVF_1_1SVFIR.html#a148b51118eeba8117e033fea84b56be8',1,'SVF::SVFIR']]],
|
|
@@ -8,7 +8,7 @@ var searchData=
|
|
|
8
8
|
['icfgnode2svfstmtsmap',['icfgNode2SVFStmtsMap',['../classSVF_1_1SVFIR.html#a86c0c23d854b034d741d9d8891debab7',1,'SVF::SVFIR']]],
|
|
9
9
|
['icfgnodes',['icfgNodes',['../classSVF_1_1SVFLoop.html#a062e4b336b9b8315a9fc1107c9cab840',1,'SVF::SVFLoop']]],
|
|
10
10
|
['icfgnodetosvfloopvec',['icfgNodeToSVFLoopVec',['../classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54',1,'SVF::ICFG']]],
|
|
11
|
-
['id',['
|
|
11
|
+
['id',['id',['../classSVF_1_1GenericNode.html#aaa53457604fe4cf4cb97ca85d33907b0',1,'SVF::GenericNode::id()'],['../classSVF_1_1DDAPass.html#adb39fc24e3d45e558ac36f37b5dc3565',1,'SVF::DDAPass::ID()'],['../classSVF_1_1MTA.html#a5ce0b3247bd412e5267a42be0646471b',1,'SVF::MTA::ID()'],['../classSVF_1_1BreakConstantGEPs.html#a8010c4f5824ed5ebcb7ae283473ada22',1,'SVF::BreakConstantGEPs::ID()'],['../classSVF_1_1MergeFunctionRets.html#a7a763ae6c9d3c72345495f01b0b4b458',1,'SVF::MergeFunctionRets::ID()'],['../classSVF_1_1IteratedDominanceFrontier.html#aaae6f876063759941ac236f17a80cea2',1,'SVF::IteratedDominanceFrontier::ID()'],['../classSVF_1_1WPAPass.html#a2674527c92cdef223e655d449f0811d4',1,'SVF::WPAPass::ID()']]],
|
|
12
12
|
['idcounter',['idCounter',['../classSVF_1_1PersistentPointsToCache.html#ad8d24772f7503e0e735f546506d2bcc5',1,'SVF::PersistentPointsToCache']]],
|
|
13
13
|
['idtocsmap',['idToCSMap',['../classSVF_1_1PTACallGraph.html#a5d6f63baad19589a9fd1e069631e18fa',1,'SVF::PTACallGraph']]],
|
|
14
14
|
['idtonodemap',['IDToNodeMap',['../classSVF_1_1GenericGraph.html#a47a1ef8b67b0c92f78b4457dc3bbfe71',1,'SVF::GenericGraph']]],
|
|
@@ -7,9 +7,9 @@ var searchData=
|
|
|
7
7
|
['llvmfunc2svffunc',['LLVMFunc2SVFFunc',['../classSVF_1_1SVFModule.html#ac96e0c68e0c951acaaa586dd56418335',1,'SVF::SVFModule']]],
|
|
8
8
|
['llvmfunctionset',['LLVMFunctionSet',['../classSVF_1_1SVFModule.html#a7fa23a5c422ffed3634503c3e5b812af',1,'SVF::SVFModule']]],
|
|
9
9
|
['llvmmoduleset',['llvmModuleSet',['../classSVF_1_1LLVMModuleSet.html#ac59b07cafcbacc950eefea4082425b63',1,'SVF::LLVMModuleSet']]],
|
|
10
|
-
['load',['
|
|
10
|
+
['load',['load',['../CFLGrammar_8txt.html#af94ae7efab42c57589a313f6cc7ada63',1,'CFLGrammar.txt']]],
|
|
11
11
|
['load2musetmap',['load2MuSetMap',['../classSVF_1_1MemSSA.html#a5cf94edea3a5c35b3c1d9c6ae4b5f9d6',1,'SVF::MemSSA']]],
|
|
12
|
-
['loadbar',['
|
|
12
|
+
['loadbar',['loadbar',['../CFLGrammar_8txt.html#a2c36e7a55e36ff3a2f5a4c55d4e1cf18',1,'CFLGrammar.txt']]],
|
|
13
13
|
['loadcgedgeset',['LoadCGEdgeSet',['../classSVF_1_1ConstraintGraph.html#a1cb9124b29720e7a5b39d83419f9cc17',1,'SVF::ConstraintGraph']]],
|
|
14
14
|
['loadinedges',['loadInEdges',['../classSVF_1_1ConstraintNode.html#af7343134750575d3f335ed431f13a418',1,'SVF::ConstraintNode']]],
|
|
15
15
|
['loadoutedges',['loadOutEdges',['../classSVF_1_1ConstraintNode.html#a85a6acbd708be0dfc63ea87050a4a934',1,'SVF::ConstraintNode']]],
|
|
@@ -38,7 +38,7 @@ var searchData=
|
|
|
38
38
|
['lookupintersections',['lookupIntersections',['../classSVF_1_1PersistentPointsToCache.html#a15d3235017b35f4a5c668d0b6626faff',1,'SVF::PersistentPointsToCache']]],
|
|
39
39
|
['lookupunions',['lookupUnions',['../classSVF_1_1PersistentPointsToCache.html#ace976f138cf1b8ab6bbf7a5c5d0b60b8',1,'SVF::PersistentPointsToCache']]],
|
|
40
40
|
['loopanalysis',['LoopAnalysis',['../classSVF_1_1Options.html#a420e6656b02fd900430d51b8b4a5c6c1',1,'SVF::Options']]],
|
|
41
|
-
['loopbound',['
|
|
41
|
+
['loopbound',['loopBound',['../classSVF_1_1SVFLoop.html#ac4e2c365e2a08477381802205029b85c',1,'SVF::SVFLoop::loopBound()'],['../classSVF_1_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb',1,'SVF::Options::LoopBound()']]],
|
|
42
42
|
['loopinfobuilder',['loopInfoBuilder',['../classSVF_1_1TCT.html#ae64d6203b41c92d4ca617b8e976b88b2',1,'SVF::TCT']]],
|
|
43
43
|
['lowlink',['lowlink',['../structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2',1,'SVF::VersionedFlowSensitive::SCC::NodeData']]],
|
|
44
44
|
['ls',['ls',['../classSVF_1_1NormalGepCGEdge.html#a7cbcaa28acde49ef0b03a8554a41344b',1,'SVF::NormalGepCGEdge::ls()'],['../classSVF_1_1GepStmt.html#a543a3f4801b22719f7b9677246bf2ac7',1,'SVF::GepStmt::ls()'],['../classSVF_1_1GepValVar.html#a2ee5e9a2e5a92b32fd81fda09b560ad6',1,'SVF::GepValVar::ls()'],['../classSVF_1_1GepObjVar.html#a55b057663180420c6bb09bf849d83f6b',1,'SVF::GepObjVar::ls()']]],
|
|
@@ -33,7 +33,7 @@ var searchData=
|
|
|
33
33
|
['numgtintregions',['NumGtIntRegions',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
34
34
|
['numnodes',['numNodes',['../classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62',1,'SVF::NodeIDAllocator']]],
|
|
35
35
|
['numnontrivialregionobjects',['NumNonTrivialRegionObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
36
|
-
['numobjects',['
|
|
36
|
+
['numobjects',['NumObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()'],['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()']]],
|
|
37
37
|
['numofactualin',['numOfActualIn',['../classSVF_1_1SVFGStat.html#a5365744d2ec3594e2255d274f7256569',1,'SVF::SVFGStat']]],
|
|
38
38
|
['numofactualout',['numOfActualOut',['../classSVF_1_1SVFGStat.html#a122555f5c4b9746cc2b7f38c7cd6b505',1,'SVF::SVFGStat']]],
|
|
39
39
|
['numofactualparam',['numOfActualParam',['../classSVF_1_1SVFGStat.html#a0494c59483520b57acdca95952c93d76',1,'SVF::SVFGStat']]],
|
|
@@ -330,11 +330,11 @@ Public Attributes</h2></td></tr>
|
|
|
330
330
|
</div><div class="memdoc">
|
|
331
331
|
|
|
332
332
|
<p class="definition">Definition at line <a class="el" href="CFLGrammar_8h_source.html#l00080">80</a> of file <a class="el" href="CFLGrammar_8h_source.html">CFLGrammar.h</a>.</p>
|
|
333
|
-
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  this-><a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html#aa60ddaabcb38b277d56b41bc9133ef71">kind</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d">EdgeKindMask</a> & i;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  this-><a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html#a756bed7c50c6d3251cc4832247c8691d">attribute</a> = i >> <a class="code" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  this-><a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html#af26cd32a0c3b88aec053bec17519f942">variableAttribute</a> = i >> <a class="code" href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">AttributedKindMaskBits</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_adc1413dc2e875a6e74bdb5b985cdd39f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">SVF::GrammarBase::EdgeKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char EdgeKindMaskBits</div><div class="ttdoc">We use the lower 8 bits to denote edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
333
|
+
<div class="fragment"><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  {</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  this-><a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html#aa60ddaabcb38b277d56b41bc9133ef71">kind</a> = <a class="code" href="classSVF_1_1GrammarBase.html#a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d">EdgeKindMask</a> & i;</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  this-><a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html#a756bed7c50c6d3251cc4832247c8691d">attribute</a> = i >> <a class="code" href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">EdgeKindMaskBits</a>;</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  this-><a class="code" href="structSVF_1_1GrammarBase_1_1Symbol.html#af26cd32a0c3b88aec053bec17519f942">variableAttribute</a> = i >> <a class="code" href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">AttributedKindMaskBits</a>;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  }</div><div class="ttc" id="classSVF_1_1GrammarBase_html_adc1413dc2e875a6e74bdb5b985cdd39f"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#adc1413dc2e875a6e74bdb5b985cdd39f">SVF::GrammarBase::EdgeKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char EdgeKindMaskBits</div><div class="ttdoc">We use the lower 8 bits to denote edge kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00264">CFLGrammar.h:264</a></div></div>
|
|
334
334
|
<div class="ttc" id="structSVF_1_1GrammarBase_1_1Symbol_html_af26cd32a0c3b88aec053bec17519f942"><div class="ttname"><a href="structSVF_1_1GrammarBase_1_1Symbol.html#af26cd32a0c3b88aec053bec17519f942">SVF::GrammarBase::Symbol::variableAttribute</a></div><div class="ttdeci">VariableAttribute variableAttribute</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00046">CFLGrammar.h:46</a></div></div>
|
|
335
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d">SVF::GrammarBase::EdgeKindMask</a></div><div class="ttdeci">static constexpr u64_t EdgeKindMask</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
335
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a9fd7f7c4dcb4c32bb410f3e0a6f3ad0d">SVF::GrammarBase::EdgeKindMask</a></div><div class="ttdeci">static constexpr u64_t EdgeKindMask</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00266">CFLGrammar.h:266</a></div></div>
|
|
336
336
|
<div class="ttc" id="structSVF_1_1GrammarBase_1_1Symbol_html_a756bed7c50c6d3251cc4832247c8691d"><div class="ttname"><a href="structSVF_1_1GrammarBase_1_1Symbol.html#a756bed7c50c6d3251cc4832247c8691d">SVF::GrammarBase::Symbol::attribute</a></div><div class="ttdeci">Attribute attribute</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00045">CFLGrammar.h:45</a></div></div>
|
|
337
|
-
<div class="ttc" id="classSVF_1_1GrammarBase_html_a2dcb7647b5be7b3ab1dad2c494828854"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">SVF::GrammarBase::AttributedKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char AttributedKindMaskBits</div><div class="ttdoc">We use the lower 24 bits to denote attributed kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#
|
|
337
|
+
<div class="ttc" id="classSVF_1_1GrammarBase_html_a2dcb7647b5be7b3ab1dad2c494828854"><div class="ttname"><a href="classSVF_1_1GrammarBase.html#a2dcb7647b5be7b3ab1dad2c494828854">SVF::GrammarBase::AttributedKindMaskBits</a></div><div class="ttdeci">static constexpr unsigned char AttributedKindMaskBits</div><div class="ttdoc">We use the lower 24 bits to denote attributed kind. </div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00265">CFLGrammar.h:265</a></div></div>
|
|
338
338
|
<div class="ttc" id="structSVF_1_1GrammarBase_1_1Symbol_html_aa60ddaabcb38b277d56b41bc9133ef71"><div class="ttname"><a href="structSVF_1_1GrammarBase_1_1Symbol.html#aa60ddaabcb38b277d56b41bc9133ef71">SVF::GrammarBase::Symbol::kind</a></div><div class="ttdeci">Kind kind</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8h_source.html#l00044">CFLGrammar.h:44</a></div></div>
|
|
339
339
|
</div><!-- fragment -->
|
|
340
340
|
</div>
|
|
@@ -447,8 +447,7 @@ template<unsigned ElementSize = 128> </div>
|
|
|
447
447
|
<p>find_next - Returns the index of the next set bit starting from the "Curr" bit. Returns -1 if the next set bit is not found. </p>
|
|
448
448
|
|
|
449
449
|
<p class="definition">Definition at line <a class="el" href="SparseBitVector_8h_source.html#l00341">341</a> of file <a class="el" href="SparseBitVector_8h_source.html">SparseBitVector.h</a>.</p>
|
|
450
|
-
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">if</span> (Curr >= <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2aeb226b2e0dea78fbdbf5b780c3745f6d">BITS_PER_ELEMENT</a>)</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">unsigned</span> WordPos = Curr / <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">BITWORD_SIZE</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordtype">unsigned</span> BitPos = Curr % <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">BITWORD_SIZE</a>;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="structSVF_1_1SparseBitVectorElement.html#af9014ab5077a2d9c1aed1e9b1460390d">BitWord</a>
|
|
451
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a36f63c7a581bf6d351f835c6127a2519"><div class="ttname"><a href="CFLGrammar_8txt.html#a36f63c7a581bf6d351f835c6127a2519">Copy</a></div><div class="ttdeci">F F Copy</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00007">CFLGrammar.txt:7</a></div></div>
|
|
450
|
+
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="keywordflow">if</span> (Curr >= <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2aeb226b2e0dea78fbdbf5b780c3745f6d">BITS_PER_ELEMENT</a>)</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> </div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordtype">unsigned</span> WordPos = Curr / <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">BITWORD_SIZE</a>;</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordtype">unsigned</span> BitPos = Curr % <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">BITWORD_SIZE</a>;</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="structSVF_1_1SparseBitVectorElement.html#af9014ab5077a2d9c1aed1e9b1460390d">BitWord</a> Copy = <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a4b6a06a3a19f2241cec68e09d4feb526">Bits</a>[WordPos];</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  assert(WordPos <= <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3dde12fdc7052a87d20741d2c31a65a3">BITWORDS_PER_ELEMENT</a></div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  && <span class="stringliteral">"Word Position outside of element"</span>);</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="comment">// Mask off previous bits.</span></div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  Copy &= ~0UL << BitPos;</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span> </div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">if</span> (Copy != 0)</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> WordPos * <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">BITWORD_SIZE</a> + <a class="code" href="namespaceSVF.html#a5cb5811bab8e04773dfa21ad919df461">countTrailingZeros</a>(Copy);</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="comment">// Check subsequent words.</span></div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = WordPos+1; i < <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3dde12fdc7052a87d20741d2c31a65a3">BITWORDS_PER_ELEMENT</a>; ++i)</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">if</span> (<a class="code" href="structSVF_1_1SparseBitVectorElement.html#a4b6a06a3a19f2241cec68e09d4feb526">Bits</a>[i] != 0)</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">return</span> i * <a class="code" href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">BITWORD_SIZE</a> + <a class="code" href="namespaceSVF.html#a5cb5811bab8e04773dfa21ad919df461">countTrailingZeros</a>(<a class="code" href="structSVF_1_1SparseBitVectorElement.html#a4b6a06a3a19f2241cec68e09d4feb526">Bits</a>[i]);</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div><div class="ttc" id="structSVF_1_1SparseBitVectorElement_html_a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4"><div class="ttname"><a href="structSVF_1_1SparseBitVectorElement.html#a88e49a140a08313ab4d664774c4957a2a3335c07a7225c80110e998246f96d6c4">SVF::SparseBitVectorElement::BITWORD_SIZE</a></div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00224">SparseBitVector.h:224</a></div></div>
|
|
452
451
|
<div class="ttc" id="structSVF_1_1SparseBitVectorElement_html_af9014ab5077a2d9c1aed1e9b1460390d"><div class="ttname"><a href="structSVF_1_1SparseBitVectorElement.html#af9014ab5077a2d9c1aed1e9b1460390d">SVF::SparseBitVectorElement::BitWord</a></div><div class="ttdeci">unsigned long BitWord</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00220">SparseBitVector.h:220</a></div></div>
|
|
453
452
|
<div class="ttc" id="namespaceSVF_html_a5cb5811bab8e04773dfa21ad919df461"><div class="ttname"><a href="namespaceSVF.html#a5cb5811bab8e04773dfa21ad919df461">SVF::countTrailingZeros</a></div><div class="ttdeci">unsigned countTrailingZeros(T Val, ZeroBehavior ZB=ZB_Width)</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00077">SparseBitVector.h:77</a></div></div>
|
|
454
453
|
<div class="ttc" id="structSVF_1_1SparseBitVectorElement_html_a4b6a06a3a19f2241cec68e09d4feb526"><div class="ttname"><a href="structSVF_1_1SparseBitVectorElement.html#a4b6a06a3a19f2241cec68e09d4feb526">SVF::SparseBitVectorElement::Bits</a></div><div class="ttdeci">BitWord Bits[BITWORDS_PER_ELEMENT]</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00232">SparseBitVector.h:232</a></div></div>
|
|
@@ -204,17 +204,13 @@ template<class EdgeIter > </div>
|
|
|
204
204
|
</div><div class="memdoc">
|
|
205
205
|
|
|
206
206
|
<p class="definition">Definition at line <a class="el" href="CFLGraph_8cpp_source.html#l00115">115</a> of file <a class="el" href="CFLGraph_8cpp_source.html">CFLGraph.cpp</a>.</p>
|
|
207
|
-
<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>() ==
|
|
208
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a36f63c7a581bf6d351f835c6127a2519"><div class="ttname"><a href="CFLGrammar_8txt.html#a36f63c7a581bf6d351f835c6127a2519">Copy</a></div><div class="ttdeci">F F Copy</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00007">CFLGrammar.txt:7</a></div></div>
|
|
207
|
+
<div class="fragment"><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  {</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="classSVF_1_1CFLEdge.html">CFLEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <a class="code" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a> rawstr(str);</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>() == ConstraintEdge::Addr)</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  {</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  rawstr << <span class="stringliteral">"color=green"</span>;</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>() == ConstraintEdge::Copy)</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  rawstr << <span class="stringliteral">"color=black"</span>;</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#a5d11e42f5571287992362669fee9e159">getEdgeKindWithMask</a>() == ConstraintEdge::NormalGep)</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  rawstr << <span class="stringliteral">"color=purple,label="</span> << <span class="charliteral">'"'</span> << <span class="stringliteral">"Gep_"</span> << edge-><a class="code" href="classSVF_1_1CFLEdge.html#ae4c8562ff6801503de9e3cb0c4ebe2b8">getEdgeAttri</a>() << <span class="charliteral">'"'</span>;</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  }</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#a5d11e42f5571287992362669fee9e159">getEdgeKindWithMask</a>() == ConstraintEdge::VariantGep)</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  rawstr << <span class="stringliteral">"color=purple,label="</span> << <span class="charliteral">'"'</span> << <span class="stringliteral">"VGep"</span> << <span class="charliteral">'"'</span>;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  }</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>() == ConstraintEdge::Store)</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  rawstr << <span class="stringliteral">"color=blue"</span>;</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>() == ConstraintEdge::Load)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  rawstr << <span class="stringliteral">"color=red"</span>;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  }</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">getEdgeKind</a>() == graph-><a class="code" href="classSVF_1_1CFLGraph.html#a685fb852b2cd3767258225aa3b87caa4">getStartKind</a>())</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>  rawstr << <span class="stringliteral">"color=Turquoise"</span>;</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">else</span></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>  rawstr << <span class="stringliteral">"style=invis"</span>;</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">return</span> rawstr.str();</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  }</div><div class="ttc" id="classSVF_1_1CFLEdge_html_ae4c8562ff6801503de9e3cb0c4ebe2b8"><div class="ttname"><a href="classSVF_1_1CFLEdge.html#ae4c8562ff6801503de9e3cb0c4ebe2b8">SVF::CFLEdge::getEdgeAttri</a></div><div class="ttdeci">GEdgeKind getEdgeAttri() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00066">CFLGraph.h:66</a></div></div>
|
|
209
208
|
<div class="ttc" id="classSVF_1_1CFLEdge_html_a5d11e42f5571287992362669fee9e159"><div class="ttname"><a href="classSVF_1_1CFLEdge.html#a5d11e42f5571287992362669fee9e159">SVF::CFLEdge::getEdgeKindWithMask</a></div><div class="ttdeci">GEdgeKind getEdgeKindWithMask() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00061">CFLGraph.h:61</a></div></div>
|
|
210
209
|
<div class="ttc" id="namespaceSVF_html_a726981481ac082dcda3e4921416b65a0"><div class="ttname"><a href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">SVF::raw_string_ostream</a></div><div class="ttdeci">llvm::raw_string_ostream raw_string_ostream</div><div class="ttdoc">LLVM outputs. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00078">BasicTypes.h:78</a></div></div>
|
|
211
210
|
<div class="ttc" id="classSVF_1_1CFLGraph_html_a685fb852b2cd3767258225aa3b87caa4"><div class="ttname"><a href="classSVF_1_1CFLGraph.html#a685fb852b2cd3767258225aa3b87caa4">SVF::CFLGraph::getStartKind</a></div><div class="ttdeci">Kind getStartKind() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8cpp_source.html#l00037">CFLGraph.cpp:37</a></div></div>
|
|
212
211
|
<div class="ttc" id="classSVF_1_1CFLEdge_html_acab367a1633d00afdafadf3f3a43e0c8"><div class="ttname"><a href="classSVF_1_1CFLEdge.html#acab367a1633d00afdafadf3f3a43e0c8">SVF::CFLEdge::getEdgeKind</a></div><div class="ttdeci">GEdgeKind getEdgeKind() const</div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00056">CFLGraph.h:56</a></div></div>
|
|
213
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a4459b9e008c1693c8d592cf0544912f6"><div class="ttname"><a href="CFLGrammar_8txt.html#a4459b9e008c1693c8d592cf0544912f6">Store</a></div><div class="ttdeci">Memflow Load Store</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00030">CFLGrammar.txt:30</a></div></div>
|
|
214
212
|
<div class="ttc" id="classSVF_1_1CFLEdge_html"><div class="ttname"><a href="classSVF_1_1CFLEdge.html">SVF::CFLEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="CFLGraph_8h_source.html#l00047">CFLGraph.h:47</a></div></div>
|
|
215
|
-
<div class="ttc" id="CFLGrammar_8txt_html_af3f0b3f464e928b7fc87347dc041501d"><div class="ttname"><a href="CFLGrammar_8txt.html#af3f0b3f464e928b7fc87347dc041501d">Load</a></div><div class="ttdeci">F F Store V Load</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00009">CFLGrammar.txt:9</a></div></div>
|
|
216
213
|
<div class="ttc" id="cJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
217
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a017fa6c558fa1eff0a13180c8340aba8"><div class="ttname"><a href="CFLGrammar_8txt.html#a017fa6c558fa1eff0a13180c8340aba8">Addr</a></div><div class="ttdeci">V Addrbar Addr</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00017">CFLGrammar.txt:17</a></div></div>
|
|
218
214
|
</div><!-- fragment -->
|
|
219
215
|
</div>
|
|
220
216
|
</div>
|
package/SVF-doxygen/html/html/structllvm_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html
CHANGED
|
@@ -204,12 +204,8 @@ template<class EdgeIter > </div>
|
|
|
204
204
|
</div><div class="memdoc">
|
|
205
205
|
|
|
206
206
|
<p class="definition">Definition at line <a class="el" href="ConsG_8cpp_source.html#l00781">781</a> of file <a class="el" href="ConsG_8cpp_source.html">ConsG.cpp</a>.</p>
|
|
207
|
-
<div class="fragment"><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  {</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() ==
|
|
208
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a36f63c7a581bf6d351f835c6127a2519"><div class="ttname"><a href="CFLGrammar_8txt.html#a36f63c7a581bf6d351f835c6127a2519">Copy</a></div><div class="ttdeci">F F Copy</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00007">CFLGrammar.txt:7</a></div></div>
|
|
209
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a4459b9e008c1693c8d592cf0544912f6"><div class="ttname"><a href="CFLGrammar_8txt.html#a4459b9e008c1693c8d592cf0544912f6">Store</a></div><div class="ttdeci">Memflow Load Store</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00030">CFLGrammar.txt:30</a></div></div>
|
|
207
|
+
<div class="fragment"><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  {</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <a class="code" href="classSVF_1_1ConstraintEdge.html">ConstraintEdge</a>* edge = *(EI.getCurrent());</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  assert(edge && <span class="stringliteral">"No edge found!!"</span>);</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Addr)</div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  {</div><div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=green"</span>;</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  }</div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Copy)</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  {</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=black"</span>;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  }</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::NormalGep</div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span>  || edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::VariantGep)</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  {</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=purple"</span>;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  }</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Store)</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  {</div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=blue"</span>;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  }</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (edge-><a class="code" href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">getEdgeKind</a>() == ConstraintEdge::Load)</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  {</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="keywordflow">return</span> <span class="stringliteral">"color=red"</span>;</div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  }</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  {</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  assert(0 && <span class="stringliteral">"No such kind edge!!"</span>);</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span>  }</div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  }</div><div class="ttc" id="classSVF_1_1GenericEdge_html_abe8525c542def8162b094c169a01993b"><div class="ttname"><a href="classSVF_1_1GenericEdge.html#abe8525c542def8162b094c169a01993b">SVF::GenericEdge::getEdgeKind</a></div><div class="ttdeci">GEdgeKind getEdgeKind() const</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00081">GenericGraph.h:81</a></div></div>
|
|
210
208
|
<div class="ttc" id="classSVF_1_1ConstraintEdge_html"><div class="ttname"><a href="classSVF_1_1ConstraintEdge.html">SVF::ConstraintEdge</a></div><div class="ttdef"><b>Definition:</b> <a href="ConsGEdge_8h_source.html#l00048">ConsGEdge.h:48</a></div></div>
|
|
211
|
-
<div class="ttc" id="CFLGrammar_8txt_html_af3f0b3f464e928b7fc87347dc041501d"><div class="ttname"><a href="CFLGrammar_8txt.html#af3f0b3f464e928b7fc87347dc041501d">Load</a></div><div class="ttdeci">F F Store V Load</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00009">CFLGrammar.txt:9</a></div></div>
|
|
212
|
-
<div class="ttc" id="CFLGrammar_8txt_html_a017fa6c558fa1eff0a13180c8340aba8"><div class="ttname"><a href="CFLGrammar_8txt.html#a017fa6c558fa1eff0a13180c8340aba8">Addr</a></div><div class="ttdeci">V Addrbar Addr</div><div class="ttdef"><b>Definition:</b> <a href="CFLGrammar_8txt_source.html#l00017">CFLGrammar.txt:17</a></div></div>
|
|
213
209
|
</div><!-- fragment -->
|
|
214
210
|
</div>
|
|
215
211
|
</div>
|
|
@@ -338,7 +338,7 @@ template<class EdgeIter > </div>
|
|
|
338
338
|
</div><div class="memdoc">
|
|
339
339
|
|
|
340
340
|
<p class="definition">Definition at line <a class="el" href="PTACallGraph_8cpp_source.html#l00354">354</a> of file <a class="el" href="PTACallGraph_8cpp_source.html">PTACallGraph.cpp</a>.</p>
|
|
341
|
-
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = node-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div><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#
|
|
341
|
+
<div class="fragment"><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  {</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* fun = node-><a class="code" href="classSVF_1_1PTACallGraphNode.html#a959445c97605953fbdebbbd999437a09">getFunction</a>();</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">if</span> (!<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(fun))</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  {</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=box"</span>;</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  }</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">return</span> <span class="stringliteral">"shape=Mrecord"</span>;</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div><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>
|
|
342
342
|
<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>
|
|
343
343
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a22ef185e767ff76c098e75126c885400"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVF::SVFUtil::isExtCall</a></div><div class="ttdeci">bool isExtCall(const SVFFunction *fun)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00346">SVFUtil.h:346</a></div></div>
|
|
344
344
|
</div><!-- fragment -->
|
|
@@ -86,7 +86,7 @@ struct std::hash< SVF::CallSite ></h3>
|
|
|
86
86
|
|
|
87
87
|
<p>Specialise hash for CallSites. </p>
|
|
88
88
|
|
|
89
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
89
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00376">376</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
90
90
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
91
91
|
<a id="a6ed3f621cd155faae27cbd844338409a"></a>
|
|
92
92
|
<h2 class="memtitle"><span class="permalink"><a href="#a6ed3f621cd155faae27cbd844338409a">◆ </a></span>operator()()</h2>
|
|
@@ -112,8 +112,8 @@ struct std::hash< SVF::CallSite ></h3>
|
|
|
112
112
|
</table>
|
|
113
113
|
</div><div class="memdoc">
|
|
114
114
|
|
|
115
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
116
|
-
<div class="fragment"><div class="line"><a name="
|
|
115
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00378">378</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
116
|
+
<div class="fragment"><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  {</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  std::hash<SVF::Instruction *> h;</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">return</span> h(cs.<a class="code" href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">getInstruction</a>());</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="ttc" id="classSVF_1_1CallSite_html_ab36a6a35eea673d4bdca615efc4336b1"><div class="ttname"><a href="classSVF_1_1CallSite.html#ab36a6a35eea673d4bdca615efc4336b1">SVF::CallSite::getInstruction</a></div><div class="ttdeci">CallBase * getInstruction() const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00302">BasicTypes.h:302</a></div></div>
|
|
117
117
|
</div><!-- fragment -->
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
@@ -109,7 +109,7 @@ struct std::hash< SVF::CxtProc ></h3>
|
|
|
109
109
|
</div><div class="memdoc">
|
|
110
110
|
|
|
111
111
|
<p class="definition">Definition at line <a class="el" href="CxtStmt_8h_source.html#l00493">493</a> of file <a class="el" href="CxtStmt_8h_source.html">CxtStmt.h</a>.</p>
|
|
112
|
-
<div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  std::hash<SVF::SVFFunction*> h;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>*<span class="keyword">></span> (cs.<a class="code" href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">getProc</a>());</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div><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#
|
|
112
|
+
<div class="fragment"><div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  {</div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  std::hash<SVF::SVFFunction*> h;</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>* fun = <span class="keyword">const_cast<</span><a class="code" href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a>*<span class="keyword">></span> (cs.<a class="code" href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">getProc</a>());</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">return</span> h(fun);</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div><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>
|
|
113
113
|
<div class="ttc" id="classSVF_1_1CxtProc_html_ab9ac6459c90873b7dea35e0a22700189"><div class="ttname"><a href="classSVF_1_1CxtProc.html#ab9ac6459c90873b7dea35e0a22700189">SVF::CxtProc::getProc</a></div><div class="ttdeci">const SVFFunction * getProc() const</div><div class="ttdoc">Return current procedure. </div><div class="ttdef"><b>Definition:</b> <a href="CxtStmt_8h_source.html#l00325">CxtStmt.h:325</a></div></div>
|
|
114
114
|
</div><!-- fragment -->
|
|
115
115
|
</div>
|
package/include/CFL/CFLAlias.h
CHANGED
|
@@ -107,10 +107,9 @@ public:
|
|
|
107
107
|
if (edge != nullptr )
|
|
108
108
|
{
|
|
109
109
|
return false;
|
|
110
|
-
|
|
111
110
|
}
|
|
112
|
-
CFLGrammar::Kind copyKind = grammar->str2Kind("
|
|
113
|
-
CFLGrammar::Kind copybarKind = grammar->str2Kind("
|
|
111
|
+
CFLGrammar::Kind copyKind = grammar->str2Kind("copy");
|
|
112
|
+
CFLGrammar::Kind copybarKind = grammar->str2Kind("copybar");
|
|
114
113
|
solver->pushIntoWorklist(graph->addCFLEdge(graph->getGNode(src),graph->getGNode(dst), copyKind));
|
|
115
114
|
solver->pushIntoWorklist(graph->addCFLEdge(graph->getGNode(dst),graph->getGNode(src), copybarKind));
|
|
116
115
|
return true;
|
package/include/CFL/CFLGrammar.h
CHANGED
|
@@ -246,6 +246,8 @@ public:
|
|
|
246
246
|
|
|
247
247
|
Symbol insertNonTerminalSymbol(std::string strLit);
|
|
248
248
|
|
|
249
|
+
Symbol insertTerminalSymbol(std::string strLit);
|
|
250
|
+
|
|
249
251
|
void insertAttribute(Kind kind, Attribute a);
|
|
250
252
|
|
|
251
253
|
inline static Kind getAttributedKind(Attribute attribute, Kind kind)
|
|
@@ -1,39 +1,39 @@
|
|
|
1
1
|
Start:
|
|
2
2
|
V
|
|
3
3
|
Terminal:
|
|
4
|
-
|
|
4
|
+
addr copy store load gep vgep
|
|
5
5
|
Productions:
|
|
6
6
|
F -> epsilon;
|
|
7
|
-
F -> F
|
|
8
|
-
F ->
|
|
9
|
-
F -> F
|
|
10
|
-
F ->
|
|
7
|
+
F -> F copy;
|
|
8
|
+
F -> addr Memflow;
|
|
9
|
+
F -> F store V load;
|
|
10
|
+
F -> store Memflow load;
|
|
11
11
|
Fbar -> epsilon;
|
|
12
|
-
Fbar ->
|
|
13
|
-
Fbar -> Memflowbar
|
|
14
|
-
Fbar ->
|
|
15
|
-
Fbar ->
|
|
12
|
+
Fbar -> copybar Fbar;
|
|
13
|
+
Fbar -> Memflowbar addrbar;
|
|
14
|
+
Fbar -> loadbar V storebar Fbar;
|
|
15
|
+
Fbar -> loadbar Memflowbar storebar;
|
|
16
16
|
V -> Fbar V F;
|
|
17
|
-
V ->
|
|
18
|
-
V ->
|
|
19
|
-
V ->
|
|
20
|
-
V ->
|
|
21
|
-
V ->
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Memflow ->
|
|
17
|
+
V -> addrbar addr;
|
|
18
|
+
V -> gepbar_i V gep_i;
|
|
19
|
+
V -> gepbarpath V gep_0;
|
|
20
|
+
V -> gepbar_i F gep_i;
|
|
21
|
+
V -> gepbar_i Fbar gep_i;
|
|
22
|
+
copy -> vgep;
|
|
23
|
+
copybar -> vgepbar;
|
|
24
|
+
gep_1 -> gep_0 F gep_1;
|
|
25
|
+
gepbar_1 -> gepbar_1 Fbar gepbar_0;
|
|
26
|
+
gep_1 -> gep_0 F vgep;
|
|
27
|
+
gepbar_1 -> vgepbar Fbar gepbar_0;
|
|
28
|
+
gepbarpath -> gepbar_0 gepbar_0;
|
|
29
|
+
gepbarpath -> gepbarpath gepbar_0;
|
|
30
|
+
Memflow -> load store;
|
|
31
31
|
Memflow -> Fbar Memflow;
|
|
32
32
|
Memflow -> F Memflow Fbar;
|
|
33
|
-
Memflow ->
|
|
34
|
-
Memflow ->
|
|
35
|
-
Memflowbar ->
|
|
33
|
+
Memflow -> gep_i Memflow gepbar_i;
|
|
34
|
+
Memflow -> gepbar_i Memflow gep_i;
|
|
35
|
+
Memflowbar -> storebar loadbar;
|
|
36
36
|
Memflowbar -> Memflowbar F;
|
|
37
37
|
Memflowbar -> F Memflowbar Fbar;
|
|
38
|
-
Memflowbar ->
|
|
39
|
-
Memflowbar ->
|
|
38
|
+
Memflowbar -> gep_i Memflowbar gepbar_i;
|
|
39
|
+
Memflowbar -> gepbar_i Memflowbar gep_i;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
Start:
|
|
2
2
|
V
|
|
3
3
|
Terminal:
|
|
4
|
-
|
|
4
|
+
addr copy store load gep
|
|
5
5
|
Productions:
|
|
6
|
-
F -> (
|
|
7
|
-
Fbar -> ( M ?
|
|
8
|
-
M ->
|
|
9
|
-
V -> Fbar V F |
|
|
10
|
-
ArrayPath ->
|
|
11
|
-
Memcpy ->
|
|
6
|
+
F -> ( copy M ? ) *;
|
|
7
|
+
Fbar -> ( M ? copybar ) *;
|
|
8
|
+
M -> addr V addrbar;
|
|
9
|
+
V -> Fbar V F | gepbar_i V gep_i | M | epsilon | gepbar_i Memcpy gep_i | gep_i Memcpy gepbar_i | ArrayPath V gep_0;
|
|
10
|
+
ArrayPath -> gepbar_0 gepbar_0 | ArrayPath gepbar_0;
|
|
11
|
+
Memcpy -> addrbar V addr | gep_i Memcpy gepbar_i | F Memcpy Fbar;
|
package/include/CFL/VFG.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Start:
|
|
2
2
|
A
|
|
3
3
|
Terminal:
|
|
4
|
-
a
|
|
4
|
+
a call ret
|
|
5
5
|
Productions:
|
|
6
|
-
A -> A A | a |
|
|
7
|
-
Abar -> Abar Abar | abar |
|
|
6
|
+
A -> A A | a | call_i A ret_i | epsilon;
|
|
7
|
+
Abar -> Abar Abar | abar | retbar_i Abar callbar_i | epsilon;
|
|
@@ -188,6 +188,9 @@ typedef llvm::SCEVConstant SCEVConstant;
|
|
|
188
188
|
typedef llvm::ScalarEvolution ScalarEvolution;
|
|
189
189
|
typedef llvm::SCEV SCEV;
|
|
190
190
|
|
|
191
|
+
/// LLVM outputs
|
|
192
|
+
typedef llvm::raw_fd_ostream raw_fd_ostream;
|
|
193
|
+
|
|
191
194
|
// LLVM Types.
|
|
192
195
|
typedef llvm::VectorType VectorType;
|
|
193
196
|
#if (LLVM_VERSION_MAJOR >= 9)
|