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
|
@@ -77,12 +77,12 @@ $(function() {
|
|
|
77
77
|
<li>a
|
|
78
78
|
: <a class="el" href="cJSON_8cpp.html#a8a1a0a26c50cc4becfc754bb68d1dc6b">cJSON.cpp</a>
|
|
79
79
|
</li>
|
|
80
|
-
<li>
|
|
81
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
80
|
+
<li>addr
|
|
81
|
+
: <a class="el" href="CFLGrammar_8txt.html#aae7baac9bf1fe49869f5ab76e07bfd05">CFLGrammar.txt</a>
|
|
82
82
|
</li>
|
|
83
|
-
<li>
|
|
84
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
85
|
-
, <a class="el" href="PEGGrammar_8txt.html#
|
|
83
|
+
<li>addrbar
|
|
84
|
+
: <a class="el" href="CFLGrammar_8txt.html#aaaa1a1b432fa23f6a02aab2fbd2ef7f5">CFLGrammar.txt</a>
|
|
85
|
+
, <a class="el" href="PEGGrammar_8txt.html#ac0ba65b20304c39926bf018842207e87">PEGGrammar.txt</a>
|
|
86
86
|
</li>
|
|
87
87
|
<li>after_inserted
|
|
88
88
|
: <a class="el" href="cJSON_8cpp.html#a38b1dcebd0d04ad6f2ee1872ec39d53d">cJSON.cpp</a>
|
|
@@ -123,11 +123,9 @@ $(function() {
|
|
|
123
123
|
<li>content
|
|
124
124
|
: <a class="el" href="cJSON_8cpp.html#a7886d4c98c027896a652ad0ada741709">cJSON.cpp</a>
|
|
125
125
|
</li>
|
|
126
|
-
<li>Copy
|
|
127
|
-
: <a class="el" href="CFLGrammar_8txt.html#a36f63c7a581bf6d351f835c6127a2519">CFLGrammar.txt</a>
|
|
128
|
-
</li>
|
|
129
126
|
<li>copy
|
|
130
|
-
: <a class="el" href="
|
|
127
|
+
: <a class="el" href="CFLGrammar_8txt.html#a7669ee67a0563250c1efaa24d130e1ac">CFLGrammar.txt</a>
|
|
128
|
+
, <a class="el" href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">cJSON.cpp</a>
|
|
131
129
|
</li>
|
|
132
130
|
<li>count
|
|
133
131
|
: <a class="el" href="cJSON_8h.html#ad43c3812e6d13e0518d9f8b8f463ffcf">cJSON.h</a>
|
|
@@ -146,7 +144,7 @@ $(function() {
|
|
|
146
144
|
</li>
|
|
147
145
|
<li>epsilon
|
|
148
146
|
: <a class="el" href="CFLGrammar_8txt.html#a114c2e5cd44b3ea4720e9191ed819f3b">CFLGrammar.txt</a>
|
|
149
|
-
, <a class="el" href="VFG_8txt.html#
|
|
147
|
+
, <a class="el" href="VFG_8txt.html#ac5f2eebeadca57b6dd4a532ba5f01757">VFG.txt</a>
|
|
150
148
|
</li>
|
|
151
149
|
</ul>
|
|
152
150
|
|
|
@@ -157,7 +155,7 @@ $(function() {
|
|
|
157
155
|
</li>
|
|
158
156
|
<li>Fbar
|
|
159
157
|
: <a class="el" href="CFLGrammar_8txt.html#afb129e761aae1ddaa005123832b88cd2">CFLGrammar.txt</a>
|
|
160
|
-
, <a class="el" href="PEGGrammar_8txt.html#
|
|
158
|
+
, <a class="el" href="PEGGrammar_8txt.html#a1e8b28eb87d57c33c5c45731db639c91">PEGGrammar.txt</a>
|
|
161
159
|
</li>
|
|
162
160
|
<li>fmt
|
|
163
161
|
: <a class="el" href="cJSON_8h.html#aa813b2b7bde1a5a1f528cd9d9aa9ee7d">cJSON.h</a>
|
|
@@ -171,22 +169,22 @@ $(function() {
|
|
|
171
169
|
|
|
172
170
|
|
|
173
171
|
<h3><a id="index_g"></a>- g -</h3><ul>
|
|
174
|
-
<li>
|
|
175
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
176
|
-
, <a class="el" href="PEGGrammar_8txt.html#
|
|
172
|
+
<li>gep_0
|
|
173
|
+
: <a class="el" href="CFLGrammar_8txt.html#a6ee570f12a515fbe082cd58b4fed1556">CFLGrammar.txt</a>
|
|
174
|
+
, <a class="el" href="PEGGrammar_8txt.html#a4c44ba149afa8531399b34ff202e7486">PEGGrammar.txt</a>
|
|
177
175
|
</li>
|
|
178
|
-
<li>
|
|
179
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
176
|
+
<li>gep_1
|
|
177
|
+
: <a class="el" href="CFLGrammar_8txt.html#aea5ba88546e9986acc645ae45372e621">CFLGrammar.txt</a>
|
|
180
178
|
</li>
|
|
181
|
-
<li>
|
|
182
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
179
|
+
<li>gep_i
|
|
180
|
+
: <a class="el" href="CFLGrammar_8txt.html#a717bc437ac0cf29d051c8affc5b865ec">CFLGrammar.txt</a>
|
|
183
181
|
</li>
|
|
184
|
-
<li>
|
|
185
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
186
|
-
, <a class="el" href="PEGGrammar_8txt.html#
|
|
182
|
+
<li>gepbar_0
|
|
183
|
+
: <a class="el" href="CFLGrammar_8txt.html#add91b668073700b532153fd7f8fd4cda">CFLGrammar.txt</a>
|
|
184
|
+
, <a class="el" href="PEGGrammar_8txt.html#a32ac366bb4f2b6561e1aad6ec61b65d2">PEGGrammar.txt</a>
|
|
187
185
|
</li>
|
|
188
|
-
<li>
|
|
189
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
186
|
+
<li>gepbar_i
|
|
187
|
+
: <a class="el" href="CFLGrammar_8txt.html#a6e01259893f22cb0da6728f279ccd3e7">CFLGrammar.txt</a>
|
|
190
188
|
</li>
|
|
191
189
|
<li>gepNodeNumIndex
|
|
192
190
|
: <a class="el" href="PAGBuilderFromFile_8cpp.html#a1af3947dbaf1ad4364bc4818f70ead40">PAGBuilderFromFile.cpp</a>
|
|
@@ -244,11 +242,11 @@ $(function() {
|
|
|
244
242
|
: <a class="el" href="cJSON_8h.html#a9f237f17f4e79d5b89149e09152edabe">cJSON.h</a>
|
|
245
243
|
, <a class="el" href="cJSON_8cpp.html#a9f237f17f4e79d5b89149e09152edabe">cJSON.cpp</a>
|
|
246
244
|
</li>
|
|
247
|
-
<li>
|
|
248
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
245
|
+
<li>load
|
|
246
|
+
: <a class="el" href="CFLGrammar_8txt.html#af94ae7efab42c57589a313f6cc7ada63">CFLGrammar.txt</a>
|
|
249
247
|
</li>
|
|
250
|
-
<li>
|
|
251
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
248
|
+
<li>loadbar
|
|
249
|
+
: <a class="el" href="CFLGrammar_8txt.html#a2c36e7a55e36ff3a2f5a4c55d4e1cf18">CFLGrammar.txt</a>
|
|
252
250
|
</li>
|
|
253
251
|
</ul>
|
|
254
252
|
|
|
@@ -346,11 +344,11 @@ $(function() {
|
|
|
346
344
|
|
|
347
345
|
|
|
348
346
|
<h3><a id="index_s"></a>- s -</h3><ul>
|
|
349
|
-
<li>
|
|
350
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
347
|
+
<li>store
|
|
348
|
+
: <a class="el" href="CFLGrammar_8txt.html#a92d5a256d74eadeb5bfa131b84067f0d">CFLGrammar.txt</a>
|
|
351
349
|
</li>
|
|
352
|
-
<li>
|
|
353
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
350
|
+
<li>storebar
|
|
351
|
+
: <a class="el" href="CFLGrammar_8txt.html#a48eaeeebe78c32844d92122831012be2">CFLGrammar.txt</a>
|
|
354
352
|
</li>
|
|
355
353
|
<li>string
|
|
356
354
|
: <a class="el" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">cJSON.h</a>
|
|
@@ -386,11 +384,11 @@ $(function() {
|
|
|
386
384
|
<li>vfunPreLabel
|
|
387
385
|
: <a class="el" href="CPPUtil_8cpp.html#a74958d1db4b08e58aee58557d386c24b">CPPUtil.cpp</a>
|
|
388
386
|
</li>
|
|
389
|
-
<li>
|
|
390
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
387
|
+
<li>vgep
|
|
388
|
+
: <a class="el" href="CFLGrammar_8txt.html#a3c0f58fdc2a0351764cef84c2a761477">CFLGrammar.txt</a>
|
|
391
389
|
</li>
|
|
392
|
-
<li>
|
|
393
|
-
: <a class="el" href="CFLGrammar_8txt.html#
|
|
390
|
+
<li>vgepbar
|
|
391
|
+
: <a class="el" href="CFLGrammar_8txt.html#a5cb31e8d975de240d0e0c173cb7f407f">CFLGrammar.txt</a>
|
|
394
392
|
</li>
|
|
395
393
|
<li>vtblLabelAfterDemangle
|
|
396
394
|
: <a class="el" href="CPPUtil_8cpp.html#ac43d67cde6cc257e442b3ac2ae8fb3f9">CPPUtil.cpp</a>
|
|
@@ -952,6 +952,9 @@ Typedefs</h2></td></tr>
|
|
|
952
952
|
<tr class="separator:ad8794eb3c00de3d3b5c5e43dded3fb42"><td class="memSeparator" colspan="2"> </td></tr>
|
|
953
953
|
<tr class="memitem:aac5262378e41a3414a20cc9a41d4adc6"><td class="memItemLeft" align="right" valign="top">typedef llvm::SCEV </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#aac5262378e41a3414a20cc9a41d4adc6">SCEV</a></td></tr>
|
|
954
954
|
<tr class="separator:aac5262378e41a3414a20cc9a41d4adc6"><td class="memSeparator" colspan="2"> </td></tr>
|
|
955
|
+
<tr class="memitem:a1c7c7ac12791c0ae386283c0a4f127ba"><td class="memItemLeft" align="right" valign="top">typedef llvm::raw_fd_ostream </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">raw_fd_ostream</a></td></tr>
|
|
956
|
+
<tr class="memdesc:a1c7c7ac12791c0ae386283c0a4f127ba"><td class="mdescLeft"> </td><td class="mdescRight">LLVM outputs. <a href="#a1c7c7ac12791c0ae386283c0a4f127ba">More...</a><br /></td></tr>
|
|
957
|
+
<tr class="separator:a1c7c7ac12791c0ae386283c0a4f127ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
955
958
|
<tr class="memitem:a1eaed46fa67cf1a51e438c5f8f523418"><td class="memItemLeft" align="right" valign="top">typedef llvm::VectorType </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a1eaed46fa67cf1a51e438c5f8f523418">VectorType</a></td></tr>
|
|
956
959
|
<tr class="separator:a1eaed46fa67cf1a51e438c5f8f523418"><td class="memSeparator" colspan="2"> </td></tr>
|
|
957
960
|
<tr class="memitem:a1d008c0666c145622b81d427be64c52d"><td class="memItemLeft" align="right" valign="top">typedef llvm::Type </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a1d008c0666c145622b81d427be64c52d">Type</a></td></tr>
|
|
@@ -974,8 +977,6 @@ Typedefs</h2></td></tr>
|
|
|
974
977
|
<tr class="memitem:a726981481ac082dcda3e4921416b65a0"><td class="memItemLeft" align="right" valign="top">typedef llvm::raw_string_ostream </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a726981481ac082dcda3e4921416b65a0">raw_string_ostream</a></td></tr>
|
|
975
978
|
<tr class="memdesc:a726981481ac082dcda3e4921416b65a0"><td class="mdescLeft"> </td><td class="mdescRight">LLVM outputs. <a href="#a726981481ac082dcda3e4921416b65a0">More...</a><br /></td></tr>
|
|
976
979
|
<tr class="separator:a726981481ac082dcda3e4921416b65a0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
977
|
-
<tr class="memitem:a1c7c7ac12791c0ae386283c0a4f127ba"><td class="memItemLeft" align="right" valign="top">typedef llvm::raw_fd_ostream </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a1c7c7ac12791c0ae386283c0a4f127ba">raw_fd_ostream</a></td></tr>
|
|
978
|
-
<tr class="separator:a1c7c7ac12791c0ae386283c0a4f127ba"><td class="memSeparator" colspan="2"> </td></tr>
|
|
979
980
|
<tr class="memitem:a2bf58575ac7d068e0f1a4cf953b9e6cb"><td class="memItemLeft" align="right" valign="top">typedef llvm::StructType </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSVF.html#a2bf58575ac7d068e0f1a4cf953b9e6cb">StructType</a></td></tr>
|
|
980
981
|
<tr class="memdesc:a2bf58575ac7d068e0f1a4cf953b9e6cb"><td class="mdescLeft"> </td><td class="mdescRight">LLVM types. <a href="#a2bf58575ac7d068e0f1a4cf953b9e6cb">More...</a><br /></td></tr>
|
|
981
982
|
<tr class="separator:a2bf58575ac7d068e0f1a4cf953b9e6cb"><td class="memSeparator" colspan="2"> </td></tr>
|
|
@@ -1275,7 +1276,7 @@ Functions</h2></td></tr>
|
|
|
1275
1276
|
|
|
1276
1277
|
<p>LLVM Aliases and constants. </p>
|
|
1277
1278
|
|
|
1278
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
1279
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00087">87</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
1279
1280
|
|
|
1280
1281
|
</div>
|
|
1281
1282
|
</div>
|
|
@@ -1291,7 +1292,7 @@ Functions</h2></td></tr>
|
|
|
1291
1292
|
</table>
|
|
1292
1293
|
</div><div class="memdoc">
|
|
1293
1294
|
|
|
1294
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
1295
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00082">82</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
1295
1296
|
|
|
1296
1297
|
</div>
|
|
1297
1298
|
</div>
|
|
@@ -1469,7 +1470,7 @@ Functions</h2></td></tr>
|
|
|
1469
1470
|
|
|
1470
1471
|
<p>LLVM Instructions. </p>
|
|
1471
1472
|
|
|
1472
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
1473
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00097">97</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
1473
1474
|
|
|
1474
1475
|
</div>
|
|
1475
1476
|
</div>
|
|
@@ -1741,7 +1742,7 @@ Functions</h2></td></tr>
|
|
|
1741
1742
|
</table>
|
|
1742
1743
|
</div><div class="memdoc">
|
|
1743
1744
|
|
|
1744
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
1745
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00088">88</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
1745
1746
|
|
|
1746
1747
|
</div>
|
|
1747
1748
|
</div>
|
|
@@ -1757,7 +1758,7 @@ Functions</h2></td></tr>
|
|
|
1757
1758
|
</table>
|
|
1758
1759
|
</div><div class="memdoc">
|
|
1759
1760
|
|
|
1760
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
1761
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00089">89</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
1761
1762
|
|
|
1762
1763
|
</div>
|
|
1763
1764
|
</div>
|
|
@@ -1967,7 +1968,7 @@ Functions</h2></td></tr>
|
|
|
1967
1968
|
</table>
|
|
1968
1969
|
</div><div class="memdoc">
|
|
1969
1970
|
|
|
1970
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
1971
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00112">112</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
1971
1972
|
|
|
1972
1973
|
</div>
|
|
1973
1974
|
</div>
|
|
@@ -2273,7 +2274,7 @@ Functions</h2></td></tr>
|
|
|
2273
2274
|
</table>
|
|
2274
2275
|
</div><div class="memdoc">
|
|
2275
2276
|
|
|
2276
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
2277
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00084">84</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
2277
2278
|
|
|
2278
2279
|
</div>
|
|
2279
2280
|
</div>
|
|
@@ -2703,7 +2704,7 @@ Functions</h2></td></tr>
|
|
|
2703
2704
|
</table>
|
|
2704
2705
|
</div><div class="memdoc">
|
|
2705
2706
|
|
|
2706
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
2707
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00090">90</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
2707
2708
|
|
|
2708
2709
|
</div>
|
|
2709
2710
|
</div>
|
|
@@ -2767,7 +2768,7 @@ Functions</h2></td></tr>
|
|
|
2767
2768
|
</table>
|
|
2768
2769
|
</div><div class="memdoc">
|
|
2769
2770
|
|
|
2770
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
2771
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00108">108</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
2771
2772
|
|
|
2772
2773
|
</div>
|
|
2773
2774
|
</div>
|
|
@@ -2847,7 +2848,7 @@ Functions</h2></td></tr>
|
|
|
2847
2848
|
</table>
|
|
2848
2849
|
</div><div class="memdoc">
|
|
2849
2850
|
|
|
2850
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
2851
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00109">109</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
2851
2852
|
|
|
2852
2853
|
</div>
|
|
2853
2854
|
</div>
|
|
@@ -2975,7 +2976,7 @@ Functions</h2></td></tr>
|
|
|
2975
2976
|
</table>
|
|
2976
2977
|
</div><div class="memdoc">
|
|
2977
2978
|
|
|
2978
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
2979
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00099">99</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
2979
2980
|
|
|
2980
2981
|
</div>
|
|
2981
2982
|
</div>
|
|
@@ -3075,7 +3076,7 @@ template<typename Key , typename Value , typename Hash = Hash<Key>, ty
|
|
|
3075
3076
|
</table>
|
|
3076
3077
|
</div><div class="memdoc">
|
|
3077
3078
|
|
|
3078
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
3079
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00094">94</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3079
3080
|
|
|
3080
3081
|
</div>
|
|
3081
3082
|
</div>
|
|
@@ -3221,7 +3222,7 @@ template<typename Key , typename Value , typename Hash = Hash<Key>, ty
|
|
|
3221
3222
|
|
|
3222
3223
|
<p>LLVM metadata. </p>
|
|
3223
3224
|
|
|
3224
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
3225
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00093">93</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3225
3226
|
|
|
3226
3227
|
</div>
|
|
3227
3228
|
</div>
|
|
@@ -3561,7 +3562,7 @@ template<typename Key , typename Compare = std::less<Key>, typename Al
|
|
|
3561
3562
|
</table>
|
|
3562
3563
|
</div><div class="memdoc">
|
|
3563
3564
|
|
|
3564
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
3565
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00083">83</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3565
3566
|
|
|
3566
3567
|
</div>
|
|
3567
3568
|
</div>
|
|
@@ -3609,7 +3610,9 @@ template<typename Key , typename Compare = std::less<Key>, typename Al
|
|
|
3609
3610
|
</table>
|
|
3610
3611
|
</div><div class="memdoc">
|
|
3611
3612
|
|
|
3612
|
-
<p
|
|
3613
|
+
<p>LLVM outputs. </p>
|
|
3614
|
+
|
|
3615
|
+
<p class="definition">Definition at line <a class="el" href="SVF-FE_2BasicTypes_8h_source.html#l00192">192</a> of file <a class="el" href="SVF-FE_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3613
3616
|
|
|
3614
3617
|
</div>
|
|
3615
3618
|
</div>
|
|
@@ -3885,7 +3888,7 @@ template<typename Key , typename Hash = Hash<Key>, typename KeyEqual
|
|
|
3885
3888
|
</table>
|
|
3886
3889
|
</div><div class="memdoc">
|
|
3887
3890
|
|
|
3888
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
3891
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00098">98</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3889
3892
|
|
|
3890
3893
|
</div>
|
|
3891
3894
|
</div>
|
|
@@ -3935,7 +3938,7 @@ template<typename Key , typename Hash = Hash<Key>, typename KeyEqual
|
|
|
3935
3938
|
|
|
3936
3939
|
<p>LLVM types. </p>
|
|
3937
3940
|
|
|
3938
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
3941
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00081">81</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3939
3942
|
|
|
3940
3943
|
</div>
|
|
3941
3944
|
</div>
|
|
@@ -3953,7 +3956,7 @@ template<typename Key , typename Hash = Hash<Key>, typename KeyEqual
|
|
|
3953
3956
|
|
|
3954
3957
|
<p>LLVM Iterators. </p>
|
|
3955
3958
|
|
|
3956
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
3959
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00106">106</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
3957
3960
|
|
|
3958
3961
|
</div>
|
|
3959
3962
|
</div>
|
|
@@ -4275,7 +4278,7 @@ template<typename Key , typename Hash = Hash<Key>, typename KeyEqual
|
|
|
4275
4278
|
</table>
|
|
4276
4279
|
</div><div class="memdoc">
|
|
4277
4280
|
|
|
4278
|
-
<p class="definition">Definition at line <a class="el" href="SVF-FE_2BasicTypes_8h_source.html#
|
|
4281
|
+
<p class="definition">Definition at line <a class="el" href="SVF-FE_2BasicTypes_8h_source.html#l00195">195</a> of file <a class="el" href="SVF-FE_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
4279
4282
|
|
|
4280
4283
|
</div>
|
|
4281
4284
|
</div>
|
|
@@ -4924,8 +4927,8 @@ template<typename F , typename S > </div>
|
|
|
4924
4927
|
</table>
|
|
4925
4928
|
</div><div class="memdoc">
|
|
4926
4929
|
|
|
4927
|
-
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#
|
|
4928
|
-
<div class="fragment"><div class="line"><a name="
|
|
4930
|
+
<p class="definition">Definition at line <a class="el" href="Util_2BasicTypes_8h_source.html#l00367">367</a> of file <a class="el" href="Util_2BasicTypes_8h_source.html">BasicTypes.h</a>.</p>
|
|
4931
|
+
<div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno"> 368</span> {</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  o << <span class="stringliteral">"<"</span> << var.first << <span class="stringliteral">", "</span> << var.second << <span class="stringliteral">">"</span>;</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">return</span> o;</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> }</div></div><!-- fragment -->
|
|
4929
4932
|
</div>
|
|
4930
4933
|
</div>
|
|
4931
4934
|
<a id="aec4534b227e8f43b9077e708b74817fa"></a>
|
|
@@ -271,8 +271,8 @@ Functions</h2></td></tr>
|
|
|
271
271
|
|
|
272
272
|
<p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00128">128</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
|
|
273
273
|
<div class="fragment"><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> {</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a>* svffun = LLVMModuleSet::getLLVMModuleSet()->getSVFFunction(fun);</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#a22ef185e767ff76c098e75126c885400">SVFUtil::isExtCall</a>(svffun))</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">return</span> fun->getReturnType()->isVoidTy();</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>  std::vector<const BasicBlock*> bbVec;</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="namespaceSVF.html#af739db846e47ba6b2fd15eaad31ab7fb">Set<const BasicBlock*></a> visited;</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  bbVec.push_back(&fun->getEntryBlock());</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">while</span>(!bbVec.empty())</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* bb = bbVec.back();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  bbVec.pop_back();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">for</span> (BasicBlock::const_iterator it = bb->begin(), eit = bb->end();</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  it != eit; ++it)</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">if</span>(SVFUtil::isa<ReturnInst>(*it))</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</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">for</span> (<a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a> sit = succ_begin(bb), esit = succ_end(bb);</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  sit != esit; ++sit)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a>* succbb = (*sit);</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordflow">if</span>(visited.find(succbb)==visited.end())</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  visited.insert(succbb);</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  bbVec.push_back(succbb);</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment">// if(isProgEntryFunction(fun)==false) {</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment">// writeWrnMsg(fun->getName().str() + " does not have return");</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment">// }</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div><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>
|
|
274
|
-
<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#
|
|
275
|
-
<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#
|
|
274
|
+
<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>
|
|
275
|
+
<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>
|
|
276
276
|
<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>
|
|
277
277
|
<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>
|
|
278
278
|
</div><!-- fragment -->
|
|
@@ -490,7 +490,7 @@ Functions</h2></td></tr>
|
|
|
490
490
|
<div class="ttc" id="namespaceSVF_html_a827d09974dc7bf0849f96823cc2fee89"><div class="ttname"><a href="namespaceSVF.html#a827d09974dc7bf0849f96823cc2fee89">SVF::DomTreeNode</a></div><div class="ttdeci">llvm::DomTreeNode DomTreeNode</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00073">BasicTypes.h:73</a></div></div>
|
|
491
491
|
<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>
|
|
492
492
|
<div class="ttc" id="namespaceSVF_html_aecbb42b8e9d17fa0189c50dda9fd5fdd"><div class="ttname"><a href="namespaceSVF.html#aecbb42b8e9d17fa0189c50dda9fd5fdd">SVF::DominatorTree</a></div><div class="ttdeci">llvm::DominatorTree DominatorTree</div><div class="ttdoc">LLVM Dominators. </div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
|
|
493
|
-
<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#
|
|
493
|
+
<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>
|
|
494
494
|
<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>
|
|
495
495
|
</div><!-- fragment -->
|
|
496
496
|
</div>
|
|
@@ -526,7 +526,7 @@ Functions</h2></td></tr>
|
|
|
526
526
|
<p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00259">259</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
|
|
527
527
|
<div class="fragment"><div class="line"><a name="l00260"></a><span class="lineno"> 260</span> {</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordflow">if</span> (!curInst->isTerminator())</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  {</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* nextInst = curInst->getNextNode();</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVFUtil::isIntrinsicInst</a>(nextInst))</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a752d53b6b65d892d0e579aafe70083b4">getNextInsts</a>(nextInst, instList);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  instList.push_back(nextInst);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">else</span></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="namespaceSVF.html#a23bf614858f168b6ad76e0233cec9965">BasicBlock</a> *BB = curInst->getParent();</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="comment">// Visit all successors of BB in the CFG</span></div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a3436a988bf80c021cd8022fb445b66d5">succ_const_iterator</a> it = succ_begin(BB), ie = succ_end(BB); it != ie; ++it)</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  {</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* nextInst = &((*it)->front());</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVFUtil::isIntrinsicInst</a>(nextInst))</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a752d53b6b65d892d0e579aafe70083b4">getNextInsts</a>(nextInst, instList);</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  instList.push_back(nextInst);</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  }</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> }</div><div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab7f58caf27c30a1d414e06f60ca84d80"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab7f58caf27c30a1d414e06f60ca84d80">SVF::SVFUtil::isIntrinsicInst</a></div><div class="ttdeci">bool isIntrinsicInst(const Instruction *inst)</div><div class="ttdoc">Return true if it is an intrinsic instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00181">SVFUtil.h:181</a></div></div>
|
|
528
528
|
<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>
|
|
529
|
-
<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#
|
|
529
|
+
<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>
|
|
530
530
|
<div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
|
|
531
531
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_a752d53b6b65d892d0e579aafe70083b4"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a752d53b6b65d892d0e579aafe70083b4">SVF::LLVMUtil::getNextInsts</a></div><div class="ttdeci">void getNextInsts(const Instruction *curInst, std::vector< const Instruction *> &instList)</div><div class="ttdoc">Get the next instructions following control flow. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00259">LLVMUtil.cpp:259</a></div></div>
|
|
532
532
|
</div><!-- fragment -->
|
|
@@ -624,7 +624,7 @@ Functions</h2></td></tr>
|
|
|
624
624
|
<p>Get the reference type of heap/static object from an allocation site. </p>
|
|
625
625
|
|
|
626
626
|
<p class="definition">Definition at line <a class="el" href="LLVMUtil_8h_source.html#l00085">85</a> of file <a class="el" href="LLVMUtil_8h_source.html">LLVMUtil.h</a>.</p>
|
|
627
|
-
<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a> *refType = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// Case 1: heap object held by *argument, we should get its element type.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVFUtil::isHeapAllocExtCallViaArg</a>(cs))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">int</span> argPos = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVFUtil::getHeapAllocHoldingArgPosition</a>(cs);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *arg = cs.getArgument(argPos);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a> *argType = SVFUtil::dyn_cast<PointerType>(arg->getType()))</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  refType = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(argType));</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// Case 2: heap/static object held by return value.</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  assert((<a class="code" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">SVFUtil::isStaticExtCall</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVFUtil::isHeapAllocExtCallViaRet</a>(cs))</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  && <span class="stringliteral">"Must be heap alloc via ret, or static allocation site"</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  refType = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(cs.getType());</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  assert(refType && <span class="stringliteral">"Allocated object must be held by a pointer-typed value."</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> refType;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div><div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
627
|
+
<div class="fragment"><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> {</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a> *refType = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">// Case 1: heap object held by *argument, we should get its element type.</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVFUtil::isHeapAllocExtCallViaArg</a>(cs))</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  {</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordtype">int</span> argPos = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVFUtil::getHeapAllocHoldingArgPosition</a>(cs);</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *arg = cs.getArgument(argPos);</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a> *argType = SVFUtil::dyn_cast<PointerType>(arg->getType()))</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  refType = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(argType));</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// Case 2: heap/static object held by return value.</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  {</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  assert((<a class="code" href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">SVFUtil::isStaticExtCall</a>(cs) || <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVFUtil::isHeapAllocExtCallViaRet</a>(cs))</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  && <span class="stringliteral">"Must be heap alloc via ret, or static allocation site"</span>);</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  refType = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(cs.getType());</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  }</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  assert(refType && <span class="stringliteral">"Allocated object must be held by a pointer-typed value."</span>);</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> refType;</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div><div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
|
|
628
628
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aedfa6e9216c6c788c26aef1967689b76"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00484">SVFUtil.h:484</a></div></div>
|
|
629
629
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab2064cb70c76f399ce115f2621adea35"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const CallSite cs)</div><div class="ttdoc">interfaces to be used externally </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00495">SVFUtil.h:495</a></div></div>
|
|
630
630
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ae62938f722543d6d7fc201b685be1abf"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ae62938f722543d6d7fc201b685be1abf">SVF::SVFUtil::isStaticExtCall</a></div><div class="ttdeci">bool isStaticExtCall(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00553">SVFUtil.h:553</a></div></div>
|
|
@@ -684,16 +684,16 @@ Functions</h2></td></tr>
|
|
|
684
684
|
<p>Return the type of the object from a heap allocation </p>
|
|
685
685
|
|
|
686
686
|
<p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00335">335</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
|
|
687
|
-
<div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(inst->getType());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVFUtil::isHeapAllocExtCallViaRet</a>(inst))</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* v = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a837d19c740902c419206287bdb21273b">getUniqueUseViaCastInst</a>(inst))</div><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>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* newTy = SVFUtil::dyn_cast<PointerType>(v->getType()))</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  type = newTy;</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>  }</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVFUtil::isHeapAllocExtCallViaArg</a>(inst))</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(inst);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordtype">int</span> arg_pos = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVFUtil::getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(cs));</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *arg = cs.<a class="code" href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">getArgument</a>(arg_pos);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  type = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(arg->getType());</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">else</span></div><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>  assert( <span class="keyword">false</span> && <span class="stringliteral">"not a heap allocation instruction?"</span>);</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> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  assert(type && <span class="stringliteral">"not a pointer type?"</span>);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(type);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div><div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
687
|
+
<div class="fragment"><div class="line"><a name="l00336"></a><span class="lineno"> 336</span> {</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(inst->getType());</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span> </div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVFUtil::isHeapAllocExtCallViaRet</a>(inst))</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  {</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a>* v = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#a837d19c740902c419206287bdb21273b">getUniqueUseViaCastInst</a>(inst))</div><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>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>* newTy = SVFUtil::dyn_cast<PointerType>(v->getType()))</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  type = newTy;</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>  }</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVFUtil::isHeapAllocExtCallViaArg</a>(inst))</div><div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVFUtil::getLLVMCallSite</a>(inst);</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="keywordtype">int</span> arg_pos = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVFUtil::getHeapAllocHoldingArgPosition</a>(<a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(cs));</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">Value</a> *arg = cs.<a class="code" href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">getArgument</a>(arg_pos);</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  type = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(arg->getType());</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  }</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="keywordflow">else</span></div><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>  assert( <span class="keyword">false</span> && <span class="stringliteral">"not a heap allocation instruction?"</span>);</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> </div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  assert(type && <span class="stringliteral">"not a pointer type?"</span>);</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(type);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div><div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
|
|
688
688
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_a837d19c740902c419206287bdb21273b"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a837d19c740902c419206287bdb21273b">SVF::LLVMUtil::getUniqueUseViaCastInst</a></div><div class="ttdeci">const Value * getUniqueUseViaCastInst(const Value *val)</div><div class="ttdoc">Return the bitcast instruction which is val&#39;s only use site, otherwise return nullptr. </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00316">LLVMUtil.cpp:316</a></div></div>
|
|
689
|
-
<div class="ttc" id="classSVF_1_1CallSite_html_a26a594d36bbb5b77e7085502812d9ca2"><div class="ttname"><a href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">SVF::CallSite::getArgument</a></div><div class="ttdeci">Value * getArgument(unsigned ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
689
|
+
<div class="ttc" id="classSVF_1_1CallSite_html_a26a594d36bbb5b77e7085502812d9ca2"><div class="ttname"><a href="classSVF_1_1CallSite.html#a26a594d36bbb5b77e7085502812d9ca2">SVF::CallSite::getArgument</a></div><div class="ttdeci">Value * getArgument(unsigned ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00306">BasicTypes.h:306</a></div></div>
|
|
690
690
|
<div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
691
691
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_aedfa6e9216c6c788c26aef1967689b76"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#aedfa6e9216c6c788c26aef1967689b76">SVF::SVFUtil::isHeapAllocExtCallViaArg</a></div><div class="ttdeci">bool isHeapAllocExtCallViaArg(const CallSite cs)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00484">SVFUtil.h:484</a></div></div>
|
|
692
692
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_ab2064cb70c76f399ce115f2621adea35"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab2064cb70c76f399ce115f2621adea35">SVF::SVFUtil::isHeapAllocExtCallViaRet</a></div><div class="ttdeci">bool isHeapAllocExtCallViaRet(const CallSite cs)</div><div class="ttdoc">interfaces to be used externally </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00495">SVFUtil.h:495</a></div></div>
|
|
693
693
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00269">SVFUtil.h:269</a></div></div>
|
|
694
694
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a73215bac62f1340a58f6c7f2ba9b0e7b"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a73215bac62f1340a58f6c7f2ba9b0e7b">SVF::SVFUtil::getHeapAllocHoldingArgPosition</a></div><div class="ttdeci">int getHeapAllocHoldingArgPosition(const SVFFunction *fun)</div><div class="ttdoc">Get the position of argument that holds an allocated heap object. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00367">SVFUtil.h:367</a></div></div>
|
|
695
695
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a202de7ad2bea0311e2f75894c030e7a9"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a202de7ad2bea0311e2f75894c030e7a9">SVF::SVFUtil::getLLVMCallSite</a></div><div class="ttdeci">CallSite getLLVMCallSite(const Instruction *inst)</div><div class="ttdoc">Return LLVM callsite given a instruction. </div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00217">SVFUtil.h:217</a></div></div>
|
|
696
|
-
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
696
|
+
<div class="ttc" id="classSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00294">BasicTypes.h:294</a></div></div>
|
|
697
697
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
698
698
|
<div class="ttc" id="namespaceSVF_html_a90b263fd2f541eca78135078114cabda"><div class="ttname"><a href="namespaceSVF.html#a90b263fd2f541eca78135078114cabda">SVF::Value</a></div><div class="ttdeci">llvm::Value Value</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00071">BasicTypes.h:71</a></div></div>
|
|
699
699
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_abba4111230f6009bbf50518ee36a9870"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">SVF::LLVMUtil::getPtrElementType</a></div><div class="ttdeci">static Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00073">LLVMUtil.h:73</a></div></div>
|
|
@@ -778,12 +778,12 @@ Functions</h2></td></tr>
|
|
|
778
778
|
|
|
779
779
|
<p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00316">316</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
|
|
780
780
|
<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> {</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a> * <a class="code" href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a> = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">PointerType</a>>(val->getType());</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  assert(type && <span class="stringliteral">"this value should be a pointer type!"</span>);</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">if</span> (<a class="code" href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">IntegerType</a> *IT = SVFUtil::dyn_cast<IntegerType>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">getPtrElementType</a>(type)))</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  {</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">if</span> (IT->getBitWidth() == 8 && val->getNumUses()==1)</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>  <span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a334998718813a19a7697daf4ba282faf">Use</a> *u = &*val->use_begin();</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordflow">return</span> <a class="code" href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVFUtil::dyn_cast</a><<a class="code" href="namespaceSVF.html#afc50da46a6ea7c2cf61683bbec4d7c8d">BitCastInst</a>>(u->getUser());</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">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span> }</div><div class="ttc" id="namespaceSVF_html_a334998718813a19a7697daf4ba282faf"><div class="ttname"><a href="namespaceSVF.html#a334998718813a19a7697daf4ba282faf">SVF::Use</a></div><div class="ttdeci">llvm::Use Use</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00036">BasicTypes.h:36</a></div></div>
|
|
781
|
-
<div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
781
|
+
<div class="ttc" id="namespaceSVF_html_aa962cc1d782cc46553251e96b64a754b"><div class="ttname"><a href="namespaceSVF.html#aa962cc1d782cc46553251e96b64a754b">SVF::PointerType</a></div><div class="ttdeci">llvm::PointerType PointerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00083">BasicTypes.h:83</a></div></div>
|
|
782
782
|
<div class="ttc" id="cJSON_8cpp_html_a3f9a0d3265a6254722587175dac3e4dc"><div class="ttname"><a href="cJSON_8cpp.html#a3f9a0d3265a6254722587175dac3e4dc">type</a></div><div class="ttdeci">newitem type</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l02739">cJSON.cpp:2739</a></div></div>
|
|
783
783
|
<div class="ttc" id="namespaceSVF_html_afc50da46a6ea7c2cf61683bbec4d7c8d"><div class="ttname"><a href="namespaceSVF.html#afc50da46a6ea7c2cf61683bbec4d7c8d">SVF::BitCastInst</a></div><div class="ttdeci">llvm::BitCastInst BitCastInst</div><div class="ttdef"><b>Definition:</b> <a href="SVF-FE_2BasicTypes_8h_source.html#l00087">BasicTypes.h:87</a></div></div>
|
|
784
784
|
<div class="ttc" id="namespaceSVF_1_1SVFUtil_html_a8182be247907420db00837cef9bcfa70"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a8182be247907420db00837cef9bcfa70">SVF::SVFUtil::dyn_cast</a></div><div class="ttdeci">LLVM_NODISCARD std::enable_if<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type >::type dyn_cast(const Y &Val)</div><div class="ttdef"><b>Definition:</b> <a href="Casting_8h_source.html#l00343">Casting.h:343</a></div></div>
|
|
785
785
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_abba4111230f6009bbf50518ee36a9870"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#abba4111230f6009bbf50518ee36a9870">SVF::LLVMUtil::getPtrElementType</a></div><div class="ttdeci">static Type * getPtrElementType(const PointerType *pty)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00073">LLVMUtil.h:73</a></div></div>
|
|
786
|
-
<div class="ttc" id="namespaceSVF_html_a3d9e7f32dc17fe8d40f8d6a011403b91"><div class="ttname"><a href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">SVF::IntegerType</a></div><div class="ttdeci">llvm::IntegerType IntegerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
786
|
+
<div class="ttc" id="namespaceSVF_html_a3d9e7f32dc17fe8d40f8d6a011403b91"><div class="ttname"><a href="namespaceSVF.html#a3d9e7f32dc17fe8d40f8d6a011403b91">SVF::IntegerType</a></div><div class="ttdeci">llvm::IntegerType IntegerType</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00109">BasicTypes.h:109</a></div></div>
|
|
787
787
|
</div><!-- fragment -->
|
|
788
788
|
</div>
|
|
789
789
|
</div>
|
|
@@ -1186,7 +1186,7 @@ Functions</h2></td></tr>
|
|
|
1186
1186
|
|
|
1187
1187
|
<p class="definition">Definition at line <a class="el" href="LLVMUtil_8cpp_source.html#l00202">202</a> of file <a class="el" href="LLVMUtil_8cpp_source.html">LLVMUtil.cpp</a>.</p>
|
|
1188
1188
|
<div class="fragment"><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> {</div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">Instruction</a>* inst = SVFUtil::dyn_cast<Instruction>(value))</div><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>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a2c61d741afbcfa853b505cd391f29f9b">isUncalledFunction</a>(inst->getParent()->getParent()))</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  }</div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">Argument</a>* arg = SVFUtil::dyn_cast<Argument>(value))</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  {</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordflow">if</span>(<a class="code" href="namespaceSVF_1_1LLVMUtil.html#a2c61d741afbcfa853b505cd391f29f9b">isUncalledFunction</a>(arg->getParent()))</div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> }</div><div class="ttc" id="namespaceSVF_html_a7875172ff434b2210eea7cecfbbd959e"><div class="ttname"><a href="namespaceSVF.html#a7875172ff434b2210eea7cecfbbd959e">SVF::Instruction</a></div><div class="ttdeci">llvm::Instruction Instruction</div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00072">BasicTypes.h:72</a></div></div>
|
|
1189
|
-
<div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#
|
|
1189
|
+
<div class="ttc" id="namespaceSVF_html_a58cdfbc4160cae08745b67844ac29801"><div class="ttname"><a href="namespaceSVF.html#a58cdfbc4160cae08745b67844ac29801">SVF::Argument</a></div><div class="ttdeci">llvm::Argument Argument</div><div class="ttdoc">LLVM Aliases and constants. </div><div class="ttdef"><b>Definition:</b> <a href="Util_2BasicTypes_8h_source.html#l00087">BasicTypes.h:87</a></div></div>
|
|
1190
1190
|
<div class="ttc" id="namespaceSVF_1_1LLVMUtil_html_a2c61d741afbcfa853b505cd391f29f9b"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#a2c61d741afbcfa853b505cd391f29f9b">SVF::LLVMUtil::isUncalledFunction</a></div><div class="ttdeci">bool isUncalledFunction(const Function *fun)</div><div class="ttdoc">whether this is a function without any possible caller? </div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00169">LLVMUtil.cpp:169</a></div></div>
|
|
1191
1191
|
</div><!-- fragment -->
|
|
1192
1192
|
</div>
|